eslint-config-nfl
Version:
NFL's ESLint config
180 lines (179 loc) • 7.32 kB
JavaScript
module.exports = {
"rules": {
// enforce spacing inside array brackets
"array-bracket-spacing": [2, "never"],
// enforce one true brace style
"brace-style": [2, "1tbs", {
"allowSingleLine": true
}],
// require camel case names
"camelcase": [1, {
"properties": "never"
}],
// enforce spacing before and after comma
"comma-spacing": [2, {
"before": false,
"after": true
}],
// enforce one true comma style
"comma-style": [2, "last"],
// disallow padding inside computed properties
"computed-property-spacing": [2, "never"],
// enforces consistent naming when capturing the current execution context
"consistent-this": [0, "self"],
// enforce newline at the end of file, with no multiple empty lines
"eol-last": 1,
// require function expressions to have a name
"func-names": 0,
// enforces use of function declarations or expressions
"func-style": 0,
// this option enforces minimum and maximum identifier lengths
// (variable names, property names etc.)
"id-length": 0,
// this option sets a specific tab width for your code
// http://eslint.org/docs/rules/indent
"indent": [2, 4, {
"SwitchCase": 1,
"VariableDeclarator": 1
}],
// specify whether double or single quotes should be used in JSX attributes
// http://eslint.org/docs/rules/jsx-quotes
"jsx-quotes": [2, "prefer-double"],
// enforces spacing between keys and values in object literal properties
"key-spacing": [2, {
"beforeColon": false,
"afterColon": true
}],
// require a space before & after certain keywords
"keyword-spacing": [2, {
"before": true,
"after": true,
"overrides": {
"return": {
"after": true
},
"throw": {
"after": true
},
"case": {
"after": true
}
}
}],
// enforces empty lines around comments
"lines-around-comment": 0,
// disallow mixed "LF" and "CRLF" as linebreaks
"linebreak-style": 0,
// specify the maximum length of a line in your program
// http://eslint.org/docs/rules/max-len
"max-len": 0,
// specify the maximum depth callbacks can be nested
"max-nested-callbacks": [1, 5],
// require a capital letter for constructors
"new-cap": 0,
// disallow the omission of parentheses when invoking a constructor with no arguments
"new-parens": 1,
// allow/disallow an empty newline after var statement
"newline-after-var": 0,
// http://eslint.org/docs/rules/newline-before-return
"newline-before-return": 0,
// enforces new line after each method call in the chain to make it
// more readable and easy to maintain
// http://eslint.org/docs/rules/newline-per-chained-call
"newline-per-chained-call": [0, {
"ignoreChainWithDepth": 3
}],
// disallow use of the Array constructor
"no-array-constructor": 1,
// disallow use of the continue statement
"no-continue": 0,
// disallow comments inline after code
"no-inline-comments": 0,
// disallow if as the only statement in an else block
"no-lonely-if": 1,
// disallow mixed spaces and tabs for indentation
"no-mixed-spaces-and-tabs": 1,
// disallow multiple empty lines and only one newline at the end
"no-multiple-empty-lines": [2, {
"max": 2,
"maxEOF": 1
}],
// disallow nested ternary expressions
"no-nested-ternary": 2,
// disallow use of the Object constructor
"no-new-object": 1,
// disallow space between function identifier and application
"no-spaced-func": 1,
// disallow the use of ternary operators
"no-ternary": 0,
// disallow trailing whitespace at the end of lines
"no-trailing-spaces": 2,
// disallow dangling underscores in identifiers
"no-underscore-dangle": 0,
// disallow the use of Boolean literals in conditional expressions
// also, prefer `a || b` over `a ? a : b`
// http://eslint.org/docs/rules/no-unneeded-ternary
"no-unneeded-ternary": [2, {
"defaultAssignment": false
}],
// disallow whitespace before properties
// http://eslint.org/docs/rules/no-whitespace-before-property
"no-whitespace-before-property": 1,
// require padding inside curly braces
"object-curly-spacing": [2, "never"],
// allow just one var statement per function
"one-var": 0,
// require a newline around variable declaration
// http://eslint.org/docs/rules/one-var-declaration-per-line
"one-var-declaration-per-line": 0,
// require assignment operator shorthand where possible or prohibit it entirely
"operator-assignment": 0,
// enforce operators to be placed before or after line breaks
"operator-linebreak": 0,
// enforce padding within blocks
"padded-blocks": [1, "never"],
// require quotes around object literal property names
// http://eslint.org/docs/rules/quote-props.html
"quote-props": 0,
// specify whether double or single quotes should be used
"quotes": [2, "double", {
"avoidEscape": true,
"allowTemplateLiterals": true
}],
// require identifiers to match the provided regular expression
"id-match": 0,
// enforce spacing before and after semicolons
"semi-spacing": [2, {
"before": false,
"after": true
}],
// require or disallow use of semicolons instead of ASI
"semi": [2, "always"],
// sort variables within the same declaration block
"sort-vars": 0,
// require or disallow space before blocks
"space-before-blocks": [2, "always"],
// require or disallow space before function opening parenthesis
// http://eslint.org/docs/rules/space-before-function-paren
"space-before-function-paren": [2, {
"anonymous": "always",
"named": "never"
}],
// require or disallow spaces inside parentheses
"space-in-parens": [2, "never"],
// require spaces around operators
"space-infix-ops": 0,
// Require or disallow spaces before/after unary operators
"space-unary-ops": [1, {
"words": true,
"nonwords": false
}],
// require or disallow a space immediately following the // or /* in a comment
"spaced-comment": [2, "always", {
"exceptions": ["-", "+"],
"markers": ["=", "!"] // space here to support sprockets directives
}],
// require regex literals to be wrapped in parentheses
"wrap-regex": 1
}
};