Update dependencies, switch to eslint

This commit is contained in:
QWp6t
2015-12-20 02:12:18 -08:00
committed by Ben Word
parent c9ef232ec1
commit e51e41e0eb
6 changed files with 47 additions and 144 deletions

16
.eslintrc Normal file
View File

@@ -0,0 +1,16 @@
{
"root": true,
"extends": "eslint:recommended",
"globals": {
"wp": true,
},
"env": {
"browser": true,
"jquery": true,
"node": true,
"amd": true
},
"rules": {
"no-console": 0
}
}

95
.jscsrc
View File

@@ -1,95 +0,0 @@
{
"requireCurlyBraces": [
"if",
"else",
"for",
"while",
"do",
"try",
"catch"
],
"requireOperatorBeforeLineBreak": true,
"requireCamelCaseOrUpperCaseIdentifiers": true,
"maximumLineLength": {
"value": 80,
"allowComments": true,
"allowRegex": true
},
"validateIndentation": 2,
"validateQuoteMarks": "'",
"disallowMultipleLineStrings": true,
"disallowMixedSpacesAndTabs": true,
"disallowTrailingWhitespace": true,
"disallowSpaceAfterPrefixUnaryOperators": true,
"disallowMultipleVarDecl": true,
"disallowKeywordsOnNewLine": [
"else"
],
"requireSpaceAfterKeywords": [
"if",
"else",
"for",
"while",
"do",
"switch",
"return",
"try",
"catch"
],
"requireSpaceBeforeBinaryOperators": [
"=",
"+=",
"-=",
"*=",
"/=",
"%=",
"<<=",
">>=",
">>>=",
"&=",
"|=",
"^=",
"+=",
"+",
"-",
"*",
"/",
"%",
"<<",
">>",
">>>",
"&",
"|",
"^",
"&&",
"||",
"===",
"==",
">=",
"<=",
"<",
">",
"!=",
"!=="
],
"requireSpaceAfterBinaryOperators": true,
"requireSpacesInConditionalExpression": true,
"requireSpaceBeforeBlockStatements": true,
"requireSpacesInForStatement": true,
"requireLineFeedAtFileEnd": true,
"requireSpacesInFunctionExpression": {
"beforeOpeningCurlyBrace": true
},
"disallowSpacesInAnonymousFunctionExpression": {
"beforeOpeningRoundBrace": true
},
"disallowSpacesInsideObjectBrackets": "all",
"disallowSpacesInsideArrayBrackets": "all",
"disallowSpacesInsideParentheses": true,
"jsDoc": {
"checkParamNames": true,
"requireParamTypes": true
},
"disallowMultipleLineBreaks": true,
"disallowNewlineBeforeBlockStatements": true
}

View File

@@ -1,15 +0,0 @@
{
"bitwise": true,
"browser": true,
"curly": true,
"eqeqeq": true,
"eqnull": true,
"esnext": true,
"immed": true,
"jquery": true,
"latedef": true,
"newcap": true,
"noarg": true,
"node": true,
"strict": false
}

View File

@@ -18,7 +18,7 @@ cache:
install:
- npm install -g npm@latest
- npm install -g bower gulp jscs
- npm install -g bower gulp eslint
- npm install
- composer self-update && composer --version
- export PATH="$HOME/.composer/vendor/bin:$PATH"
@@ -28,7 +28,6 @@ install:
script:
- npm run build
- npm run jshint
- npm run jscs
- npm run lint
- phpcs --standard=ruleset.xml --extensions=php --ignore=node_modules,bower_components,vendor -n -s .
- phpmd src text cleancode,codesize,controversial,design,naming,unusedcode

View File

