antfu/consistent-chaining | ['error', { allowLeadingPropertyAccess: true }] | Enforces consistent chaining styles, allowing leading property access. |
antfu/if-newline | ['error'] | Enforces a newline after the if keyword. |
antfu/import-dedupe | ['error'] | Removes duplicate imports. |
arrow-body-style | ['error', 'always'] | Requires braces around arrow function bodies. |
brace-style | ['error', 'stroustrup'] | Enforces Stroustrup style for braces. |
curly | ['error', 'multi-line', 'consistent'] | Enforces consistent use of curly braces for multi-line blocks. |
eol-last | ['error', 'always'] | Requires a newline at the end of files. |
eqeqeq | ['error', 'smart'] | Requires the use of === and !==, except when comparing with null. |
logical-assignment-operators | ['warn'] | Suggests using logical assignment operators (e.g., &&=, ` |
multiline-ternary | ['error', 'always-multiline'] | Enforces newlines between operands of ternary expressions if the expression spans multiple lines. |
newline-before-return | ['error'] | Requires an empty line before return statements. |
newline-per-chained-call | ['error', { ignoreChainWithDepth: 1 }] | Requires a newline after each call in a method chain, ignoring single-depth chains. |
no-console | ['warn', { allow: ['warn', 'error'] }] | Warns about console usage, except for console.warn and console.error. |
no-else-return | ['warn'] | Suggests omitting else when an if block always executes a return statement. |
no-empty-function | ['off', { allow: ['arrowFunctions'] }] | Allows empty functions, including arrow functions. |
no-implicit-coercion | ['warn'] | Warns against implicit type coercion (e.g., !!foo, +bar). |
no-param-reassign | ['error', { props: false }] | Disallows reassigning function parameters, but allows modifying properties of parameters. |
no-shadow | ['off', { allow: ['_id', '_count', 'T'] }] | Allows variable shadowing, explicitly permitting _id, _count, and T. |
no-shadow-restricted-names | ['error'] | Disallows shadowing of restricted names (e.g., undefined, NaN). |
no-underscore-dangle | ['off', { allow: ['_id', '_count'] }] | Allows use of underscores in identifiers, explicitly permitting _id and _count. |
no-unused-expressions | ['error', { allowShortCircuit: true }] | Disallows unused expressions, but allows short circuit evaluations (e.g., a && b()). |
no-unused-vars | ['warn', { args: 'none' }] | Warns about unused variables, ignoring function arguments. |
no-use-before-define | ['error', { functions: false }] | Disallows use of variables before they are defined, except for function declarations. |
operator-assignment | ['warn'] | Suggests using shorthand assignment operators where possible (e.g., x += y instead of x = x + y). |
prefer-destructuring | ['warn'] | Encourages use of object and array destructuring. |
prefer-object-has-own | ['warn'] | Suggests using Object.hasOwn() instead of Object.prototype.hasOwnProperty.call(). |
style/array-bracket-newline | ['error', { minItems: 3, multiline: true }] | Enforces line breaks after opening and before closing array brackets for multiline arrays with 3 or more items. |
style/max-statements-per-line | ['off'] | Does not limit the number of statements per line. |
style/newline-per-chained-call | ['error'] | Requires a newline after each call in a method chain. |
style/no-confusing-arrow | ['error'] | Disallows arrow functions where they could be confused with comparisons (e.g., x => a ? b : c). |
style/type-named-tuple-spacing | ['error'] | Enforces consistent spacing in named tuple types. |
style/wrap-regex | ['error'] | Requires regex literals to be wrapped in parentheses. |
import/order | (complex configuration via perfectionist/sort-imports) | Enforces a specific import order (handled by perfectionist). |