Prettier
{ "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "all", "useTabs": false, "printWidth": 100, "bracketSpacing": true, "endOfLine": "lf" }
ESlint
{ "env": { "browser": true, "commonjs": true }, "extends": [ "react-app", "react-app/jest", "eslint:recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "plugin:prettier/recommended", "plugin:react/jsx-runtime", "prettier" ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 2018, "sourceType": "module" }, "plugins": ["react", "@typescript-eslint"], "rules": { "curly": "error", "no-shadow": [ "warn", { "ignoreOnInitialization": true } ], "react/jsx-uses-react": "off", "react/react-in-jsx-scope": "off", "react/prop-types": "off", "prettier/prettier": [ "error", { "endOfLine": "auto" } ] }, "overrides": [ { "files": [ "**/*.stories.*" ], "rules": { "import/no-anonymous-default-export": "off" } } ] }
setting.json
{ "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "eslint.codeAction.showDocumentation": { "enable": true } }
@typescript-eslint/eslint-plugin