Created
December 28, 2015 21:39
-
-
Save samartioli/fcabc0beea4b80989fe4 to your computer and use it in GitHub Desktop.
ESLint config example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var MAX_CHARS = 120; | |
| var SPACES_PER_TAB = 4; | |
| var MAX_NESTED_CALLBACKS = 3; | |
| var MAX_PARAMS = 3; | |
| var MAX_STATEMENTS = 10; | |
| module.exports = { | |
| // http://eslint.org/docs/rules/ | |
| 'ecmaFeatures': { | |
| 'arrowFunctions': true, | |
| 'binaryLiterals': true, | |
| 'blockBindings': true, | |
| 'classes': true, | |
| 'defaultParams': true, | |
| 'destructuring': true, | |
| 'forOf': true, | |
| 'generators': true, | |
| 'modules': true, | |
| 'objectLiteralComputedProperties': true, | |
| 'objectLiteralDuplicateProperties': true, | |
| 'objectLiteralShorthandMethods': true, | |
| 'objectLiteralShorthandProperties': true, | |
| 'octalLiterals': true, | |
| 'regexUFlag': true, | |
| 'regexYFlag': true, | |
| 'restParams': true, | |
| 'spread': true, | |
| 'superInFunctions': true, | |
| 'templateStrings': true, | |
| 'unicodeCodePointEscapes': true, | |
| 'globalReturn': true, | |
| 'jsx': true, | |
| }, | |
| 'env': { | |
| 'browser': true, | |
| 'node': true, | |
| 'amd': true, | |
| 'mocha': true, | |
| 'jasmine': true, | |
| 'phantomjs': true, | |
| 'jquery': true, | |
| 'prototypejs': true, | |
| 'shelljs': true, | |
| }, | |
| 'globals': { | |
| 'angular': true, | |
| }, | |
| 'plugins': [ | |
| // e.g. "react" (must run `npm install 'eslint-plugin-react'` first) | |
| ], | |
| 'rules': { | |
| ////////// Possible Errors ////////// | |
| 'comma-dangle': [2, 'always-multiline'], | |
| 'no-cond-assign': 2, | |
| 'no-console': 0, | |
| 'no-constant-condition': 2, | |
| 'no-control-regex': 2, | |
| 'no-debugger': 2, | |
| 'no-dupe-args': 2, | |
| 'no-dupe-keys': 2, | |
| 'no-duplicate-case': 2, | |
| 'no-empty-character-class': 2, | |
| 'no-empty': 2, | |
| 'no-ex-assign': 2, | |
| 'no-extra-boolean-cast': 2, | |
| 'no-extra-parens': 2, | |
| 'no-extra-semi': 2, | |
| 'no-func-assign': 2, | |
| 'no-inner-declarations': 2, | |
| 'no-invalid-regexp': 2, | |
| 'no-irregular-whitespace': 2, | |
| 'no-negated-in-lhs': 2, | |
| 'no-obj-calls': 2, | |
| 'no-regex-spaces': 2, | |
| 'no-sparse-arrays': 2, | |
| 'no-unreachable': 2, | |
| 'use-isnan': 2, | |
| 'valid-jsdoc': 2, | |
| 'valid-typeof': 2, | |
| 'no-unexpected-multiline': 2, | |
| ////////// Best Practices ////////// | |
| 'accessor-pairs': 0, | |
| 'block-scoped-var': 0, | |
| 'complexity': [2, 2], | |
| 'consistent-return': 2, | |
| 'curly': 2, | |
| 'default-case': 2, | |
| 'dot-location': [2, 'property'], | |
| 'dot-notation': 2, | |
| 'eqeqeq': 2, | |
| 'guard-for-in': 0, | |
| 'no-alert': 2, | |
| 'no-caller': 0, | |
| 'no-div-regex': 0, | |
| 'no-else-return': 2, | |
| 'no-empty-label': 0, | |
| 'no-empty-pattern': 0, | |
| 'no-eq-null': 2, | |
| 'no-eval': 2, | |
| 'no-extend-native': 0, | |
| 'no-extra-bind': 0, | |
| 'no-fallthrough': 2, | |
| 'no-floating-decimal': 0, | |
| 'no-implied-eval': 0, | |
| 'no-iterator': 0, | |
| 'no-labels': 0, | |
| 'no-lone-blocks': 0, | |
| 'no-loop-func': 0, | |
| 'no-magic-numbers': 2, | |
| 'no-multi-spaces': 2, | |
| 'no-multi-str': 0, | |
| 'no-native-reassign': 0, | |
| 'no-new-func': 0, | |
| 'no-new-wrappers': 0, | |
| 'no-new': 0, | |
| 'no-octal-escape': 0, | |
| 'no-octal': 0, | |
| 'no-param-reassign': 0, | |
| 'no-process-env': 0, | |
| 'no-proto': 0, | |
| 'no-redeclare': 0, | |
| 'no-return-assign': 0, | |
| 'no-script-url': 0, | |
| 'no-self-compare': 0, | |
| 'no-sequences': 0, | |
| 'no-throw-literal': 0, | |
| 'no-unused-expressions': 0, | |
| 'no-void': 0, | |
| 'no-warning-comments': 0, | |
| 'no-with': 0, | |
| 'radix': 0, | |
| 'vars-on-top': 0, | |
| 'wrap-iife': 0, | |
| 'yoda': 0, | |
| ////////// Strict Mode ////////// | |
| 'strict': [2, 'global'], | |
| ////////// Variables ////////// | |
| 'no-catch-shadow': 0, | |
| 'no-delete-var': 2, | |
| 'no-label-var': 0, | |
| 'no-shadow': 0, | |
| 'no-shadow-restricted-names': 0, | |
| 'no-undef': 2, | |
| 'no-undef-init': 0, | |
| 'no-undefined': 0, | |
| 'no-unused-vars': 2, | |
| 'no-use-before-define': 0, | |
| ////////// Node.js ////////// | |
| 'global-require': 2, | |
| 'handle-callback-err': [2, '^.*(e|E)rr'], | |
| 'no-mixed-requires': 0, | |
| 'no-new-require': 0, | |
| 'no-path-concat': 0, | |
| 'no-process-exit': 0, | |
| 'no-restricted-modules': 0, | |
| 'no-sync': 0, | |
| ////////// Stylistic Issues ////////// | |
| 'array-bracket-spacing': [2, 'never'], | |
| 'block-spacing': [2, 'never'], | |
| 'brace-style': [2, '1tbs', {'allowSingleLine': true}], | |
| 'camelcase': 2, | |
| 'comma-spacing': [2, {'before': false, 'after': true}], | |
| 'comma-style': [2, 'last'], | |
| 'computed-property-spacing': [2, 'never'], | |
| 'consistent-this': [2, 'self'], | |
| 'eol-last': 2, | |
| 'func-names': 0, | |
| 'func-style': [2, 'declaration'], | |
| 'indent': 2, | |
| 'key-spacing': [2, {'beforeColon': false, 'afterColon': true}], | |
| 'lines-around-comment': [ | |
| 2, | |
| {'beforeBlockComment': true, 'beforeLineComment': true, 'allowBlockStart': true}, | |
| ], | |
| 'linebreak-style': [2, 'unix'], | |
| 'max-nested-callbacks': [2, MAX_NESTED_CALLBACKS], | |
| 'new-cap': 2, | |
| 'new-parens': 2, | |
| 'newline-after-var': [2, 'always'], | |
| 'no-array-constructor': 2, | |
| 'no-continue': 0, | |
| 'no-inline-comments': 2, | |
| 'no-lonely-if': 2, | |
| 'no-mixed-spaces-and-tabs': 2, | |
| 'no-multiple-empty-lines': [2, {max: 1}], | |
| 'no-nested-ternary': 2, | |
| 'no-new-object': 2, | |
| 'no-spaced-func': 2, | |
| 'no-ternary': 0, | |
| 'no-trailing-spaces': 2, | |
| 'no-underscore-dangle': 0, | |
| 'no-unneeded-ternary': 0, | |
| 'object-curly-spacing': [2, 'never'], | |
| 'one-var': [2, 'never'], | |
| 'operator-assignment': 0, | |
| 'operator-linebreak': [2, 'before'], | |
| 'padded-blocks': 0, | |
| 'quote-props': [2, 'as-needed'], | |
| 'quotes': [2, 'single', 'avoid-escape'], | |
| 'semi-spacing': 2, | |
| 'semi': [2, 'always'], | |
| 'sort-vars': 2, | |
| 'space-after-keywords': 2, | |
| 'space-before-keywords': 2, | |
| 'space-before-blocks': 2, | |
| 'space-before-function-paren': [2, 'never'], | |
| 'space-in-parens': [2, 'never'], | |
| 'space-infix-ops': 2, | |
| 'space-return-throw-case': 2, | |
| 'space-unary-ops': [2, {'words': true, 'nonwords': false}], | |
| 'spaced-comment': [2, 'always', {'block': {'exceptions': ['-+*']} }], | |
| 'wrap-regex': 0, | |
| ////////// ECMAScript 6 ////////// | |
| 'constructor-super': 0, | |
| 'generator-star-spacing': 0, | |
| 'no-this-before-super': 0, | |
| 'no-var': 0, | |
| 'object-shorthand': 0, | |
| 'prefer-const': 0, | |
| ////////// Legacy ////////// | |
| 'max-depth': 2, | |
| 'max-len': [2, MAX_CHARS, SPACES_PER_TAB], | |
| 'max-params': [2, MAX_PARAMS], | |
| 'max-statements': [2, MAX_STATEMENTS], | |
| 'no-bitwise': 2, | |
| 'no-plusplus': 0, | |
| }, | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment