Last active
April 29, 2024 15:01
-
-
Save adrianhall/70d63d225e536b4563b2 to your computer and use it in GitHub Desktop.
A sample .eslintrc file
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 OFF = 0, WARN = 1, ERROR = 2; | |
module.exports = exports = { | |
"env": { | |
"es6": true | |
}, | |
"ecmaFeatures": { | |
// env=es6 doesn't include modules, which we are using | |
"modules": true | |
}, | |
"extends": "eslint:recommended", | |
"rules": { | |
// Possible Errors (overrides from recommended set) | |
"no-extra-parens": ERROR, | |
"no-unexpected-multiline": ERROR, | |
// All JSDoc comments must be valid | |
"valid-jsdoc": [ ERROR, { | |
"requireReturn": false, | |
"requireReturnDescription": false, | |
"requireParamDescription": true, | |
"prefer": { | |
"return": "returns" | |
} | |
}], | |
// Best Practices | |
// Allowed a getter without setter, but all setters require getters | |
"accessor-pairs": [ ERROR, { | |
"getWithoutSet": false, | |
"setWithoutGet": true | |
}], | |
"block-scoped-var": WARN, | |
"consistent-return": ERROR, | |
"curly": ERROR, | |
"default-case": WARN, | |
// the dot goes with the property when doing multiline | |
"dot-location": [ WARN, "property" ], | |
"dot-notation": WARN, | |
"eqeqeq": [ ERROR, "smart" ], | |
"guard-for-in": WARN, | |
"no-alert": ERROR, | |
"no-caller": ERROR, | |
"no-case-declarations": WARN, | |
"no-div-regex": WARN, | |
"no-else-return": WARN, | |
"no-empty-label": WARN, | |
"no-empty-pattern": WARN, | |
"no-eq-null": WARN, | |
"no-eval": ERROR, | |
"no-extend-native": ERROR, | |
"no-extra-bind": WARN, | |
"no-floating-decimal": WARN, | |
"no-implicit-coercion": [ WARN, { | |
"boolean": true, | |
"number": true, | |
"string": true | |
}], | |
"no-implied-eval": ERROR, | |
"no-invalid-this": ERROR, | |
"no-iterator": ERROR, | |
"no-labels": WARN, | |
"no-lone-blocks": WARN, | |
"no-loop-func": ERROR, | |
"no-magic-numbers": WARN, | |
"no-multi-spaces": ERROR, | |
"no-multi-str": WARN, | |
"no-native-reassign": ERROR, | |
"no-new-func": ERROR, | |
"no-new-wrappers": ERROR, | |
"no-new": ERROR, | |
"no-octal-escape": ERROR, | |
"no-param-reassign": ERROR, | |
"no-process-env": WARN, | |
"no-proto": ERROR, | |
"no-redeclare": ERROR, | |
"no-return-assign": ERROR, | |
"no-script-url": ERROR, | |
"no-self-compare": ERROR, | |
"no-throw-literal": ERROR, | |
"no-unused-expressions": ERROR, | |
"no-useless-call": ERROR, | |
"no-useless-concat": ERROR, | |
"no-void": WARN, | |
// Produce warnings when something is commented as TODO or FIXME | |
"no-warning-comments": [ WARN, { | |
"terms": [ "TODO", "FIXME" ], | |
"location": "start" | |
}], | |
"no-with": WARN, | |
"radix": WARN, | |
"vars-on-top": ERROR, | |
// Enforces the style of wrapped functions | |
"wrap-iife": [ ERROR, "outside" ], | |
"yoda": ERROR, | |
// Strict Mode - for ES6, never use strict. | |
"strict": [ ERROR, "never" ], | |
// Variables | |
"init-declarations": [ ERROR, "always" ], | |
"no-catch-shadow": WARN, | |
"no-delete-var": ERROR, | |
"no-label-var": ERROR, | |
"no-shadow-restricted-names": ERROR, | |
"no-shadow": WARN, | |
// We require all vars to be initialized (see init-declarations) | |
// If we NEED a var to be initialized to undefined, it needs to be explicit | |
"no-undef-init": OFF, | |
"no-undef": ERROR, | |
"no-undefined": OFF, | |
"no-unused-vars": WARN, | |
// Disallow hoisting - let & const don't allow hoisting anyhow | |
"no-use-before-define": ERROR, | |
// Node.js and CommonJS | |
"callback-return": [ WARN, [ "callback", "next" ]], | |
"global-require": ERROR, | |
"handle-callback-err": WARN, | |
"no-mixed-requires": WARN, | |
"no-new-require": ERROR, | |
// Use path.concat instead | |
"no-path-concat": ERROR, | |
"no-process-exit": ERROR, | |
"no-restricted-modules": OFF, | |
"no-sync": WARN, | |
// ECMAScript 6 support | |
"arrow-body-style": [ ERROR, "always" ], | |
"arrow-parens": [ ERROR, "always" ], | |
"arrow-spacing": [ ERROR, { "before": true, "after": true }], | |
"constructor-super": ERROR, | |
"generator-star-spacing": [ ERROR, "before" ], | |
"no-arrow-condition": ERROR, | |
"no-class-assign": ERROR, | |
"no-const-assign": ERROR, | |
"no-dupe-class-members": ERROR, | |
"no-this-before-super": ERROR, | |
"no-var": WARN, | |
"object-shorthand": [ WARN, "never" ], | |
"prefer-arrow-callback": WARN, | |
"prefer-spread": WARN, | |
"prefer-template": WARN, | |
"require-yield": ERROR, | |
// Stylistic - everything here is a warning because of style. | |
"array-bracket-spacing": [ WARN, "always" ], | |
"block-spacing": [ WARN, "always" ], | |
"brace-style": [ WARN, "1tbs", { "allowSingleLine": false } ], | |
"camelcase": WARN, | |
"comma-spacing": [ WARN, { "before": false, "after": true } ], | |
"comma-style": [ WARN, "last" ], | |
"computed-property-spacing": [ WARN, "never" ], | |
"consistent-this": [ WARN, "self" ], | |
"eol-last": WARN, | |
"func-names": WARN, | |
"func-style": [ WARN, "declaration" ], | |
"id-length": [ WARN, { "min": 2, "max": 32 } ], | |
"indent": [ WARN, 4 ], | |
"jsx-quotes": [ WARN, "prefer-double" ], | |
"linebreak-style": [ WARN, "unix" ], | |
"lines-around-comment": [ WARN, { "beforeBlockComment": true } ], | |
"max-depth": [ WARN, 8 ], | |
"max-len": [ WARN, 132 ], | |
"max-nested-callbacks": [ WARN, 8 ], | |
"max-params": [ WARN, 8 ], | |
"new-cap": WARN, | |
"new-parens": WARN, | |
"no-array-constructor": WARN, | |
"no-bitwise": OFF, | |
"no-continue": OFF, | |
"no-inline-comments": OFF, | |
"no-lonely-if": WARN, | |
"no-mixed-spaces-and-tabs": WARN, | |
"no-multiple-empty-lines": WARN, | |
"no-negated-condition": OFF, | |
"no-nested-ternary": WARN, | |
"no-new-object": WARN, | |
"no-plusplus": OFF, | |
"no-spaced-func": WARN, | |
"no-ternary": OFF, | |
"no-trailing-spaces": WARN, | |
"no-underscore-dangle": WARN, | |
"no-unneeded-ternary": WARN, | |
"object-curly-spacing": [ WARN, "always" ], | |
"one-var": OFF, | |
"operator-assignment": [ WARN, "never" ], | |
"operator-linebreak": [ WARN, "after" ], | |
"padded-blocks": [ WARN, "never" ], | |
"quote-props": [ WARN, "consistent-as-needed" ], | |
"quotes": [ WARN, "single" ], | |
"require-jsdoc": [ WARN, { | |
"require": { | |
"FunctionDeclaration": true, | |
"MethodDefinition": true, | |
"ClassDeclaration": false | |
} | |
}], | |
"semi-spacing": [ WARN, { "before": false, "after": true }], | |
"semi": [ ERROR, "always" ], | |
"sort-vars": OFF, | |
"space-after-keywords": [ WARN, "always" ], | |
"space-before-blocks": [ WARN, "always" ], | |
"space-before-function-paren": [ WARN, "never" ], | |
"space-before-keywords": [ WARN, "always" ], | |
"space-in-parens": [ WARN, "never" ], | |
"space-infix-ops": [ WARN, { "int32Hint": true } ], | |
"space-return-throw-case": ERROR, | |
"space-unary-ops": ERROR, | |
"spaced-comment": [ WARN, "always" ], | |
"wrap-regex": WARN | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
that is not necessary. it's simply referring to how eslint will interpret them when you run it on the command line.
for example, after you run eslint, you might see something like:
Warning: 1:2 warning More than 2 blank lines not allowed no-multiple-empty-lines
Error: 2:34 error 'pick' is defined but never used no-unused-vars
you can set the error level in your .eslintrc.js (under "rules") like:
"semi": 2
hope that helps.