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.
108 lines
2.6 KiB
108 lines
2.6 KiB
{
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:react/recommended",
|
|
"airbnb",
|
|
"react-app"
|
|
],
|
|
"plugins": [
|
|
"sort-destructure-keys",
|
|
"typescript-sort-keys",
|
|
"postro4no"
|
|
],
|
|
"rules": {
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/array-type": [
|
|
"warn",
|
|
{ "default" : "generic" }
|
|
],
|
|
"@typescript-eslint/indent": ["warn", 2],
|
|
"@typescript-eslint/member-delimiter-style": ["warn", {
|
|
"multiline": {
|
|
"delimiter": "comma",
|
|
"requireLast": true
|
|
},
|
|
"singleline": {
|
|
"delimiter": "comma",
|
|
"requireLast": false
|
|
}
|
|
}],
|
|
"@typescript-eslint/no-shadow": "warn",
|
|
"@typescript-eslint/semi": ["error", "never"],
|
|
"import/extensions": [
|
|
"warn",
|
|
"never",
|
|
{
|
|
"svg": "always",
|
|
"css": "always",
|
|
"scss": "always"
|
|
}
|
|
],
|
|
"import/no-duplicates": "warn",
|
|
"import/no-extraneous-dependencies": [
|
|
"warn",
|
|
{
|
|
"devDependencies": [
|
|
"src/setupTests.ts",
|
|
"src/**/stories.tsx"
|
|
]
|
|
}
|
|
],
|
|
"jsx-quotes": [
|
|
"warn",
|
|
"prefer-single"
|
|
],
|
|
"no-param-reassign": [
|
|
"warn",
|
|
{
|
|
"props": true,
|
|
"ignorePropertyModificationsFor": ["self", "acc"]
|
|
}
|
|
],
|
|
"postro4no/function-args": "warn",
|
|
"postro4no/import": "warn",
|
|
"postro4no/object-props": "warn",
|
|
"react/jsx-filename-extension": [
|
|
"warn",
|
|
{ "extensions": [".tsx"] }
|
|
],
|
|
"react/jsx-indent": ["warn", 2],
|
|
"sort-destructure-keys/sort-destructure-keys": [
|
|
1,
|
|
{ "caseSensitive": false }
|
|
],
|
|
"sort-keys": [
|
|
"warn",
|
|
"asc", {
|
|
"caseSensitive": true,
|
|
"natural": true
|
|
}
|
|
],
|
|
"typescript-sort-keys/interface": 1,
|
|
"typescript-sort-keys/string-enum": 1,
|
|
"react/function-component-definition": [
|
|
2,
|
|
{
|
|
"namedComponents": "arrow-function",
|
|
"unnamedComponents": "arrow-function"
|
|
},
|
|
],
|
|
"react/jsx-no-useless-fragment": [2, { "allowExpressions": true }],
|
|
"camelcase": "off",
|
|
"default-param-last": 0,
|
|
"import/no-unresolved": "off",
|
|
"import/prefer-default-export": "off",
|
|
"indent": "off",
|
|
"no-plusplus": "off",
|
|
"no-shadow": "off",
|
|
"no-underscore-dangle": "off",
|
|
"no-unused-vars": "off",
|
|
"react/jsx-fragments": "off",
|
|
"react/jsx-one-expression-per-line": "off",
|
|
"react/prop-types": "off",
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/require-default-props": "off",
|
|
"semi": "off",
|
|
"no-multiple-empty-lines":["error",{ "max":1 }]
|
|
}
|
|
}
|
|
|