@@ -8,7 +8,7 @@ var flatten = require('gulp-flatten');
var gulp = require('gulp');
var gulpif = require('gulp-if');
var imagemin = require('gulp-imagemin');
var jshint = require('gulp-jshint');
var eslint = require('gulp-eslint');
var lazypipe = require('lazypipe');
var less = require('gulp-less');
var merge = require('merge-stream');
@@ -58,8 +58,8 @@ var enabled = {
maps: !argv.production,
// Fail styles task on error when `--production`
failStyleTask: argv.production,
// Fail due to JSHint warnings only when `--production`
failJSHint: argv.production,
// Fail due to ESLint warnings only when `--production`
failESLint: argv.production,
// Strip debug statments from javascript when `--production`
stripJSDebug: argv.production
};
@@ -184,9 +184,9 @@ gulp.task('styles', ['wiredep'], function() {
});
// ### Scripts
// `gulp scripts` - Runs JSHint then compiles, combines, and optimizes Bower JS
// `gulp scripts` - Runs ESLint then compiles, combines, and optimizes Bower JS
// and project JS.
gulp.task('scripts', ['jshint'], function() {
gulp.task('scripts', ['lint'], function() {
var merged = merge();
manifest.forEachDependency('js', function(dep) {
merged.add(
@@ -221,15 +221,15 @@ gulp.task('images', function() {
.pipe(browserSync.stream());
});
// ### JSHint
// `gulp jshint` - Lints configuration JSON and project JS.
gulp.task('jshint', function() {
// ### ESLint
// `gulp lint` - Lints configuration JSON and project JS.
gulp.task('lint', function() {
return gulp.src([
'bower.json', 'gulpfile.js'
'gulpfile.js'
].concat(project.js))
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'))
.pipe(gulpif(enabled.failJSHint, jshint.reporter('fail')));
.pipe(eslint())
.pipe(eslint.format())
.pipe(gulpif(enabled.failESLint, eslint.failAfterError()));
});
// ### Clean
@@ -252,7 +252,7 @@ gulp.task('watch', function() {
}
});
gulp.watch([path.source + 'styles/**/*'], ['styles']);
gulp.watch([path.source + 'scripts/**/*'], ['jshint', 'scripts']);
gulp.watch([path.source + 'scripts/**/*'], ['lint', 'scripts']);
gulp.watch([path.source + 'fonts/**/*'], ['fonts']);
gulp.watch([path.source + 'images/**/*'], ['images']);
gulp.watch(['bower.json', 'assets/manifest.json'], ['build']);

View File

@@ -19,8 +19,7 @@
],
"scripts": {
"build": "bower install && gulp",
"jshint": "gulp jshint",
"jscs": "jscs gulpfile.js assets/scripts/*.js"
"lint": "gulp lint"
},
"engines": {
"node": ">= 0.12.0",
@@ -28,31 +27,30 @@
},
"devDependencies": {
"asset-builder": "^1.1.0",
"browser-sync": "^2.8.2",
"del": "^1.2.1",
"browser-sync": "^2.10.1",
"del": "^2.2.0",
"gulp": "^3.9.0",
"gulp-autoprefixer": "^2.3.1",
"gulp-autoprefixer": "^3.1.0",
"gulp-changed": "^1.3.0",
"gulp-concat": "^2.6.0",
"gulp-cssnano": "^2.1.0",
"gulp-flatten": "0.1.1",
"gulp-if": "^1.2.5",
"gulp-imagemin": "^2.3.0",
"gulp-jshint": "^1.11.2",
"gulp-less": "^3.0.3",
"gulp-eslint": "^1.1.1",
"gulp-flatten": "0.2.0",
"gulp-if": "^2.0.0",
"gulp-imagemin": "^2.4.0",
"gulp-less": "^3.0.5",
"gulp-plumber": "^1.0.1",
"gulp-rename": "^1.2.2",
"gulp-rev": "^6.0.0",
"gulp-sass": "^2.0.1",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^1.2.0",
"gulp-rev": "^6.0.1",
"gulp-sass": "^2.1.1",
"gulp-sourcemaps": "^1.6.0",
"gulp-uglify": "^1.5.1",
"imagemin-pngcrush": "^4.1.0",
"jshint-stylish": "^2.0.1",
"lazypipe": "^1.0.1",
"merge-stream": "^1.0.0",
"minimist": "^1.1.3",
"run-sequence": "^1.1.2",
"minimist": "^1.2.0",
"run-sequence": "^1.1.5",
"traverse": "^0.6.6",
"wiredep": "^2.2.2"
"wiredep": "^3.0.0"
}
}