Skip to content
Permalink
Browse files

feat: add sub configs for es3, es5 and es6

  • Loading branch information...
blond committed May 14, 2016
1 parent d6a270c commit f1e985a2846a68730fb8ceeb3d0932fd40f6f27a
Showing with 169 additions and 131 deletions.
  1. +10 −0 es3.js
  2. +7 −0 es5.js
  3. +10 −0 es6.js
  4. +2 −130 index.js
  5. +118 −0 lib/common-rules.js
  6. +5 −0 lib/es3-rules.js
  7. +14 −0 lib/es6-rules.js
  8. +3 −1 package.json
10 es3.js
@@ -0,0 +1,10 @@
'use strict';

var assign = require('es6-object-assign').assign;

var commonRules = require('./lib/common-rules');
var es3Rules = require('./lib/es3-rules');

module.exports = {
rules: assign({}, commonRules, es3Rules)
};
7 es5.js
@@ -0,0 +1,7 @@
'use strict';

var commonRules = require('./lib/common-rules');

module.exports = {
rules: commonRules
};
10 es6.js
@@ -0,0 +1,10 @@
'use strict';

var assign = require('es6-object-assign').assign;

var commonRules = require('./lib/common-rules');
var es6Rules = require('./lib/es6-rules');

module.exports = {
rules: assign({}, commonRules, es6Rules)
};
132 index.js
@@ -1,133 +1,5 @@
'use strict';

module.exports = {
rules: {
/* Possible Errors ===================================================================== */
/* https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors */
/* ===================================================================================== */
var es6 = require('./es6');

// Duplicates
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',

// Typos
'valid-typeof': 'error',
'no-negated-in-lhs': 'error',
'no-sparse-arrays': 'error',
'no-unexpected-multiline': 'error',
'no-cond-assign': ['error', 'except-parens'],

// Overwrite
'no-ex-assign': 'error',
'no-func-assign': 'error',
'no-unsafe-finally': 'error',

// JS Oddities
'use-isnan': 'error',
'no-obj-calls': 'error',

// Debug
'no-debugger': 'error',

// Regex
'no-control-regex': 'error',
'no-regex-spaces': 'error',
'no-empty-character-class': 'error',
'no-invalid-regexp': ['error', { allowConstructorFlags: ['u', 'y'] }],

// Not optimal
'no-empty': 'error',
'no-inner-declarations': 'error',
'no-constant-condition': 'error',
'no-unreachable': 'error',
'no-extra-boolean-cast': 'error',

// Extra Characters
'comma-dangle': ['error', 'never'],
'no-extra-semi': 'error',

// JSDoc
'valid-jsdoc': ['error', {
requireReturn: false,
requireReturnDescription: false
}],

// Whitespaces
'no-irregular-whitespace': ['error', { skipComments: true }],

/* Variables =========================================================================== */
/* http://eslint.org/docs/rules/#variables */
/* ===================================================================================== */

// Unused & undeclared variables
'no-unused-vars': ['error', { args: 'after-used' }],
'no-undef': 'error',
'no-use-before-define': ['error', {
functions: false,
classes: true
}],

// Shadow variables
'no-catch-shadow': 'error',
'no-shadow': 'error',
'no-shadow-restricted-names': 'error',

/* Node.js and CommonJS ================================================================ */
/* http://eslint.org/docs/rules/#nodejs-and-commonjs
/* ===================================================================================== */

'no-new-require': 'error',

/* ECMAScript 6 ======================================================================== */
/* http://eslint.org/docs/rules/#ecmascript-6
/* ===================================================================================== */

'constructor-super': 'error',
'no-this-before-super': 'error',
'no-dupe-class-members': 'error',
'no-class-assign': 'error',
'no-const-assign': 'error',
'no-new-symbol': 'error',
'require-yield': 'error',

/* Best Practices ====================================================================== */
/* http://eslint.org/docs/rules/#best-practices */
/* ===================================================================================== */

// Danger
'no-extend-native': 'error',
'no-native-reassign': 'error',
'no-octal': 'error',
'no-with': 'error',

// Outdated
'no-caller': 'error',
'no-iterator': 'error',
'no-proto': 'error',
'no-octal-escape': 'error',
'no-labels': 'error',
'no-unused-labels': 'error',

// Shadow vars
'no-case-declarations': 'error',
'no-empty-pattern': 'error',

// Typos
'no-self-compare': 'error',
'array-callback-return': 'error',
'curly': 'error',
'no-new': 'error',
'no-return-assign': 'error',
'no-throw-literal': 'error',
'no-redeclare': 'error',

// Not Optimal
'no-eval': 'error',
'no-implied-eval': 'error',
'no-self-assign': 'error',
'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
'no-loop-func': 'error',
'no-new-func': 'error'
}
};
module.exports = es6;
@@ -0,0 +1,118 @@
'use strict';

