| { |
| "extends": ["airbnb", "airbnb/hooks", "prettier"], |
| "parser": "@babel/eslint-parser", |
| "parserOptions": { |
| "babelOptions": { |
| "presets": [ |
| "@babel/preset-env", |
| "@babel/preset-react", |
| "@babel/preset-typescript" |
| ], |
| "plugins": ["@babel/plugin-transform-runtime"] |
| } |
| }, |
| "plugins": ["html", "react"], |
| "rules": { |
| "no-param-reassign": 1, |
| "react/prop-types": 0, |
| "react/jsx-props-no-spreading": 0, |
| "import/extensions": [ |
| "error", |
| "ignorePackages", |
| { |
| "js": "never", |
| "jsx": "never", |
| "ts": "never", |
| "tsx": "never" |
| } |
| ], |
| "import/no-extraneous-dependencies": [ |
| "error", |
| { |
| "devDependencies": true, |
| "optionalDependencies": false, |
| "peerDependencies": false |
| } |
| ], |
| "react/function-component-definition": [ |
| 0, |
| { |
| "namedComponents": "function-declaration" |
| } |
| ] |
| }, |
| "settings": { |
| "import/resolver": { |
| "node": { |
| "extensions": [".js", ".jsx", ".ts", ".tsx"] |
| } |
| } |
| }, |
| // eslint that apply only to typescript files |
| "overrides": [ |
| { |
| "files": ["*.ts", "*.tsx"], |
| "extends": ["airbnb-typescript", "prettier"], |
| "parser": "@typescript-eslint/parser", |
| "plugins": ["@typescript-eslint"], |
| "parserOptions": { |
| "project": "./tsconfig.json" |
| }, |
| "rules": { |
| "react/require-default-props": 0, |
| "@typescript-eslint/no-explicit-any": 1 |
| } |
| } |
| ] |
| } |