You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.8 KiB
71 lines
1.8 KiB
{
|
|
"rules": {
|
|
"no-console": "error",
|
|
"camelcase": "warn",
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
"patterns": ["..*"]
|
|
}
|
|
],
|
|
"simple-import-sort/imports": "error",
|
|
"@typescript-eslint/explicit-module-boundary-types": "off",
|
|
"@typescript-eslint/no-empty-function": "warn",
|
|
"@typescript-eslint/no-empty-interface": "off",
|
|
"@typescript-eslint/no-unused-vars": "warn"
|
|
},
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:react-hooks/recommended",
|
|
"plugin:@typescript-eslint/recommended"
|
|
],
|
|
"plugins": ["testing-library", "simple-import-sort", "react-refresh"],
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"**/__tests__/**/*.[jt]s?(x)",
|
|
"**/?(*.)+(spec|test).[jt]s?(x)"
|
|
],
|
|
"extends": ["plugin:testing-library/react"]
|
|
},
|
|
{
|
|
"files": ["*.ts", "*.tsx"],
|
|
"rules": {
|
|
"simple-import-sort/imports": [
|
|
"error",
|
|
{
|
|
"groups": [
|
|
[
|
|
// React Packages
|
|
"^react",
|
|
// Mantine Packages
|
|
"^@mantine/",
|
|
// Vendor Packages
|
|
"^(\\w|@\\w)",
|
|
// Side Effect Imports
|
|
"^\\u0000",
|
|
// Internal Packages
|
|
"^@/\\w",
|
|
// Parent Imports
|
|
"^\\.\\.(?!/?$)",
|
|
"^\\.\\./?$",
|
|
// Relative Imports
|
|
"^\\./(?=.*/)(?!/?$)",
|
|
"^\\.(?!/?$)",
|
|
"^\\./?$",
|
|
// Style Imports
|
|
"^.+\\.?(css)$"
|
|
]
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"sourceType": "module",
|
|
"ecmaVersion": "latest"
|
|
}
|
|
}
|