module.exports = {
/* Possible Errors ===================================================================== */
/* https://github.com/eslint/eslint/tree/master/docs/rules#possible-errors */
/* ===================================================================================== */

// Duplicates
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',

// Typos
'valid-typeof': 'error',
'no-negated-in-lhs': 'error',
'no-sparse-arrays': 'error',
'no-unexpected-multiline': 'error',
'no-cond-assign': ['error', 'except-parens'],

// Overwrite
'no-ex-assign': 'error',
'no-func-assign': 'error',
'no-unsafe-finally': 'error',

// JS Oddities
'use-isnan': 'error',
'no-obj-calls': 'error',

// Debug
'no-debugger': 'error',

// Regex
'no-control-regex': 'error',
'no-regex-spaces': 'error',
'no-empty-character-class': 'error',
'no-invalid-regexp': ['error', { allowConstructorFlags: ['u', 'y'] }],

// Not optimal
'no-empty': 'error',
'no-inner-declarations': 'error',
'no-constant-condition': 'error',
'no-unreachable': 'error',
'no-extra-boolean-cast': 'error',

// Extra Characters
'no-extra-semi': 'error',

// JSDoc
'valid-jsdoc': ['error', {
requireReturn: false,
requireReturnDescription: false
}],

// Whitespaces
'no-irregular-whitespace': ['error', { skipComments: true }],

/* Variables =========================================================================== */
/* http://eslint.org/docs/rules/#variables */
/* ===================================================================================== */

// Unused & undeclared variables
'no-unused-vars': ['error', { args: 'after-used' }],
'no-undef': 'error',
'no-use-before-define': ['error', {
functions: false,
classes: true
}],

// Shadow variables
'no-catch-shadow': 'error',
'no-shadow': 'error',
'no-shadow-restricted-names': 'error',

/* Node.js and CommonJS ================================================================ */
/* http://eslint.org/docs/rules/#nodejs-and-commonjs
/* ===================================================================================== */

'no-new-require': 'error',

/* Best Practices ====================================================================== */
/* http://eslint.org/docs/rules/#best-practices */
/* ===================================================================================== */

// Danger
'no-extend-native': 'error',
'no-native-reassign': 'error',
'no-octal': 'error',
'no-with': 'error',

// Outdated
'no-caller': 'error',
'no-iterator': 'error',
'no-proto': 'error',
'no-octal-escape': 'error',
'no-labels': 'error',
'no-unused-labels': 'error',

// Shadow vars
'no-case-declarations': 'error',
'no-empty-pattern': 'error',

// Typos
'no-self-compare': 'error',
'array-callback-return': 'error',
'curly': 'error',
'no-new': 'error',
'no-return-assign': 'error',
'no-throw-literal': 'error',
'no-redeclare': 'error',

// Not Optimal
'no-eval': 'error',
'no-implied-eval': 'error',
'no-self-assign': 'error',
'no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
'no-loop-func': 'error',
'no-new-func': 'error'
};
@@ -0,0 +1,5 @@
'use strict';

module.exports = {
'comma-dangle': ['error', 'never']
};
@@ -0,0 +1,14 @@
'use strict';

module.exports = {
/* ECMAScript 6 ======================================================================== */
/* http://eslint.org/docs/rules/#ecmascript-6
/* ===================================================================================== */
'constructor-super': 'error',
'no-this-before-super': 'error',
'no-dupe-class-members': 'error',
'no-class-assign': 'error',
'no-const-assign': 'error',
'no-new-symbol': 'error',
'require-yield': 'error'
};
@@ -27,7 +27,9 @@
"engines": {
"node": ">= 0.10"
},
"dependencies": {},
"dependencies": {
"es6-object-assign": "1.0.1"
},
"devDependencies": {
"eslint": "2.10.1"
},

0 comments on commit f1e985a

Please sign in to comment.
You can’t perform that action at this time.