|
@@ -14,7 +14,8 @@
|
|
|
"require": false,
|
|
|
"expect": false,
|
|
|
"sinon": false,
|
|
|
- "Raven": true
|
|
|
+ "Raven": true,
|
|
|
+ "jest": true
|
|
|
},
|
|
|
"plugins": [
|
|
|
"react",
|
|
@@ -24,126 +25,171 @@
|
|
|
/**
|
|
|
* Strict mode
|
|
|
*/
|
|
|
- "strict": [2, "global"], // http://eslint.org/docs/rules/strict
|
|
|
-
|
|
|
+ "strict": [
|
|
|
+ 2,
|
|
|
+ "global"
|
|
|
+ ], // http://eslint.org/docs/rules/strict
|
|
|
/**
|
|
|
* ES6
|
|
|
*/
|
|
|
- "no-var": 2, // http://eslint.org/docs/rules/no-var
|
|
|
- "prefer-const": 0, // http://eslint.org/docs/rules/prefer-const
|
|
|
-
|
|
|
+ "no-var": 2, // http://eslint.org/docs/rules/no-var
|
|
|
+ "prefer-const": 0, // http://eslint.org/docs/rules/prefer-const
|
|
|
/**
|
|
|
* Variables
|
|
|
*/
|
|
|
- "no-shadow": 2, // http://eslint.org/docs/rules/no-shadow
|
|
|
+ "no-shadow": 2, // http://eslint.org/docs/rules/no-shadow
|
|
|
"no-shadow-restricted-names": 2, // http://eslint.org/docs/rules/no-shadow-restricted-names
|
|
|
- "no-undef": 2, // http://eslint.org/docs/rules/no-undef
|
|
|
- "no-unused-vars": [2, { // http://eslint.org/docs/rules/no-unused-vars
|
|
|
- "vars": "local",
|
|
|
- "args": "none"
|
|
|
- }],
|
|
|
- "no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define
|
|
|
-
|
|
|
+ "no-undef": 2, // http://eslint.org/docs/rules/no-undef
|
|
|
+ "no-unused-vars": [
|
|
|
+ 2,
|
|
|
+ { // http://eslint.org/docs/rules/no-unused-vars
|
|
|
+ "vars": "local",
|
|
|
+ "args": "none"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define
|
|
|
/**
|
|
|
* Possible errors
|
|
|
*/
|
|
|
- "comma-dangle": [0, "always-multiline"], // http://eslint.org/docs/rules/comma-dangle
|
|
|
- "no-cond-assign": [2, "always"], // http://eslint.org/docs/rules/no-cond-assign
|
|
|
- "no-console": 1, // http://eslint.org/docs/rules/no-console
|
|
|
- "no-debugger": 1, // http://eslint.org/docs/rules/no-debugger
|
|
|
- "no-alert": 1, // http://eslint.org/docs/rules/no-alert
|
|
|
- "no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition
|
|
|
- "no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys
|
|
|
- "no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case
|
|
|
- "no-empty": 2, // http://eslint.org/docs/rules/no-empty
|
|
|
- "no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign
|
|
|
- "no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast
|
|
|
- "no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi
|
|
|
- "no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign
|
|
|
- "no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations
|
|
|
- "no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp
|
|
|
- "no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace
|
|
|
- "no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls
|
|
|
- "no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays
|
|
|
- "no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable
|
|
|
- "semi": [2, "always"], // http://eslint.org/docs/rules/semi.html
|
|
|
- "use-isnan": 2, // http://eslint.org/docs/rules/use-isnan
|
|
|
- "block-scoped-var": 2, // http://eslint.org/docs/rules/block-scoped-var
|
|
|
-
|
|
|
+ "comma-dangle": [
|
|
|
+ 0,
|
|
|
+ "always-multiline"
|
|
|
+ ], // http://eslint.org/docs/rules/comma-dangle
|
|
|
+ "no-cond-assign": [
|
|
|
+ 2,
|
|
|
+ "always"
|
|
|
+ ], // http://eslint.org/docs/rules/no-cond-assign
|
|
|
+ "no-console": 1, // http://eslint.org/docs/rules/no-console
|
|
|
+ "no-debugger": 1, // http://eslint.org/docs/rules/no-debugger
|
|
|
+ "no-alert": 1, // http://eslint.org/docs/rules/no-alert
|
|
|
+ "no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition
|
|
|
+ "no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys
|
|
|
+ "no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case
|
|
|
+ "no-empty": 2, // http://eslint.org/docs/rules/no-empty
|
|
|
+ "no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign
|
|
|
+ "no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast
|
|
|
+ "no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi
|
|
|
+ "no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign
|
|
|
+ "no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations
|
|
|
+ "no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp
|
|
|
+ "no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace
|
|
|
+ "no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls
|
|
|
+ "no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays
|
|
|
+ "no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable
|
|
|
+ "semi": [
|
|
|
+ 2,
|
|
|
+ "always"
|
|
|
+ ], // http://eslint.org/docs/rules/semi.html
|
|
|
+ "use-isnan": 2, // http://eslint.org/docs/rules/use-isnan
|
|
|
+ "block-scoped-var": 2, // http://eslint.org/docs/rules/block-scoped-var
|
|
|
/**
|
|
|
* Best practices
|
|
|
*/
|
|
|
- "consistent-return": 2, // http://eslint.org/docs/rules/consistent-return
|
|
|
- "curly": 0, // http://eslint.org/docs/rules/curly [REVISIT ME]
|
|
|
- "default-case": 2, // http://eslint.org/docs/rules/default-case
|
|
|
- "dot-notation": [2, { // http://eslint.org/docs/rules/dot-notation
|
|
|
- "allowKeywords": true
|
|
|
- }],
|
|
|
- "eqeqeq": 0, // http://eslint.org/docs/rules/eqeqeq [REVISIT ME]
|
|
|
- "guard-for-in": 0, // http://eslint.org/docs/rules/guard-for-in [REVISIT ME]
|
|
|
- "jsx-quotes": [2, "prefer-double"], // http://eslint.org/docs/rules/jsx-quotes
|
|
|
- "no-caller": 2, // http://eslint.org/docs/rules/no-caller
|
|
|
- "no-else-return": 0, // http://eslint.org/docs/rules/no-else-return [REVISIT ME]
|
|
|
- "no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null
|
|
|
- "no-eval": 2, // http://eslint.org/docs/rules/no-eval
|
|
|
- "no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native
|
|
|
- "no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind
|
|
|
- "no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough
|
|
|
- "no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal
|
|
|
- "no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval
|
|
|
- "no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks
|
|
|
- "no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func
|
|
|
- "no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str
|
|
|
- "no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign
|
|
|
- "no-new": 2, // http://eslint.org/docs/rules/no-new
|
|
|
- "no-new-func": 2, // http://eslint.org/docs/rules/no-new-func
|
|
|
- "no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers
|
|
|
- "no-octal": 2, // http://eslint.org/docs/rules/no-octal
|
|
|
- "no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape
|
|
|
- "no-param-reassign": 0, // http://eslint.org/docs/rules/no-param-reassign [REVISIT ME]
|
|
|
- "no-proto": 2, // http://eslint.org/docs/rules/no-proto
|
|
|
- "no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare
|
|
|
- "no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign
|
|
|
- "no-script-url": 2, // http://eslint.org/docs/rules/no-script-url
|
|
|
- "no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare
|
|
|
- "no-sequences": 2, // http://eslint.org/docs/rules/no-sequences
|
|
|
- "no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal
|
|
|
- "no-with": 2, // http://eslint.org/docs/rules/no-with
|
|
|
- "quotes": [2, "single"], // http://eslint.org/docs/rules/quotes.html
|
|
|
- "radix": 2, // http://eslint.org/docs/rules/radix
|
|
|
- "computed-property-spacing": [2, "never"], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
- "array-bracket-spacing": [2, "never"], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
- "object-curly-spacing": [2, "never"], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
- "space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops.html
|
|
|
- "vars-on-top": 0, // http://eslint.org/docs/rules/vars-on-top
|
|
|
- "wrap-iife": [2, "any"], // http://eslint.org/docs/rules/wrap-iife
|
|
|
- "yoda": 2, // http://eslint.org/docs/rules/yoda
|
|
|
-
|
|
|
+ "consistent-return": 2, // http://eslint.org/docs/rules/consistent-return
|
|
|
+ "curly": 0, // http://eslint.org/docs/rules/curly [REVISIT ME]
|
|
|
+ "default-case": 2, // http://eslint.org/docs/rules/default-case
|
|
|
+ "dot-notation": [
|
|
|
+ 2,
|
|
|
+ { // http://eslint.org/docs/rules/dot-notation
|
|
|
+ "allowKeywords": true
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "eqeqeq": 0, // http://eslint.org/docs/rules/eqeqeq [REVISIT ME]
|
|
|
+ "guard-for-in": 0, // http://eslint.org/docs/rules/guard-for-in [REVISIT ME]
|
|
|
+ "jsx-quotes": [
|
|
|
+ 2,
|
|
|
+ "prefer-double"
|
|
|
+ ], // http://eslint.org/docs/rules/jsx-quotes
|
|
|
+ "no-caller": 2, // http://eslint.org/docs/rules/no-caller
|
|
|
+ "no-else-return": 0, // http://eslint.org/docs/rules/no-else-return [REVISIT ME]
|
|
|
+ "no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null
|
|
|
+ "no-eval": 2, // http://eslint.org/docs/rules/no-eval
|
|
|
+ "no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native
|
|
|
+ "no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind
|
|
|
+ "no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough
|
|
|
+ "no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal
|
|
|
+ "no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval
|
|
|
+ "no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks
|
|
|
+ "no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func
|
|
|
+ "no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str
|
|
|
+ "no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign
|
|
|
+ "no-new": 2, // http://eslint.org/docs/rules/no-new
|
|
|
+ "no-new-func": 2, // http://eslint.org/docs/rules/no-new-func
|
|
|
+ "no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers
|
|
|
+ "no-octal": 2, // http://eslint.org/docs/rules/no-octal
|
|
|
+ "no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape
|
|
|
+ "no-param-reassign": 0, // http://eslint.org/docs/rules/no-param-reassign [REVISIT ME]
|
|
|
+ "no-proto": 2, // http://eslint.org/docs/rules/no-proto
|
|
|
+ "no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare
|
|
|
+ "no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign
|
|
|
+ "no-script-url": 2, // http://eslint.org/docs/rules/no-script-url
|
|
|
+ "no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare
|
|
|
+ "no-sequences": 2, // http://eslint.org/docs/rules/no-sequences
|
|
|
+ "no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal
|
|
|
+ "no-with": 2, // http://eslint.org/docs/rules/no-with
|
|
|
+ "quotes": [
|
|
|
+ 2,
|
|
|
+ "single"
|
|
|
+ ], // http://eslint.org/docs/rules/quotes.html
|
|
|
+ "radix": 2, // http://eslint.org/docs/rules/radix
|
|
|
+ "computed-property-spacing": [
|
|
|
+ 2,
|
|
|
+ "never"
|
|
|
+ ], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
+ "array-bracket-spacing": [
|
|
|
+ 2,
|
|
|
+ "never"
|
|
|
+ ], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
+ "object-curly-spacing": [
|
|
|
+ 2,
|
|
|
+ "never"
|
|
|
+ ], // http://eslint.org/docs/rules/space-in-brackets.html
|
|
|
+ "space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops.html
|
|
|
+ "vars-on-top": 0, // http://eslint.org/docs/rules/vars-on-top
|
|
|
+ "wrap-iife": [
|
|
|
+ 2,
|
|
|
+ "any"
|
|
|
+ ], // http://eslint.org/docs/rules/wrap-iife
|
|
|
+ "yoda": 2, // http://eslint.org/docs/rules/yoda
|
|
|
/**
|
|
|
* React
|
|
|
*/
|
|
|
- "react/display-name": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md
|
|
|
- "react/no-multi-comp": [0, {"ignoreStateless": true}], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md
|
|
|
- "react/jsx-key": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md
|
|
|
- "react/jsx-no-undef": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md
|
|
|
+ "react/display-name": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md
|
|
|
+ "react/no-multi-comp": [
|
|
|
+ 0,
|
|
|
+ {
|
|
|
+ "ignoreStateless": true
|
|
|
+ }
|
|
|
+ ], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md
|
|
|
+ "react/jsx-key": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md
|
|
|
+ "react/jsx-no-undef": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md
|
|
|
"react/jsx-no-duplicate-props": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md
|
|
|
- "react/jsx-uses-react": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md
|
|
|
- "react/jsx-uses-vars": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md
|
|
|
- "react/no-did-mount-set-state": [2, "allow-in-func"], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md
|
|
|
+ "react/jsx-uses-react": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md
|
|
|
+ "react/jsx-uses-vars": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md
|
|
|
+ "react/no-did-mount-set-state": [
|
|
|
+ 2,
|
|
|
+ "allow-in-func"
|
|
|
+ ], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md
|
|
|
"react/no-did-update-set-state": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md"
|
|
|
- "react/no-unknown-property": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md
|
|
|
- "react/prop-types": [2, {
|
|
|
- "ignore": ["className", "children", "location", "params"]
|
|
|
- }],
|
|
|
- "react/react-in-jsx-scope": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md
|
|
|
- "react/self-closing-comp": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md
|
|
|
- "react/sort-comp": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md
|
|
|
- "react/wrap-multilines": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/wrap-multilines.md
|
|
|
-
|
|
|
+ "react/no-unknown-property": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md
|
|
|
+ "react/prop-types": [
|
|
|
+ 2,
|
|
|
+ {
|
|
|
+ "ignore": [
|
|
|
+ "className",
|
|
|
+ "children",
|
|
|
+ "location",
|
|
|
+ "params"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "react/react-in-jsx-scope": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md
|
|
|
+ "react/self-closing-comp": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md
|
|
|
+ "react/sort-comp": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md
|
|
|
+ "react/wrap-multilines": 2, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/wrap-multilines.md
|
|
|
/**
|
|
|
* Custom
|
|
|
*/
|
|
|
- "getsentry/jsx-needs-il8n": 0, // highlights literals in JSX components w/o translation tags
|
|
|
+ "getsentry/jsx-needs-il8n": 0, // highlights literals in JSX components w/o translation tags
|
|
|
}
|
|
|
-
|
|
|
-}
|
|
|
+}
|