mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-07-04 08:56:50 +00:00
Converted to Vite since create-react-app is no longer being developed
This commit is contained in:
113
frontend/.eslintrc.cjs
Normal file
113
frontend/.eslintrc.cjs
Normal file
@ -0,0 +1,113 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2020: true,
|
||||
},
|
||||
extends: [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended",
|
||||
"plugin:react-hooks/recommended",
|
||||
"plugin:import/recommended",
|
||||
"plugin:import/typescript",
|
||||
"plugin:prettier/recommended",
|
||||
"plugin:react/recommended",
|
||||
"prettier",
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
parserOptions: {
|
||||
ecmaVersion: "latest",
|
||||
sourceType: "module",
|
||||
},
|
||||
plugins: ["react-refresh"],
|
||||
settings: {
|
||||
"import/resolver": {
|
||||
// You will also need to install and configure the TypeScript resolver
|
||||
// See also https://github.com/import-js/eslint-import-resolver-typescript#configuration
|
||||
typescript: true,
|
||||
node: true,
|
||||
},
|
||||
},
|
||||
rules: {
|
||||
"import/default": 0,
|
||||
"import/no-named-as-default-member": 0,
|
||||
"import/no-named-as-default": 0,
|
||||
"react-refresh/only-export-components": 0,
|
||||
"react/react-in-jsx-scope": 0,
|
||||
"prettier/prettier": ["error"],
|
||||
"@typescript-eslint/ban-ts-comment": [
|
||||
"error",
|
||||
{
|
||||
"ts-ignore": "allow-with-description",
|
||||
},
|
||||
],
|
||||
"@typescript-eslint/consistent-type-definitions": ["error", "interface"],
|
||||
"@typescript-eslint/explicit-function-return-type": ["off"],
|
||||
"@typescript-eslint/explicit-module-boundary-types": ["off"],
|
||||
"@typescript-eslint/explicit-member-accessibility": ["off"],
|
||||
"@typescript-eslint/no-empty-function": ["off"],
|
||||
"@typescript-eslint/no-explicit-any": ["off"],
|
||||
"@typescript-eslint/no-non-null-assertion": ["off"],
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
selector: "default",
|
||||
format: ["camelCase", "PascalCase", "UPPER_CASE"],
|
||||
leadingUnderscore: "allow",
|
||||
trailingUnderscore: "allow",
|
||||
filter: {
|
||||
regex: "^(2xl)$",
|
||||
match: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
"react-hooks/rules-of-hooks": ["error"],
|
||||
"react-hooks/exhaustive-deps": [
|
||||
"warn",
|
||||
{
|
||||
additionalHooks: "useAction|useReduxAction",
|
||||
},
|
||||
],
|
||||
"react/jsx-curly-brace-presence": [
|
||||
"warn",
|
||||
{
|
||||
props: "never",
|
||||
children: "never",
|
||||
},
|
||||
],
|
||||
"no-restricted-globals": ["off"],
|
||||
"import/extensions": 0, // We let webpack handle resolving file extensions
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
alphabetize: {
|
||||
order: "asc",
|
||||
caseInsensitive: true,
|
||||
},
|
||||
"newlines-between": "always",
|
||||
pathGroups: [
|
||||
{
|
||||
pattern: "@(react)",
|
||||
group: "external",
|
||||
position: "before",
|
||||
},
|
||||
{
|
||||
pattern: "@/@(fixtures|jest)/**",
|
||||
group: "internal",
|
||||
position: "before",
|
||||
},
|
||||
{
|
||||
pattern: "@/**",
|
||||
group: "internal",
|
||||
},
|
||||
],
|
||||
pathGroupsExcludedImportTypes: ["builtin", "internal"],
|
||||
groups: [
|
||||
"builtin",
|
||||
"external",
|
||||
"internal",
|
||||
["parent", "sibling", "index"],
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
Reference in New Issue
Block a user