]> source.dussan.org Git - jquery.git/commitdiff
Fix #12471. Use consistent line endings in jquery.js
authorDave Methvin <dave.methvin@gmail.com>
Sat, 5 Jan 2013 18:11:01 +0000 (13:11 -0500)
committerDave Methvin <dave.methvin@gmail.com>
Sun, 6 Jan 2013 14:55:51 +0000 (09:55 -0500)
Gruntfile.js

index 12f2177f276395e03d1599e75bb8540d1a2fdb2a..7a0c33c67708b897529c3b06e9c8f6247af1aea4 100644 (file)
@@ -189,8 +189,8 @@ module.exports = function( grunt ) {
 
                grunt.verbose.write("Injected sizzle-jquery.js into sizzle.js");
 
-               // Write concatenated source to file
-               grunt.file.write( name, compiled );
+               // Write concatenated source to file, and ensure newline-only termination
+               grunt.file.write( name, compiled.replace( /\x0d\x0a/g, "\x0a" ) );
 
                // Fail task if errors were logged.
                if ( this.errorCount ) {
@@ -409,8 +409,17 @@ module.exports = function( grunt ) {
                        nonascii = false;
 
                distpaths.forEach(function( filename ) {
-                       var text = fs.readFileSync( filename, "utf8" ),
-                       i, c;
+                       var i, c,
+                               text = fs.readFileSync( filename, "utf8" );
+
+                       // Ensure files use only \n for line endings, not \r\n
+                       if ( /\x0d\x0a/.test( text ) ) {
+                               grunt.log.writeln( filename + ": Incorrect line endings (\\r\\n)" );
+                               nonascii = true;
+                               return;
+                       }
+
+                       // Ensure only ASCII chars so script tags don't need a charset attribute
                        if ( text.length !== Buffer.byteLength( text, "utf8" ) ) {
                                grunt.log.writeln( filename + ": Non-ASCII characters detected:" );
                                for ( i = 0; i < text.length; i++ ) {
@@ -418,10 +427,10 @@ module.exports = function( grunt ) {
                                        if ( c > 127 ) {
                                                grunt.log.writeln( "- position " + i + ": " + c );
                                                grunt.log.writeln( "-- " + text.substring( i - 20, i + 20 ) );
-                                               nonascii = true;
                                                break;
                                        }
                                }
+                               nonascii = true;
                        }
 
                        // Modify map so that it points to files in the same folder;