Blame view

vendor/bower-asset/jquery/build/tasks/dist.js 1.79 KB
b2a15e0c   Dmitryi   роли и права поль...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
  module.exports = function( grunt ) {
  
  	"use strict";
  
  	var fs = require( "fs" ),
  		distpaths = [
  			"dist/jquery.js",
  			"dist/jquery.min.map",
  			"dist/jquery.min.js"
  		];
  
  	// Process files for distribution
  	grunt.registerTask( "dist", function() {
  		var stored, flags, paths, nonascii;
  
  		// Check for stored destination paths
  		// ( set in dist/.destination.json )
  		stored = Object.keys( grunt.config( "dst" ) );
  
  		// Allow command line input as well
  		flags = Object.keys( this.flags );
  
  		// Combine all output target paths
  		paths = [].concat( stored, flags ).filter(function( path ) {
  			return path !== "*";
  		});
  
  		// Ensure the dist files are pure ASCII
  		nonascii = false;
  
  		distpaths.forEach(function( filename ) {
  			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;
  			}
  
  			// 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++ ) {
  					c = text.charCodeAt( i );
  					if ( c > 127 ) {
  						grunt.log.writeln( "- position " + i + ": " + c );
  						grunt.log.writeln( "-- " + text.substring( i - 20, i + 20 ) );
  						break;
  					}
  				}
  				nonascii = true;
  			}
  
  			// Optionally copy dist files to other locations
  			paths.forEach(function( path ) {
  				var created;
  
  				if ( !/\/$/.test( path ) ) {
  					path += "/";
  				}
  
  				created = path + filename.replace( "dist/", "" );
  				grunt.file.write( created, text );
  				grunt.log.writeln( "File '" + created + "' created." );
  			});
  		});
  
  		return !nonascii;
  	});
  };