]> source.dussan.org Git - jquery.git/commitdiff
Update the map reference in each minified file.
authorDave Methvin <dave.methvin@gmail.com>
Fri, 17 May 2013 02:48:02 +0000 (22:48 -0400)
committerDave Methvin <dave.methvin@gmail.com>
Fri, 17 May 2013 03:04:38 +0000 (23:04 -0400)
(cherry picked from commit ebc7899ba1ba6e8306066b5bd4d3e14f0d2d8aad)

build/release.js

index 3a0f139b3fcce75ad87b77f57fc41c19e38411f5..857964a138c7e2306a018391875702b4aa4d9946 100644 (file)
@@ -149,10 +149,10 @@ function makeReleaseCopies( next ) {
        Object.keys( releaseFiles ).forEach(function( key ) {
                var text,
                        builtFile = releaseFiles[ key ],
-                       releaseFile = key.replace( /VER/g, releaseVersion );
+                       releaseFile = "dist/" + key.replace( /VER/g, releaseVersion );
 
                // Beta releases don't update the jquery-latest etc. copies
-               if ( !isBeta || key !== releaseFile ) {
+               if ( !isBeta || key.indexOf( "VER" ) >= 0 ) {
 
                        if ( /\.map$/.test( releaseFile ) ) {
                                // Map files need to reference the new uncompressed name;
@@ -162,10 +162,17 @@ function makeReleaseCopies( next ) {
                                        .replace( /"file":"([^"]+)","sources":\["([^"]+)"\]/,
                                                "\"file\":\"" + releaseFile.replace( /\.min\.map/, ".min.js" ) +
                                                "\",\"sources\":[\"" + releaseFile.replace( /\.min\.map/, ".js" ) + "\"]" );
-                               console.log( "Modifying map " + builtFile + " to " + releaseFile );
-                               fs.writeFileSync( "dist/" + releaseFile, text );
-                       } else {
-                               copy( builtFile, "dist/" + releaseFile );
+                               fs.writeFileSync( releaseFile, text );
+                       } else if ( /\.min\.js$/.test( releaseFile ) ) {
+                               // Minified files point back to the corresponding map;
+                               // again assume one big happy directory.
+                               // "//@ sourceMappingURL=jquery.min.map"
+                               text = fs.readFileSync( builtFile, "utf8" )
+                                       .replace( /\/\/@ sourceMappingURL=\S+/,
+                                               "//@ sourceMappingURL=" + releaseFile.replace( /\.js$/, ".map" ) );
+                               fs.writeFileSync( releaseFile, text );
+                       } else if ( builtFile !== releaseFile ) {
+                               copy( builtFile, releaseFile );
                        }
 
                        jQueryFilesCDN.push( releaseFile );