Permalink
Browse files

Build: Drop support for building on Node.js 0.12

Node.js 0.12 is no longer supported by upstream. So far we had to keep
a workaround that would skip running ESLint there (or even load its task)
as it no longer supports Node.js <4; the same applied to Node smoke tests
as jsdom has also dropped support for those old Node versions. Those
workarounds have been removed now.

Ref 030191a
Closes gh-3478
  • Loading branch information...
mgol committed Dec 30, 2016
1 parent bd9145f commit d10ac0e532a9376106c50f0c21a0d0fd0483b700
Showing with 11 additions and 29 deletions.
  1. +0 −1 .travis.yml
  2. +11 −28 Gruntfile.js
View
@@ -1,7 +1,6 @@
language: node_js
sudo: false
node_js:
- "0.12"
- "4"
- "6"
- "7"
View
@@ -13,15 +13,7 @@ module.exports = function( grunt ) {
}
var fs = require( "fs" ),
gzip = require( "gzip-js" ),
oldNode = /^v0\./.test( process.version );
// Support: Node.js <4
// Skip running tasks that dropped support for Node.js 0.12
// in this Node version.
function runIfNewNode( task ) {
return oldNode ? "print_old_node_message:" + task : task;
}
gzip = require( "gzip-js" );
if ( !grunt.option( "filename" ) ) {
grunt.option( "filename", "jquery.js" );
@@ -187,41 +179,32 @@ module.exports = function( grunt ) {
} );
// Load grunt tasks from NPM packages
// Support: Node.js <4
// Don't load the eslint task in old Node.js, it won't parse.
require( "load-grunt-tasks" )( grunt, {
pattern: oldNode ? [ "grunt-*", "!grunt-eslint" ] : [ "grunt-*" ]
} );
require( "load-grunt-tasks" )( grunt );
// Integrate jQuery specific tasks
grunt.loadTasks( "build/tasks" );
grunt.registerTask( "print_old_node_message", function() {
var task = [].slice.call( arguments ).join( ":" );
grunt.log.writeln( "Old Node.js detected, running the task \"" + task + "\" skipped..." );
} );
grunt.registerTask( "lint", [
"jsonlint",
// Running the full eslint task without breaking it down to targets
// would run the dist target first which would point to errors in the built
// file, making it harder to fix them. We want to check the built file only
// if we already know the source files pass the linter.
runIfNewNode( "eslint:dev" ),
runIfNewNode( "eslint:dist" )
"eslint:dev",
"eslint:dist"
] );
grunt.registerTask( "lint:newer", [
"newer:jsonlint",
// Don't replace it with just the task; see the above comment.
runIfNewNode( "newer:eslint:dev" ),
runIfNewNode( "newer:eslint:dist" )
"newer:eslint:dev",
"newer:eslint:dist"
] );
grunt.registerTask( "test:fast", runIfNewNode( "node_smoke_tests" ) );
grunt.registerTask( "test:slow", runIfNewNode( "promises_aplus_tests" ) );
grunt.registerTask( "test:fast", "node_smoke_tests" );
grunt.registerTask( "test:slow", "promises_aplus_tests" );
grunt.registerTask( "test", [
"test:fast",
@@ -230,20 +213,20 @@ module.exports = function( grunt ) {
grunt.registerTask( "dev", [
"build:*:*",
runIfNewNode( "newer:eslint:dev" ),
"newer:eslint:dev",
"newer:uglify",
"remove_map_comment",
"dist:*",
"compare_size"
] );
grunt.registerTask( "default", [
runIfNewNode( "eslint:dev" ),
"eslint:dev",
"build:*:*",
"uglify",
"remove_map_comment",
"dist:*",
runIfNewNode( "eslint:dist" ),
"eslint:dist",
"test:fast",
"compare_size"
] );

0 comments on commit d10ac0e

Please sign in to comment.