diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..c8b2e7f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,7 @@ +{ + "extends": "semistandard", + "rules": { + "brace-style": [2, "stroustrup", { "allowSingleLine": true }], + "space-before-function-paren": [2, "never"] + } +} diff --git a/.jscsrc b/.jscsrc deleted file mode 100644 index 453744f..0000000 --- a/.jscsrc +++ /dev/null @@ -1,18 +0,0 @@ -{ - "validateIndentation": 2, - "requireSpacesInFunctionExpression": { - "beforeOpeningCurlyBrace": true - }, - "disallowQuotedKeysInObjects": true, - "disallowPaddingNewlinesInBlocks": true, - "disallowNewlineBeforeBlockStatements": true, - "disallowSpacesInFunctionExpression": { - "beforeOpeningRoundBrace": true - }, - "disallowMultipleLineStrings": true, - "disallowMultipleLineBreaks": true, - "disallowMultipleSpaces": true, - "requireLineFeedAtFileEnd": true, - "requireSemicolons": true, - "maximumLineLength": 120 -} diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 5c30aae..0000000 --- a/.jshintrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "node": true, - "latedef": true, - "undef": true, - "unused": true -} diff --git a/index.js b/index.js index 0b83396..0827449 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,6 @@ 'use strict'; var gutil = require('gulp-util'); -var error = gutil.PluginError; var through = require('through2'); var csslint = require('csslint').CSSLint; var RcLoader = require('rcloader'); @@ -46,7 +45,7 @@ var cssLintPlugin = function(options) { return through.obj(function(file, enc, cb) { if (file.isNull()) return cb(null, file); // pass along - if (file.isStream()) return cb(new error('gulp-csslint: Streaming not supported'), file); + if (file.isStream()) return cb(new gutil.PluginError('gulp-csslint: Streaming not supported'), file); var content = file.contents.toString(enc); @@ -127,7 +126,7 @@ cssLintPlugin.reporter = function(customReporter) { }; cssLintPlugin.addRule = function(rule) { - if(typeof rule !== 'object') { + if (typeof rule !== 'object') { throw new Error('Invalid rule: rules need to be objects.'); } csslint.addRule(rule); @@ -140,7 +139,7 @@ cssLintPlugin.failReporter = function() { return cb(null, file); } - return cb(new gutil.PluginError('gulp-csslint', 'CSSLint failed for '+file.relative), file); + return cb(new gutil.PluginError('gulp-csslint', 'CSSLint failed for ' + file.relative), file); }); }; diff --git a/package.json b/package.json index f9f4eff..e065d11 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,11 @@ }, "devDependencies": { "coveralls": "^2.11.2", + "eslint": "^1.1.0", + "eslint-config-semistandard": "^5.0.0", + "eslint-config-standard": "^4.1.0", + "eslint-plugin-standard": "^1.2.0", "istanbul": "^0.3.14", - "jscs": "^1.13.1", - "jshint": "^2.7.0", "mocha": "^2.2.5", "rimraf": "^2.3.4", "should": "^7.0.3", @@ -24,19 +26,19 @@ }, "scripts": { "clean": "rimraf coverage/", - "lint": "jscs index.js test/ && jshint index.js test/", - "pretest": "npm run lint", - "test": "mocha", + "cover": "istanbul cover _mocha", + "lint": "eslint index.js test/main.js", "precover": "npm run lint && npm run clean", - "cover": "istanbul cover _mocha" + "pretest": "npm run lint", + "test": "mocha" }, "repository": { "type": "git", "url": "git://github.com/lazd/gulp-csslint.git" }, "keywords": [ - "gulpplugin", - "csslint" + "csslint", + "gulpplugin" ], "author": "Larry Davis ", "license": "MIT", diff --git a/test/.jshintrc b/test/.jshintrc deleted file mode 100644 index e26f0d4..0000000 --- a/test/.jshintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../.jshintrc", - "mocha": true -} diff --git a/test/main.js b/test/main.js index 8cd0ce7..d927726 100644 --- a/test/main.js +++ b/test/main.js @@ -1,4 +1,4 @@ -/*jshint expr: true*/ +/* eslint-env mocha */ var cssLintPlugin = require('../'); var should = require('should'); @@ -8,7 +8,7 @@ var path = require('path'); var sinon = require('sinon'); var getFile = function(filePath) { - filePath = 'test/'+filePath; + filePath = 'test/' + filePath; return new gutil.File({ path: filePath, cwd: 'test/', @@ -18,7 +18,7 @@ var getFile = function(filePath) { }; var getContents = function(filePath) { - filePath = 'test/'+filePath; + filePath = 'test/' + filePath; return fs.readFileSync(filePath, 'utf8'); }; @@ -191,23 +191,23 @@ describe('gulp-csslint', function() { desc: 'Class names must follow pattern', browsers: 'All', - //initialization + // initialization init: function(parser, reporter) { 'use strict'; var rule = this; parser.addListener('startrule', function(event) { - var line = event.line, - col = event.col; + var line = event.line; + var col = event.col; - for (var i=0,len=event.selectors.length; i < len; i++) { + for (var i = 0, len = event.selectors.length; i < len; i++) { var selectors = event.selectors[i].text.split(/(?=\.)/); - for (var s=0,l=selectors.length; s < l; s++){ + for (var s = 0, l = selectors.length; s < l; s++) { var selector = selectors[s].trim(); - if(selector.charAt(0) !== '.'){ + if (selector.charAt(0) !== '.') { return; } - if(!selector.match(/^\.(_)?(o|c|u|is|has|js|qa)-[a-z0-9]+$/)){ - reporter.warn('Bad naming: '+selector, line, col, rule); + if (!selector.match(/^\.(_)?(o|c|u|is|has|js|qa)-[a-z0-9]+$/)) { + reporter.warn('Bad naming: ' + selector, line, col, rule); } } }