yarn add -D eslint eslint-config-airbnb eslint-config-prettier eslint-config-react-app \
eslint-plugin-compat eslint-plugin-github eslint-plugin-import eslint-plugin-jest \
eslint-plugin-jest-dom eslint-plugin-jsx-a11y eslint-plugin-prettier \
eslint-plugin-react eslint-plugin-react-hooks eslint-plugin-sonarjs \
eslint-plugin-unicorn eslint-import-resolver-typescript @typescript-eslint/eslint-plugin
{
"extends": [
"react-app",
"plugin:jest/recommended",
"plugin:jest-dom/recommended",
"airbnb",
"airbnb/hooks",
"plugin:github/recommended",
"plugin:sonarjs/recommended",
"plugin:unicorn/recommended",
"plugin:compat/recommended",
"prettier",
],
"env": {
"browser": true
},
"overrides": [
{
"files": ["*.ts", "*.tsx"]
}
],
"ignorePatterns": ["src/generated/**","public/mockServiceWorker.js"],
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
}
}
},
"rules": {
"import/no-unresolved": "error",
"quotes": ["off", "single"],
"semi": ["error", "never"],
"react/jsx-filename-extension": [
"warn",
{
"extensions": [".tsx", ".ts"]
}
],
"import/extensions": [
"error",
"ignorePackages",
{
"js": "never",
"jsx": "never",
"ts": "never",
"tsx": "never"
}
],
"react/react-in-jsx-scope": "off",
"react/function-component-definition": [
"warn",
{
"namedComponents": "arrow-function"
}
],
"filenames/match-regex": "off",
"unicorn/filename-case": [
"error",
{
"cases": {
"camelCase": true,
"pascalCase": true,
"snakeCase": true
}
}
],
"eslint-comments/no-use": [
"error",
{ "allow": ["eslint-disable", "eslint-disable-next-line"] }
],
"no-unused-vars": "off"
}
}
@benbradley747
eslint configuration is updated.