2022-03-06 14:41:51 +01:00
|
|
|
const a11yOff = Object.keys(require('eslint-plugin-jsx-a11y').rules)
|
|
|
|
.reduce((acc, rule) => { acc[`jsx-a11y/${rule}`] = 'off'; return acc }, {})
|
|
|
|
|
2022-03-06 13:42:27 +01:00
|
|
|
module.exports = {
|
|
|
|
extends: [
|
|
|
|
"airbnb",
|
|
|
|
"airbnb/hooks",
|
|
|
|
"plugin:@typescript-eslint/recommended",
|
|
|
|
"prettier",
|
|
|
|
],
|
|
|
|
settings: {
|
|
|
|
"import/resolver": {
|
|
|
|
typescript: {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
parser: "@typescript-eslint/parser",
|
|
|
|
parserOptions: {
|
|
|
|
project: "./tsconfig.json",
|
|
|
|
tsconfigRootDir: "./",
|
|
|
|
},
|
|
|
|
plugins: ["@typescript-eslint", "import"],
|
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
},
|
|
|
|
rules: {
|
|
|
|
"react/jsx-uses-react": "off",
|
|
|
|
"react/react-in-jsx-scope": "off",
|
|
|
|
"react/require-default-props": "off",
|
|
|
|
"react/destructuring-assignment": "off",
|
2022-03-06 14:41:51 +01:00
|
|
|
"no-underscore-dangle": "off",
|
|
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
|
|
"no-console": "off",
|
|
|
|
"@typescript-eslint/no-this-alias": "off",
|
|
|
|
"import/prefer-default-export": "off",
|
|
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
|
|
"no-shadow": "off",
|
|
|
|
"@typescript-eslint/no-shadow": ["error"],
|
|
|
|
"no-restricted-syntax": "off",
|
|
|
|
"react/jsx-props-no-spreading": "off",
|
2022-03-06 13:42:27 +01:00
|
|
|
"react/jsx-filename-extension": [
|
|
|
|
"error",
|
|
|
|
{ extensions: [".js", ".tsx", ".jsx"] },
|
|
|
|
],
|
|
|
|
"import/extensions": [
|
|
|
|
"error",
|
|
|
|
"ignorePackages",
|
|
|
|
{
|
|
|
|
ts: "never",
|
|
|
|
tsx: "never",
|
|
|
|
},
|
|
|
|
],
|
2022-03-06 14:41:51 +01:00
|
|
|
...a11yOff
|
2022-03-06 13:42:27 +01:00
|
|
|
},
|
|
|
|
};
|