69 lines
2.1 KiB
Plaintext
69 lines
2.1 KiB
Plaintext
{
|
|
"parser": "@typescript-eslint/parser",
|
|
"plugins": ["@typescript-eslint", "react-hooks", "simple-import-sort"],
|
|
"extends": [
|
|
"plugin:react/recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:prettier/recommended"
|
|
],
|
|
"parserOptions": {
|
|
"ecmaVersion": 2020,
|
|
"sourceType": "module",
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
}
|
|
},
|
|
"rules": {
|
|
"curly": "error",
|
|
"no-extra-boolean-cast": "error",
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
"@typescript-eslint/no-empty-function": "off",
|
|
"@typescript-eslint/ban-ts-comment": "warn",
|
|
"@typescript-eslint/ban-types": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-object-literal-type-assertion": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"warn",
|
|
{ "ignoreRestSiblings": true }
|
|
],
|
|
"cypress/no-unnecessary-waiting": "off",
|
|
"react-hooks/rules-of-hooks": "error",
|
|
"react-hooks/exhaustive-deps": "warn",
|
|
"react/display-name": "warn",
|
|
"react/prop-types": "off",
|
|
"no-console": ["error"],
|
|
"simple-import-sort/imports": [
|
|
"error",
|
|
{
|
|
"groups": [
|
|
// Side effect imports.
|
|
["^\\u0000"],
|
|
// Packages. `react` related packages come first.
|
|
["^react", "^@?\\w"],
|
|
// Parent imports. Put `..` last.
|
|
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
|
|
// Other relative imports. Put same-folder imports and `.` last.
|
|
["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"]
|
|
]
|
|
}
|
|
],
|
|
"simple-import-sort/exports": "error"
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["*.test.ts", "*.test.tsx"],
|
|
"rules": {
|
|
// Allow testing runtime errors to suppress TS errors
|
|
"@typescript-eslint/ban-ts-comment": "off"
|
|
}
|
|
}
|
|
],
|
|
"settings": {
|
|
"react": {
|
|
"pragma": "React",
|
|
"version": "detect"
|
|
}
|
|
}
|
|
}
|