2018-05-29 04:35:21 +03:00
|
|
|
module.exports = {
|
|
|
|
parser: "babel-eslint",
|
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
es6: true,
|
2019-01-17 09:20:52 +03:00
|
|
|
node: true,
|
|
|
|
mocha: true
|
2018-05-29 04:35:21 +03:00
|
|
|
},
|
2019-09-16 20:36:27 +03:00
|
|
|
plugins: ["prettier", "react", "react-hooks"],
|
2018-05-29 04:35:21 +03:00
|
|
|
rules: {
|
|
|
|
"prettier/prettier": "error",
|
|
|
|
"prefer-const": "error",
|
2018-10-18 00:25:31 +03:00
|
|
|
"no-use-before-define": ["error", { functions: false, classes: false, variables: true }],
|
2018-05-29 04:35:21 +03:00
|
|
|
"no-var": "error",
|
|
|
|
"no-throw-literal": "error",
|
|
|
|
// Light console usage is useful but remove debug logs before merging to master.
|
2018-07-04 03:18:08 +03:00
|
|
|
"no-console": "off",
|
2018-07-04 03:27:45 +03:00
|
|
|
"lines-between-class-members": 2,
|
|
|
|
"padding-line-between-statements": [
|
|
|
|
"error",
|
2018-10-18 00:25:31 +03:00
|
|
|
{ blankLine: "always", prev: "function", next: "function" },
|
|
|
|
{ blankLine: "always", prev: "function", next: "class" },
|
|
|
|
{ blankLine: "always", prev: "class", next: "function" },
|
|
|
|
{ blankLine: "always", prev: "class", next: "export" },
|
|
|
|
{ blankLine: "always", prev: "export", next: "function" },
|
|
|
|
{ blankLine: "always", prev: "export", next: "class" },
|
|
|
|
{ blankLine: "always", prev: "export", next: "export" },
|
|
|
|
{ blankLine: "always", prev: "import", next: "function" },
|
|
|
|
{ blankLine: "always", prev: "import", next: "class" }
|
|
|
|
],
|
2019-09-16 20:36:27 +03:00
|
|
|
"no-unused-vars": ["error", { varsIgnorePattern: "^_", argsIgnorePattern: "^_", ignoreRestSiblings: true }],
|
|
|
|
"react-hooks/rules-of-hooks": "error",
|
2019-09-16 20:53:49 +03:00
|
|
|
"react-hooks/exhaustive-deps": "warn",
|
|
|
|
"require-atomic-updates": "warn",
|
|
|
|
"no-prototype-builtins": "warn"
|
2018-05-29 04:35:21 +03:00
|
|
|
},
|
2019-09-16 20:53:49 +03:00
|
|
|
extends: ["prettier", "plugin:react/recommended", "eslint:recommended"],
|
|
|
|
settings: {
|
|
|
|
react: {
|
|
|
|
createClass: "createReactClass", // Regex for Component Factory to use,
|
|
|
|
// default to "createReactClass"
|
|
|
|
pragma: "React", // Pragma to use, default to "React"
|
|
|
|
version: "detect", // React version. "detect" automatically picks the version you have installed.
|
|
|
|
// You can also use `16.0`, `16.3`, etc, if you want to override the detected value.
|
|
|
|
// default to latest and warns if missing
|
|
|
|
// It will default to "detect" in the future
|
|
|
|
flowVersion: "0.53" // Flow version
|
|
|
|
},
|
|
|
|
propWrapperFunctions: [
|
|
|
|
// The names of any function used to wrap propTypes, e.g. `forbidExtraProps`. If this isn't set, any propTypes wrapped in a function will be skipped.
|
|
|
|
],
|
|
|
|
linkComponents: [
|
|
|
|
// Components used as alternatives to <a> for linking, eg. <Link to={ url } />
|
|
|
|
{ name: "Link", linkAttribute: "to" }
|
|
|
|
]
|
|
|
|
}
|
2018-05-29 04:35:21 +03:00
|
|
|
};
|