Using eslint in grunt

pull/12735/head
Jesús Arroyo Torrens 7 years ago
parent 77aba3a060
commit 8ef0c70b27

@ -7,7 +7,9 @@
},
"globals": {
"_t": true,
"__ENV__": true
"__ENV__": true,
"grunt": true
},
"rules": {}
"rules": {
}
}

@ -40,6 +40,13 @@ function logVersionsError (err, requiredNodeVersion, requiredNpmVersion) {
}
}
function getTargetDiff () {
var target = require('child_process').execSync('(git diff --name-only --relative; git diff origin/master.. --name-only --relative) | grep \'\\.js\\?$\'').toString();
target = target.split('\n');
target.splice(-1, 1);
return target;
}
/**
* CartoDB UI assets generation
*/
@ -114,6 +121,8 @@ module.exports = function (grunt) {
aws = grunt.file.readJSON('./lib/build/grunt-aws.json');
}
var targetDiff = getTargetDiff();
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
@ -155,7 +164,11 @@ module.exports = function (grunt) {
availabletasks: require('./lib/build/tasks/availabletasks.js').task(),
sass: require('./lib/build/tasks/sass.js').task()
sass: require('./lib/build/tasks/sass.js').task(),
eslint: {
target: targetDiff
}
});
/**
@ -345,18 +358,9 @@ module.exports = function (grunt) {
'npm-dev'
]);
grunt.registerTask('lint', 'lint source files', function () {
var done = this.async();
require('child_process').exec('(git diff --name-only --relative; git diff origin/master.. --name-only --relative) | grep \'\\.js\\?$\' | xargs node_modules/.bin/semistandard', { maxBuffer: 1024 * 1000 }, function (error, stdout, stderr) {
if (error && stdout) {
grunt.log.fail(stdout);
} else {
grunt.log.ok('All linted files OK!');
grunt.log.writelns('>> Note that files listed in package.json semistandard.ignore are not linted');
}
done();
});
});
grunt.registerTask('lint', [
'eslint'
]);
grunt.registerTask('sourcemaps', 'generate sourcemaps, to be used w/ trackjs.com for bughunting', [
'setConfig:assets_dir:./tmp/sourcemaps',

@ -73,6 +73,7 @@
"grunt-contrib-jst": "CartoDB/grunt-contrib-jst#merge-master",
"grunt-contrib-uglify": "2.0.x",
"grunt-contrib-watch": "1.0.0",
"grunt-eslint": "^20.1.0",
"grunt-exorcise": "2.1.1",
"grunt-postcss": "0.7.2",
"grunt-sass": "2.0.0",

Loading…
Cancel
Save