{
"extends": [
"eslint:recommended"
],
"parser": "babel-eslint",
"env": {
"browser" : true,
"commonjs": true,
"es6" : true
},
"ecmaFeatures": {
"jsx": true
},
"rules": {
// Prevent missing displayName in a React component definition
"react/display-name": 0,
// Forbid certain propTypes
"react/forbid-prop-types": 0,
// Enforce boolean attributes notation in JSX
"react/jsx-boolean-value": 2,
// Validate closing bracket location in JSX
"react/jsx-closing-bracket-location": 0,
// Enforce or disallow spaces inside of curly braces in JSX attributes
"react/jsx-curly-spacing": 0,
// Validate props indentation in JSX
"react/jsx-indent-props": 0,
// Limit maximum of props on a single line in JSX
"react/jsx-max-props-per-line": 0,
// Prevent duplicate props in JSX
"react/jsx-no-duplicate-props": 1,
// Prevent usage of unwrapped JSX strings
"react/jsx-no-literals": 0,
// Disallow undeclared variables in JSX
"react/jsx-no-undef": 2,
// Enforce propTypes declarations alphabetical sorting
"react/jsx-sort-prop-types": 0,
// Enforce props alphabetical sorting
"react/jsx-sort-props": 0,
// Prevent React to be incorrectly marked as unused
"react/jsx-uses-react": 2,
// Prevent variables used in JSX to be incorrectly marked as unused
"react/jsx-uses-vars": 2,
// Prevent usage of dangerous JSX properties
"react/no-danger": 0,
// Prevent usage of setState in componentDidMount
"react/no-did-mount-set-state": [2, "allow-in-func"],
// Prevent usage of setState in componentDidUpdate
"react/no-did-update-set-state": 2,
// Prevent direct mutation of this.state
"react/no-direct-mutation-state": 0,
// Prevent multiple component definition per file
"react/no-multi-comp": 2,
// Prevent usage of setState
"react/no-set-state": 0,
// Prevent usage of unknown DOM property
"react/no-unknown-property": 2,
// Prevent missing props validation in a React component definition
"react/prop-types": 2,
// Prevent missing React when using JSX
"react/react-in-jsx-scope": 0,
// Restrict file extensions that may be required
"react/require-extension": 0,
// Prevent extra closing tags for components without children
"react/self-closing-comp": 2,
// Prevent missing parentheses around multilines JSX
"react/wrap-multilines": 2,
// require parens in arrow function arguments
"arrow-parens": 0,
// require space before/after arrow function's arrow
"arrow-spacing": 0,
// verify super() callings in constructors
"constructor-super": 1,
// enforce the spacing around the * in generator functions
"generator-star-spacing": 1,
// disallow modifying variables of class declarations
"no-class-assign": 1,
// disallow modifying variables that are declared using const
"no-const-assign": 2,
// disallow duplicate name in class members
"no-dupe-class-members": 2,
// disallow to use this/super before super() calling in constructors.
"no-this-before-super": 1,
// require let or const instead of var
"no-var": 0,
// require method and property shorthand syntax for object literals
"object-shorthand": 1,
// suggest using arrow functions as callbacks
"prefer-arrow-callback": 0,
// suggest using of const declaration for variables that are never modified after declared
"prefer-const": 0,
// suggest using the spread operator instead of .apply()
"prefer-spread": 1,
// suggest using Reflect methods where applicable
/*"prefer-reflect": 0,*/
// suggest using template literals instead of strings concatenation
"prefer-template": 0,
// disallow generator functions that do not have yield
"require-yield": 0,
"init-declarations": 0, // enforce or disallow variable initializations at definition
"no-catch-shadow": 2, // disallow the catch clause parameter name being the same as a variable in the outer scope
"no-delete-var": 0, // disallow deletion of variables (recommended)
"no-label-var": 1, // disallow labels that share a name with a variable
"no-shadow-restricted-names": 1, // disallow shadowing of names such as arguments
"no-shadow": 1, // disallow declaration of variables already declared in the outer scope
"no-undef-init": 0, // disallow use of undefined when initializing variables
"no-undef": 2, // disallow use of undeclared variables unless mentioned in a /*global */ block (recommended)
"no-undefined": 0, // disallow use of undefined variable
"no-unused-vars": 1, // disallow declaration of variables that are not used in the code (recommended)
"no-use-before-define": 1, // disallow use of variables before they are defined
"strict": [ 0, "global" ],
"no-console": 0,
// enforce spacing inside array brackets
"array-bracket-spacing": [0, "never"],
// disallow or enforce spaces inside of single line blocks
"block-spacing": 0,
// enforce one true brace style
"brace-style": [ 0, "1tbs" ],
// require camel case names
"camelcase": 0,
// enforce spacing before and after comma
"comma-spacing": 0,
// enforce one true comma style
"comma-style": 0,
// require or disallow padding inside computed properties
"computed-property-spacing": [ 0, "never" ],
// enforces consistent naming when capturing the current execution context
"consistent-this": [ 0, "that" ],
// enforce newline at the end of file, with no multiple empty lines
"eol-last": 0,
// require function expressions to have a name
"func-names": 0,
// enforces use of function declarations or expressions
"func-style": [ 0, "declaration" ],
// 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
"indent": [1, 4],
// specify whether double or single quotes should be used in JSX attributes
"jsx-quotes": 0,
// enforces spacing between keys and values in object literal properties
"key-spacing": [0, { "beforeColon": false, "afterColon": true }],
// enforces empty lines around comments
"lines-around-comment": 0,
// disallow mixed "LF" and "CRLF" as linebreaks
"linebreak-style": [ 0, "unix" ],
// specify the maximum depth callbacks can be nested
"max-nested-callbacks": [0, 2],
// require a capital letter for constructors
"new-cap": 0,
// disallow the omission of parentheses when invoking a constructor with no arguments
"new-parens": 0,
// allow/disallow an empty newline after var statement
"newline-after-var": 0,
// disallow use of the Array constructor
"no-array-constructor": 0,
// 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": 0,
// disallow mixed spaces and tabs for indentation
"no-mixed-spaces-and-tabs": [ 2, false ],
// disallow multiple empty lines
"no-multiple-empty-lines": [ 0, {"max": 2} ],
// disallow nested ternary expressions
"no-nested-ternary": 0,
// disallow use of the Object constructor
"no-new-object": 0,
// disallow use of certain syntax in code
"no-restricted-syntax": 0,
// disallow space between function identifier and application
"no-spaced-func": 0,
// disallow the use of ternary operators
"no-ternary": 0,
// disallow trailing whitespace at the end of lines
"no-trailing-spaces": 1,
// disallow dangling underscores in identifiers
"no-underscore-dangle": 0,
// disallow the use of Boolean literals in conditional expressions
"no-unneeded-ternary": 0,
// require or disallow padding inside curly braces
"object-curly-spacing": [ 0, "never" ],
// allow just one var statement per function
"one-var": 0,
// require assignment operator shorthand where possible or prohibit it entirely
"operator-assignment": [ 0, "always" ],
// enforce operators to be placed before or after line breaks
"operator-linebreak": 0,
// enforce padding within blocks
"padded-blocks": 0,
// require quotes around object literal property names
"quote-props": 0,
// specify whether double or single quotes should be used
"quotes": [ 0, "single" ],
// 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": 0,
// sort variables within the same declaration block
"sort-vars": 0,
// require a space after certain keywords
"space-after-keywords": [ 0, "always" ],
// require a space before certain keywords
"space-before-keywords": 0,
// require or disallow space before blocks
"space-before-blocks": [ 0, "always" ],
// require or disallow space before function opening parenthesis
"space-before-function-paren": [ 0, "always" ],
// require or disallow spaces inside parentheses
"space-in-parens": [ 0, "never" ],
// require spaces around operators
"space-infix-ops": 0,
// require a space after return, throw, and case
"space-return-throw-case": 0,
// Require or disallow spaces before/after unary operators
"space-unary-ops": [ 0, { "words": true, "nonwords": false } ],
// require or disallow a space immediately following the // or /* in a comment
"spaced-comment": 0,
// require regex literals to be wrapped in parentheses
"wrap-regex": 0
},
"plugins": [
"react"
]
}