mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
c4e88083d2
grunt-contrib-jshint 0.7.1 allows the jshintrc option to be set to true to have
it read the appropriate config file based on the file being checked. The only
place where we can’t use it is the check for dist/jquery.js that has the onevar
option removed.
(cherry-picked from 7deee6af72
)
Fixes #14504
147 lines
3.0 KiB
JavaScript
147 lines
3.0 KiB
JavaScript
module.exports = function( grunt ) {
|
|
"use strict";
|
|
|
|
function readOptionalJSON( filepath ) {
|
|
var data = {};
|
|
try {
|
|
data = grunt.file.readJSON( filepath );
|
|
} catch ( e ) {}
|
|
return data;
|
|
}
|
|
|
|
var gzip = require( "gzip-js" ),
|
|
srcHintOptions = readOptionalJSON( "src/.jshintrc" );
|
|
|
|
// The concatenated file won't pass onevar
|
|
// But our modules can
|
|
delete srcHintOptions.onevar;
|
|
|
|
grunt.initConfig({
|
|
pkg: grunt.file.readJSON( "package.json" ),
|
|
dst: readOptionalJSON( "dist/.destination.json" ),
|
|
compare_size: {
|
|
files: [ "dist/jquery.js", "dist/jquery.min.js" ],
|
|
options: {
|
|
compress: {
|
|
gz: function( contents ) {
|
|
return gzip.zip( contents, {} ).length;
|
|
}
|
|
},
|
|
cache: "build/.sizecache.json"
|
|
}
|
|
},
|
|
build: {
|
|
all: {
|
|
dest: "dist/jquery.js",
|
|
minimum: [
|
|
"core",
|
|
"selector"
|
|
],
|
|
removeWith: {
|
|
ajax: [ "manipulation/_evalUrl" ],
|
|
callbacks: [ "deferred" ],
|
|
css: [ "effects", "dimensions", "offset" ]
|
|
}
|
|
}
|
|
},
|
|
bowercopy: {
|
|
options: {
|
|
clean: true
|
|
},
|
|
src: {
|
|
files: {
|
|
"src/sizzle": "sizzle"
|
|
}
|
|
},
|
|
tests: {
|
|
options: {
|
|
destPrefix: "test/libs"
|
|
},
|
|
files: {
|
|
"qunit": "qunit/qunit",
|
|
"require.js": "requirejs/require.js"
|
|
}
|
|
}
|
|
},
|
|
jsonlint: {
|
|
pkg: {
|
|
src: [ "package.json" ]
|
|
},
|
|
|
|
jscs: {
|
|
src: [ ".jscs.json" ]
|
|
},
|
|
|
|
bower: {
|
|
src: [ "bower.json" ]
|
|
}
|
|
},
|
|
jshint: {
|
|
all: {
|
|
src: [
|
|
"src/**/*.js", "Gruntfile.js", "test/**/*.js", "build/tasks/*",
|
|
"build/{bower-install,release-notes,release}.js"
|
|
],
|
|
options: {
|
|
jshintrc: true
|
|
}
|
|
},
|
|
dist: {
|
|
src: "dist/jquery.js",
|
|
options: srcHintOptions
|
|
}
|
|
},
|
|
jscs: {
|
|
src: "src/**/*.js",
|
|
gruntfile: "Gruntfile.js",
|
|
tasks: "build/tasks/*.js"
|
|
},
|
|
testswarm: {
|
|
tests: "ajax attributes callbacks core css data deferred dimensions effects event manipulation offset queue selector serialize support traversing Sizzle".split( " " )
|
|
},
|
|
watch: {
|
|
files: [ "<%= jshint.grunt.src %>", "<%= jshint.tests.src %>", "src/**/*.js" ],
|
|
tasks: "dev"
|
|
},
|
|
uglify: {
|
|
all: {
|
|
files: {
|
|
"dist/jquery.min.js": [ "dist/jquery.js" ]
|
|
},
|
|
options: {
|
|
preserveComments: false,
|
|
sourceMap: "dist/jquery.min.map",
|
|
sourceMappingURL: "jquery.min.map",
|
|
report: "min",
|
|
beautify: {
|
|
ascii_only: true
|
|
},
|
|
banner: "/*! jQuery v<%= pkg.version %> | " +
|
|
"(c) 2005, 2013 jQuery Foundation, Inc. | " +
|
|
"jquery.org/license */",
|
|
compress: {
|
|
hoist_funs: false,
|
|
loops: false,
|
|
unused: false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
// Load grunt tasks from NPM packages
|
|
require( "load-grunt-tasks" )( grunt );
|
|
|
|
// Integrate jQuery specific tasks
|
|
grunt.loadTasks( "build/tasks" );
|
|
|
|
// Alias bower to bowercopy
|
|
grunt.registerTask( "bower", "bowercopy" );
|
|
|
|
// Short list as a high frequency watch task
|
|
grunt.registerTask( "dev", [ "build:*:*", "jshint", "jscs" ] );
|
|
|
|
// Default grunt
|
|
grunt.registerTask( "default", [ "jsonlint", "dev", "uglify", "dist:*", "compare_size" ] );
|
|
};
|