281 lines
9.2 KiB
JSON
281 lines
9.2 KiB
JSON
{
|
|
"javascript": {
|
|
"constructor-super": "error",
|
|
"for-direction": "error",
|
|
"getter-return": "error",
|
|
"no-async-promise-executor": "error",
|
|
"no-case-declarations": "error",
|
|
"no-class-assign": "error",
|
|
"no-compare-neg-zero": "error",
|
|
"no-cond-assign": "error",
|
|
"no-const-assign": "error",
|
|
"no-constant-binary-expression": "error",
|
|
"no-constant-condition": "error",
|
|
"no-control-regex": "error",
|
|
"no-debugger": "error",
|
|
"no-delete-var": "error",
|
|
"no-dupe-args": "error",
|
|
"no-dupe-class-members": "error",
|
|
"no-dupe-else-if": "error",
|
|
"no-dupe-keys": "error",
|
|
"no-duplicate-case": "error",
|
|
"no-empty": "error",
|
|
"no-empty-character-class": "error",
|
|
"no-empty-pattern": "error",
|
|
"no-empty-static-block": "error",
|
|
"no-ex-assign": "error",
|
|
"no-extra-boolean-cast": "error",
|
|
"no-fallthrough": "error",
|
|
"no-func-assign": "error",
|
|
"no-global-assign": "error",
|
|
"no-import-assign": "error",
|
|
"no-invalid-regexp": "error",
|
|
"no-irregular-whitespace": "error",
|
|
"no-loss-of-precision": "error",
|
|
"no-misleading-character-class": "error",
|
|
"no-new-native-nonconstructor": "error",
|
|
"no-nonoctal-decimal-escape": "error",
|
|
"no-obj-calls": "error",
|
|
"no-octal": "error",
|
|
"no-prototype-builtins": "error",
|
|
"no-redeclare": "error",
|
|
"no-regex-spaces": "error",
|
|
"no-self-assign": "error",
|
|
"no-setter-return": "error",
|
|
"no-shadow-restricted-names": "error",
|
|
"no-sparse-arrays": "error",
|
|
"no-this-before-super": "error",
|
|
"no-undef": "error",
|
|
"no-unexpected-multiline": "error",
|
|
"no-unreachable": "error",
|
|
"no-unsafe-finally": "error",
|
|
"no-unsafe-negation": "error",
|
|
"no-unsafe-optional-chaining": "error",
|
|
"no-unused-labels": "error",
|
|
"no-unused-private-class-members": "error",
|
|
"no-unused-vars": "error",
|
|
"no-useless-backreference": "error",
|
|
"no-useless-catch": "error",
|
|
"no-useless-escape": "error",
|
|
"no-with": "error",
|
|
"require-yield": "error",
|
|
"use-isnan": "error",
|
|
"valid-typeof": "error"
|
|
},
|
|
"react": {
|
|
"react/display-name": 2,
|
|
"react/jsx-key": 2,
|
|
"react/jsx-no-comment-textnodes": 2,
|
|
"react/jsx-no-duplicate-props": 2,
|
|
"react/jsx-no-target-blank": 2,
|
|
"react/jsx-no-undef": 2,
|
|
"react/jsx-uses-react": 2,
|
|
"react/jsx-uses-vars": 2,
|
|
"react/no-children-prop": 2,
|
|
"react/no-danger-with-children": 2,
|
|
"react/no-deprecated": 2,
|
|
"react/no-direct-mutation-state": 2,
|
|
"react/no-find-dom-node": 2,
|
|
"react/no-is-mounted": 2,
|
|
"react/no-render-return-value": 2,
|
|
"react/no-string-refs": 2,
|
|
"react/no-unescaped-entities": 2,
|
|
"react/no-unknown-property": 2,
|
|
"react/no-unsafe": 0,
|
|
"react/prop-types": 2,
|
|
"react/react-in-jsx-scope": 2,
|
|
"react/require-render-return": 2
|
|
},
|
|
"jsxRuntime": {
|
|
"react/react-in-jsx-scope": 0,
|
|
"react/jsx-uses-react": 0
|
|
},
|
|
"hooks": {
|
|
"react-hooks/rules-of-hooks": "error",
|
|
"react-hooks/exhaustive-deps": "warn"
|
|
},
|
|
"i18next": {
|
|
"i18next/no-literal-string": [
|
|
2
|
|
]
|
|
},
|
|
"typescript": [
|
|
{
|
|
"name": "typescript-eslint/base",
|
|
"languageOptions": {
|
|
"sourceType": "module"
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"**/*.ts",
|
|
"**/*.tsx",
|
|
"**/*.mts",
|
|
"**/*.cts"
|
|
],
|
|
"rules": {
|
|
"constructor-super": "off",
|
|
"getter-return": "off",
|
|
"no-class-assign": "off",
|
|
"no-const-assign": "off",
|
|
"no-dupe-args": "off",
|
|
"no-dupe-class-members": "off",
|
|
"no-dupe-keys": "off",
|
|
"no-func-assign": "off",
|
|
"no-import-assign": "off",
|
|
"no-new-native-nonconstructor": "off",
|
|
"no-new-symbol": "off",
|
|
"no-obj-calls": "off",
|
|
"no-redeclare": "off",
|
|
"no-setter-return": "off",
|
|
"no-this-before-super": "off",
|
|
"no-undef": "off",
|
|
"no-unreachable": "off",
|
|
"no-unsafe-negation": "off",
|
|
"no-var": "error",
|
|
"no-with": "off",
|
|
"prefer-const": "error",
|
|
"prefer-rest-params": "error",
|
|
"prefer-spread": "error"
|
|
},
|
|
"name": "typescript-eslint/eslint-recommended"
|
|
},
|
|
{
|
|
"name": "typescript-eslint/recommended",
|
|
"rules": {
|
|
"@typescript-eslint/ban-ts-comment": "error",
|
|
"no-array-constructor": "off",
|
|
"@typescript-eslint/no-array-constructor": "error",
|
|
"@typescript-eslint/no-duplicate-enum-values": "error",
|
|
"@typescript-eslint/no-empty-object-type": "error",
|
|
"@typescript-eslint/no-explicit-any": "error",
|
|
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
|
"@typescript-eslint/no-misused-new": "error",
|
|
"@typescript-eslint/no-namespace": "error",
|
|
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
|
|
"@typescript-eslint/no-require-imports": "error",
|
|
"@typescript-eslint/no-this-alias": "error",
|
|
"@typescript-eslint/no-unnecessary-type-constraint": "error",
|
|
"@typescript-eslint/no-unsafe-declaration-merging": "error",
|
|
"@typescript-eslint/no-unsafe-function-type": "error",
|
|
"no-unused-expressions": "off",
|
|
"@typescript-eslint/no-unused-expressions": "error",
|
|
"no-unused-vars": "off",
|
|
"@typescript-eslint/no-unused-vars": "error",
|
|
"@typescript-eslint/no-wrapper-object-types": "error",
|
|
"@typescript-eslint/prefer-as-const": "error",
|
|
"@typescript-eslint/prefer-namespace-keyword": "error",
|
|
"@typescript-eslint/triple-slash-reference": "error"
|
|
}
|
|
}
|
|
],
|
|
"jest": {
|
|
"jest/expect-expect": "warn",
|
|
"jest/no-alias-methods": "error",
|
|
"jest/no-commented-out-tests": "warn",
|
|
"jest/no-conditional-expect": "error",
|
|
"jest/no-deprecated-functions": "error",
|
|
"jest/no-disabled-tests": "warn",
|
|
"jest/no-done-callback": "error",
|
|
"jest/no-export": "error",
|
|
"jest/no-focused-tests": "error",
|
|
"jest/no-identical-title": "error",
|
|
"jest/no-interpolation-in-snapshots": "error",
|
|
"jest/no-jasmine-globals": "error",
|
|
"jest/no-mocks-import": "error",
|
|
"jest/no-standalone-expect": "error",
|
|
"jest/no-test-prefixes": "error",
|
|
"jest/valid-describe-callback": "error",
|
|
"jest/valid-expect": "error",
|
|
"jest/valid-expect-in-promise": "error",
|
|
"jest/valid-title": "error"
|
|
},
|
|
"jestDom": {
|
|
"jest-dom/prefer-checked": "error",
|
|
"jest-dom/prefer-empty": "error",
|
|
"jest-dom/prefer-enabled-disabled": "error",
|
|
"jest-dom/prefer-focus": "error",
|
|
"jest-dom/prefer-in-document": "error",
|
|
"jest-dom/prefer-required": "error",
|
|
"jest-dom/prefer-to-have-attribute": "error",
|
|
"jest-dom/prefer-to-have-class": "error",
|
|
"jest-dom/prefer-to-have-style": "error",
|
|
"jest-dom/prefer-to-have-text-content": "error",
|
|
"jest-dom/prefer-to-have-value": "error"
|
|
},
|
|
"testingLibrary": {
|
|
"testing-library/await-async-events": [
|
|
"error",
|
|
{
|
|
"eventModule": "userEvent"
|
|
}
|
|
],
|
|
"testing-library/await-async-queries": "error",
|
|
"testing-library/await-async-utils": "error",
|
|
"testing-library/no-await-sync-events": [
|
|
"error",
|
|
{
|
|
"eventModules": [
|
|
"fire-event"
|
|
]
|
|
}
|
|
],
|
|
"testing-library/no-await-sync-queries": "error",
|
|
"testing-library/no-container": "error",
|
|
"testing-library/no-debugging-utils": "warn",
|
|
"testing-library/no-dom-import": [
|
|
"error",
|
|
"react"
|
|
],
|
|
"testing-library/no-global-regexp-flag-in-query": "error",
|
|
"testing-library/no-manual-cleanup": "error",
|
|
"testing-library/no-node-access": "error",
|
|
"testing-library/no-promise-in-fire-event": "error",
|
|
"testing-library/no-render-in-lifecycle": "error",
|
|
"testing-library/no-unnecessary-act": "error",
|
|
"testing-library/no-wait-for-multiple-assertions": "error",
|
|
"testing-library/no-wait-for-side-effects": "error",
|
|
"testing-library/no-wait-for-snapshot": "error",
|
|
"testing-library/prefer-find-by": "error",
|
|
"testing-library/prefer-presence-queries": "error",
|
|
"testing-library/prefer-query-by-disappearance": "error",
|
|
"testing-library/prefer-screen-queries": "error",
|
|
"testing-library/render-result-naming-convention": "error"
|
|
},
|
|
"storybook": [
|
|
{
|
|
"name": "storybook:recommended:setup"
|
|
},
|
|
{
|
|
"name": "storybook:recommended:stories-rules",
|
|
"files": [
|
|
"**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)",
|
|
"**/*.story.@(ts|tsx|js|jsx|mjs|cjs)"
|
|
],
|
|
"rules": {
|
|
"react-hooks/rules-of-hooks": "off",
|
|
"import/no-anonymous-default-export": "off",
|
|
"storybook/await-interactions": "error",
|
|
"storybook/context-in-play-function": "error",
|
|
"storybook/default-exports": "error",
|
|
"storybook/hierarchy-separator": "warn",
|
|
"storybook/no-redundant-story-name": "warn",
|
|
"storybook/no-renderer-packages": "error",
|
|
"storybook/prefer-pascal-case": "warn",
|
|
"storybook/story-exports": "error",
|
|
"storybook/use-storybook-expect": "error",
|
|
"storybook/use-storybook-testing-library": "error"
|
|
}
|
|
},
|
|
{
|
|
"name": "storybook:recommended:main-rules",
|
|
"files": [
|
|
".storybook/main.@(js|cjs|mjs|ts)"
|
|
],
|
|
"rules": {
|
|
"storybook/no-uninstalled-addons": "error"
|
|
}
|
|
}
|
|
]
|
|
}
|