| Rule | Status | Configuration |
|---|---|---|
| @stylistic/array-bracket-spacing @stylistic | warn | - |
| @stylistic/arrow-spacing @stylistic | warn | - |
| @stylistic/block-spacing @stylistic | warn | - |
| @stylistic/comma-dangle @stylistic | warn | [
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "always-multiline",
"enums": "always-multiline",
"generics": "always-multiline",
"tuples": "always-multiline"
}
] |
| @stylistic/comma-spacing @stylistic | warn | - |
| @stylistic/comma-style @stylistic | warn | - |
| @stylistic/computed-property-spacing @stylistic | warn | - |
| @stylistic/dot-location @stylistic | warn | [ "property" ] |
| @stylistic/eol-last @stylistic | warn | - |
| @stylistic/function-call-argument-newline @stylistic | warn | [ "consistent" ] |
| @stylistic/function-call-spacing @stylistic | warn | - |
| @stylistic/indent @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
4,
{
"SwitchCase": 1
}
] |
| @stylistic/jsx-quotes @stylistic | warn | [ "prefer-double" ] |
| @stylistic/key-spacing @stylistic | warn | - |
| @stylistic/keyword-spacing @stylistic | warn | - |
| @stylistic/lines-between-class-members @stylistic | warn | [
"always",
{
"exceptAfterSingleLine": true
}
] |
| @stylistic/max-len @stylistic | warn | [ 140, 4 ] |
| @stylistic/member-delimiter-style @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| @stylistic/newline-per-chained-call @stylistic | warn | [
{
"ignoreChainWithDepth": 3
}
] |
| @stylistic/no-extra-semi @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| @stylistic/no-floating-decimal @stylistic | warn | - |
| @stylistic/no-mixed-spaces-and-tabs @stylistic | warn | - |
| @stylistic/no-multi-spaces @stylistic | warn | - |
| @stylistic/no-multiple-empty-lines @stylistic | warn | [
{
"max": 1
}
] |
| @stylistic/no-tabs @stylistic | warn | - |
| @stylistic/no-trailing-spaces @stylistic | warn | - |
| @stylistic/no-whitespace-before-property @stylistic | warn | - |
| @stylistic/object-curly-spacing @stylistic | warn | [ "always" ] |
| @stylistic/padded-blocks @stylistic | warn | [
{
"blocks": "never",
"classes": "always",
"switches": "never"
}
] |
| @stylistic/quote-props @stylistic | warn | [ "as-needed" ] |
| @stylistic/quotes @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
"single",
{
"avoidEscape": true
}
] |
| @stylistic/rest-spread-spacing @stylistic | warn | - |
| @stylistic/semi @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [ "always" ] |
| @stylistic/semi-spacing @stylistic | warn | - |
| @stylistic/space-before-blocks @stylistic | warn | - |
| @stylistic/space-before-function-paren @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"anonymous": "always",
"named": "never"
}
] |
| @stylistic/space-in-parens @stylistic | warn | - |
| @stylistic/template-curly-spacing @stylistic | warn | - |
| @stylistic/template-tag-spacing @stylistic | warn | - |
| @stylistic/type-annotation-spacing @stylistic **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| @stylistic/wrap-iife @stylistic | warn | - |
| accessor-pairs eslint | error | - |
| array-callback-return eslint | error | - |
| arrow-body-style eslint | warn | [ "as-needed" ] |
| constructor-super eslint | error | - |
| curly eslint | warn | - |
| eqeqeq eslint | warn | - |
| for-direction eslint | error | - |
| func-names eslint | warn | - |
| getter-return eslint | error | [
{
"allowImplicit": true
}
] |
| grouped-accessor-pairs eslint | warn | - |
| guard-for-in eslint | warn | - |
| jest/consistent-test-it jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | [
{
"fn": "test",
"withinDescribe": "it"
}
] |
| jest/no-commented-out-tests jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-conditional-expect jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/no-disabled-tests jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/no-duplicate-hooks jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-export jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-focused-tests jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/no-identical-title jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-jasmine-globals jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-mocks-import jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-restricted-matchers jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | [
{
"toBeTruthy": "Avoid `toBeTruthy`",
"toBeFalsy": "Avoid `toBeFalsy`"
}
] |
| jest/no-standalone-expect jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/no-test-prefixes jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/prefer-hooks-on-top jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/prefer-lowercase-title jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | [
{
"ignore": [
"describe"
]
}
] |
| jest/prefer-to-be jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/prefer-to-contain jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/prefer-to-have-length jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/prefer-todo jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/require-top-level-describe jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jest/valid-describe-callback jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/valid-expect jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/valid-expect-in-promise jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
error | - |
| jest/valid-title jest **/*.test.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/*.spec.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__mocks__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs}, **/__tests__/**/*.{ts,tsx,js,jsx,mts,mjs,cts,cjs} |
warn | - |
| jsx-a11y-js/control-has-associated-label jsx-a11y-js | warn | - |
| jsx-a11y-js/interactive-supports-focus jsx-a11y-js | error | - |
| jsx-a11y-js/no-interactive-element-to-noninteractive-role jsx-a11y-js | error | [
{
"tr": [
"none",
"presentation"
]
}
] |
| jsx-a11y-js/no-noninteractive-element-interactions jsx-a11y-js | error | [
{
"handlers": [
"onClick",
"onMouseDown",
"onMouseUp",
"onKeyPress",
"onKeyDown",
"onKeyUp"
]
}
] |
| jsx-a11y-js/no-noninteractive-element-to-interactive-role jsx-a11y-js | error | [
{
"ul": [
"listbox",
"menu",
"menubar",
"radiogroup",
"tablist",
"tree",
"treegrid"
],
"ol": [
"listbox",
"menu",
"menubar",
"radiogroup",
"tablist",
"tree",
"treegrid"
],
"li": [
"menuitem",
"option",
"row",
"tab",
"treeitem"
],
"table": [
"grid"
],
"td": [
"gridcell"
]
}
] |
| jsx-a11y/alt-text jsx-a11y | error | [
{
"elements": [
"img",
"object",
"area",
"input[type=\"image\"]"
],
"img": [],
"object": [],
"area": [],
"input[type=\"image\"]": []
}
] |
| jsx-a11y/anchor-has-content jsx-a11y | warn | [
{
"components": [
"Link"
]
}
] |
| jsx-a11y/aria-activedescendant-has-tabindex jsx-a11y | error | - |
| jsx-a11y/aria-props jsx-a11y | error | - |
| jsx-a11y/aria-proptypes jsx-a11y | error | - |
| jsx-a11y/aria-role jsx-a11y | error | [
{
"ignoreNonDom": false
}
] |
| jsx-a11y/aria-unsupported-elements jsx-a11y | error | - |
| jsx-a11y/autocomplete-valid jsx-a11y | error | - |
| jsx-a11y/heading-has-content jsx-a11y | error | [
{
"components": [
""
]
}
] |
| jsx-a11y/html-has-lang jsx-a11y | error | - |
| jsx-a11y/iframe-has-title jsx-a11y | error | - |
| jsx-a11y/img-redundant-alt jsx-a11y | error | - |
| jsx-a11y/lang jsx-a11y | error | - |
| jsx-a11y/media-has-caption jsx-a11y | error | [
{
"audio": [],
"video": [],
"track": []
}
] |
| jsx-a11y/no-access-key jsx-a11y | error | - |
| jsx-a11y/no-autofocus jsx-a11y | error | [
{
"ignoreNonDOM": true
}
] |
| jsx-a11y/no-distracting-elements jsx-a11y | error | [
{
"elements": [
"marquee",
"blink"
]
}
] |
| jsx-a11y/no-noninteractive-tabindex jsx-a11y | error | [
{
"tags": [],
"roles": [
"tabpanel"
]
}
] |
| jsx-a11y/no-redundant-roles jsx-a11y | error | - |
| jsx-a11y/no-static-element-interactions jsx-a11y | warn | [
{
"handlers": [
"onClick",
"onMouseDown",
"onMouseUp",
"onKeyPress",
"onKeyDown",
"onKeyUp"
]
}
] |
| jsx-a11y/role-has-required-aria-props jsx-a11y | error | - |
| jsx-a11y/role-supports-aria-props jsx-a11y | error | - |
| jsx-a11y/scope jsx-a11y | error | - |
| jsx-a11y/tabindex-no-positive jsx-a11y | error | - |
| no-await-in-loop eslint | warn | - |
| no-caller eslint | error | - |
| no-class-assign eslint | error | - |
| no-compare-neg-zero eslint | error | - |
| no-cond-assign eslint | error | - |
| no-console eslint | warn | - |
| no-const-assign eslint | error | - |
| no-constant-binary-expression eslint | error | - |
| no-constructor-return eslint | warn | - |
| no-debugger eslint | warn | - |
| no-dupe-else-if eslint | error | - |
| no-dupe-keys eslint | error | - |
| no-duplicate-case eslint | error | - |
| no-duplicate-imports eslint | error | - |
| no-empty eslint | warn | [
{
"allowEmptyCatch": true
}
] |
| no-empty-character-class eslint | warn | - |
| no-empty-pattern eslint | warn | - |
| no-eval eslint | error | - |
| no-ex-assign eslint | error | - |
| no-extend-native eslint | error | - |
| no-extra-bind eslint | warn | - |
| no-extra-boolean-cast eslint | warn | - |
| no-func-assign eslint | error | - |
| no-global-assign eslint | error | - |
| no-import-assign eslint | error | - |
| no-inner-declarations eslint | error | - |
| no-invalid-regexp eslint | warn | - |
| no-irregular-whitespace eslint | warn | [
{
"skipStrings": true
}
] |
| no-iterator eslint | error | - |
| no-labels eslint | error | - |
| no-lone-blocks eslint | error | - |
| no-lonely-if eslint | error | - |
| no-loop-func eslint | error | - |
| no-loss-of-precision eslint | error | - |
| no-misleading-character-class eslint | error | - |
| no-negated-condition eslint | warn | - |
| no-nested-ternary eslint | warn | - |
| no-new-func eslint | error | - |
| no-new-native-nonconstructor eslint | error | - |
| no-new-wrappers eslint | error | - |
| no-nonoctal-decimal-escape eslint | warn | - |
| no-obj-calls eslint | error | - |
| no-object-constructor eslint | error | - |
| no-param-reassign eslint | warn | - |
| no-proto eslint | error | - |
| no-script-url eslint | error | - |
| no-self-assign eslint | warn | - |
| no-self-compare eslint | error | - |
| no-setter-return eslint | error | - |
| no-shadow-restricted-names eslint | error | - |
| no-sparse-arrays eslint | warn | - |
| no-template-curly-in-string eslint | error | - |
| no-this-before-super eslint | error | - |
| no-undef eslint | warn | - |
| no-unexpected-multiline eslint | warn | - |
| no-unneeded-ternary eslint | warn | - |
| no-unreachable eslint | warn | - |
| no-unsafe-negation eslint | error | - |
| no-unsafe-optional-chaining eslint | error | - |
| no-unused-private-class-members eslint | warn | - |
| no-useless-backreference eslint | warn | - |
| no-useless-call eslint | warn | - |
| no-useless-catch eslint | warn | - |
| no-useless-concat eslint | warn | - |
| no-useless-escape eslint | warn | - |
| no-useless-rename eslint | warn | - |
| no-useless-return eslint | warn | - |
| no-with eslint | error | - |
| object-shorthand eslint | warn | [
"always",
{
"avoidQuotes": true,
"ignoreConstructors": true,
"avoidExplicitReturnArrows": true
}
] |
| playwright/max-nested-describe playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | [
{
"max": 2
}
] |
| playwright/missing-playwright-await playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-conditional-expect playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-duplicate-hooks playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-element-handle playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-eval playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-focused-test playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-force-option playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-get-by-title playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-nested-step playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-networkidle playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-page-pause playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-standalone-expect playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-unsafe-references playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-useless-await playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/no-useless-not playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-wait-for-selector playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/no-wait-for-timeout playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/prefer-hooks-on-top playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/prefer-strict-equal playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/prefer-to-contain playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/prefer-to-have-count playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/prefer-to-have-length playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/prefer-web-first-assertions playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/valid-describe-callback playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| playwright/valid-expect playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
warn | - |
| playwright/valid-expect-in-promise playwright e2e/**/*.@(spec|test).?(c|m)[jt]s?(x) |
error | - |
| prefer-const eslint | warn | - |
| prefer-destructuring eslint | warn | [
{
"VariableDeclarator": {
"array": false,
"object": true
}
}
] |
| prefer-object-has-own eslint | warn | - |
| prefer-rest-params eslint | warn | - |
| prefer-spread eslint | warn | - |
| prefer-template eslint | warn | - |
| react-js/jsx-closing-bracket-location react-js | warn | [ "tag-aligned" ] |
| react-js/jsx-closing-tag-location react-js | warn | - |
| react-js/jsx-curly-newline react-js | warn | - |
| react-js/jsx-curly-spacing react-js | warn | [ "never" ] |
| react-js/jsx-equals-spacing react-js | warn | [ "never" ] |
| react-js/jsx-indent react-js | warn | [ 4 ] |
| react-js/jsx-max-props-per-line react-js | warn | [
{
"maximum": 1,
"when": "multiline"
}
] |
| react-js/jsx-no-leaked-render react-js | error | [
{
"validStrategies": [
"ternary"
]
}
] |
| react-js/jsx-props-no-multi-spaces react-js | warn | - |
| react-js/jsx-tag-spacing react-js | warn | [
{
"closingSlash": "never",
"beforeSelfClosing": "never",
"afterOpening": "never",
"beforeClosing": "never"
}
] |
| react-js/jsx-wrap-multilines react-js | warn | - |
| react-js/no-access-state-in-setstate react-js | warn | - |
| react-js/no-adjacent-inline-elements react-js | warn | - |
| react-js/no-arrow-function-lifecycle react-js | warn | - |
| react-js/no-deprecated react-js | warn | - |
| react-js/no-did-update-set-state react-js | warn | - |
| react-js/no-typos react-js | error | - |
| react-js/no-unstable-nested-components react-js | error | [
{
"allowAsProps": true
}
] |
| react-js/no-unused-state react-js | warn | - |
| react-js/prefer-stateless-function react-js | warn | [
{
"ignorePureComponents": true
}
] |
| react-js/sort-comp react-js | warn | [
{
"order": [
"static-variables",
"static-methods",
"instance-variables",
"lifecycle",
"everything-else",
"render"
],
"groups": {
"lifecycle": [
"displayName",
"propTypes",
"contextTypes",
"childContextTypes",
"mixins",
"statics",
"defaultProps",
"getDefaultProps",
"state",
"getInitialState",
"constructor",
"getChildContext",
"getDerivedStateFromProps",
"componentWillMount",
"UNSAFE_componentWillMount",
"componentDidMount",
"componentWillReceiveProps",
"UNSAFE_componentWillReceiveProps",
"shouldComponentUpdate",
"componentWillUpdate",
"UNSAFE_componentWillUpdate",
"getSnapshotBeforeUpdate",
"componentDidUpdate",
"componentDidCatch",
"componentWillUnmount"
]
}
}
] |
| react-js/static-property-placement react-js | warn | - |
| react/button-has-type react | warn | - |
| react/exhaustive-deps react | error | - |
| react/iframe-missing-sandbox react | error | - |
| react/jsx-boolean-value react | warn | [ "always" ] |
| react/jsx-curly-brace-presence react | warn | [
{
"props": "never",
"children": "never"
}
] |
| react/jsx-filename-extension react | error | [
{
"extensions": [
".js",
".jsx",
".tsx",
".mdx"
]
}
] |
| react/jsx-fragments react | warn | [ "element" ] |
| react/jsx-handler-names react | warn | - |
| react/jsx-key react | error | - |
| react/jsx-max-depth react | warn | [
{
"max": 13
}
] |
| react/jsx-no-comment-textnodes react | error | - |
| react/jsx-no-constructed-context-values react | error | - |
| react/jsx-no-duplicate-props react | warn | - |
| react/jsx-no-script-url react | error | - |
| react/jsx-no-useless-fragment react | warn | [
{
"allowExpressions": true
}
] |
| react/jsx-pascal-case react | warn | - |
| react/no-array-index-key react | warn | - |
| react/no-children-prop react | error | - |
| react/no-danger-with-children react | error | - |
| react/no-did-mount-set-state react | warn | - |
| react/no-direct-mutation-state react | warn | - |
| react/no-find-dom-node react | error | - |
| react/no-is-mounted react | error | - |
| react/no-multi-comp react | warn | [
{
"ignoreStateless": true
}
] |
| react/no-namespace react | error | - |
| react/no-render-return-value react | error | - |
| react/no-string-refs react | error | - |
| react/no-this-in-sfc react | error | - |
| react/no-unescaped-entities react | error | - |
| react/no-will-update-set-state react | error | - |
| react/prefer-es6-class react | warn | - |
| react/react-in-jsx-scope react | error | - |
| react/require-render-return react | error | - |
| react/rules-of-hooks react | error | - |
| react/self-closing-comp react | warn | - |
| typescript/adjacent-overload-signatures typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/array-type typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"default": "array-simple"
}
] |
| typescript/ban-ts-comment typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/consistent-type-assertions typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"assertionStyle": "as"
}
] |
| typescript/consistent-type-imports typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"prefer": "type-imports",
"fixStyle": "inline-type-imports",
"disallowTypeAnnotations": false
}
] |
| typescript/default-param-last typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-array-constructor typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-dupe-class-members typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-duplicate-type-constituents typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-empty-function typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-explicit-any typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"ignoreRestArgs": true
}
] |
| typescript/no-extra-non-null-assertion typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-for-in-array typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-implied-eval typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-inferrable-types typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"ignoreParameters": true,
"ignoreProperties": true
}
] |
| typescript/no-misused-new typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-misused-promises typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | [
{
"checksVoidReturn": false
}
] |
| typescript/no-non-null-asserted-optional-chain typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-redeclare typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/no-require-imports typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-shadow typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"ignoreOnInitialization": true
}
] |
| typescript/no-this-alias typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-unnecessary-qualifier typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-unnecessary-type-arguments typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/no-unused-expressions typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"allowTernary": true
}
] |
| typescript/no-unused-vars typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"ignoreRestSiblings": true
}
] |
| typescript/no-use-before-define typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | [
{
"functions": false,
"classes": false,
"enums": true,
"variables": true,
"typedefs": false
}
] |
| typescript/no-useless-constructor typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/only-throw-error typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/prefer-as-const typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/prefer-for-of typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/prefer-includes typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/prefer-namespace-keyword typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/prefer-optional-chain typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/prefer-string-starts-ends-with typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
warn | - |
| typescript/require-await typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| typescript/triple-slash-reference typescript **/*.ts, **/*.tsx, **/*.mts, **/*.cts |
error | - |
| use-isnan eslint | error | - |
| valid-typeof eslint | error | - |
| vars-on-top eslint | warn | - |
| yoda eslint | warn | - |