diff --git a/client/.eslintrc.js b/client/.eslintrc.js new file mode 100644 index 0000000..70b7dbf --- /dev/null +++ b/client/.eslintrc.js @@ -0,0 +1,60 @@ +module.exports = { + env: { + browser: true, + es2021: true, + }, + extends: ["plugin:react/recommended", "airbnb"], + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 13, + sourceType: "module", + }, + plugins: ["react"], + rules: { + "react/function-component-definition": 0, + "react/react-in-jsx-scope": 0, + "react/jsx-props-no-spreading": 0, + "import/extensions": 0, + "react/prop-types": 0, + "linebreak-style": 0, + "react/state-in-constructor": 0, + "import/prefer-default-export": 0, + "max-len": [2, 250], + "operator-linebreak": 0, + "comma-dangle": 0, + "no-console": 0, + "no-alert": 0, + "no-multiple-empty-lines": [ + "error", + { + max: 1, + maxEOF: 1, + }, + ], + "no-underscore-dangle": [ + "error", + { + allow: ["_d", "_dh", "_h", "_id", "_m", "_n", "_t", "_text"], + }, + ], + "object-curly-newline": 0, + "react/jsx-filename-extension": 0, + "react/jsx-one-expression-per-line": 0, + "jsx-a11y/click-events-have-key-events": 0, + "jsx-a11y/alt-text": 0, + "jsx-a11y/no-autofocus": 0, + "jsx-a11y/no-static-element-interactions": 0, + "react/no-array-index-key": 0, + "jsx-a11y/anchor-is-valid": [ + "error", + { + components: ["Link"], + specialLink: ["to", "hrefLeft", "hrefRight"], + aspects: ["noHref", "invalidHref", "preferButton"], + }, + ], + quotes: [2, "double", { avoidEscape: true }], + }, +};