@@ -587,12 +587,13 @@ export default [
587587
588588 // Overriding recommended unicorn rules.
589589 // Rules not listed here are left at the `recommended` default. The entries below
590- // document deliberate exceptions (counts are from the v72 run where applicable).
591- 'unicorn/catch-error-name' : [ 'off' , { name : 'err' } ] , // Many errors
590+ // document deliberate exceptions. Volume markers stay coarse so they do not drift:
591+ // `few` is under ten sites, `many` is tens, `lots` is hundreds or more.
592+ 'unicorn/catch-error-name' : [ 'off' , { name : 'err' } ] , // lots
592593 'unicorn/expiring-todo-comments' : 'off' ,
593- 'unicorn/filename-case' : [ 'off' , { case : 'kebabCase' } ] , // Many errors
594- 'unicorn/name-replacements' : 'off' , // Many errors | naming churn (split out of prevent-abbreviations)
595- 'unicorn/prevent-abbreviations' : 'off' , // Many errors
594+ 'unicorn/filename-case' : [ 'off' , { case : 'kebabCase' } ] , // lots
595+ 'unicorn/name-replacements' : 'off' , // lots | naming churn (split out of prevent-abbreviations)
596+ 'unicorn/prevent-abbreviations' : 'off' , // Its replacements moved to name-replacements
596597
597598 // These rules require a newer Node.js version than we support
598599 'unicorn/no-array-reverse' : 'off' , // Node.js 20
@@ -604,38 +605,38 @@ export default [
604605 'unicorn/prefer-iterator-to-array' : 'off' , // Iterator helpers (Node.js 22)
605606 'unicorn/prefer-iterator-to-array-at-end' : 'off' , // Iterator helpers (Node.js 22)
606607 'unicorn/prefer-promise-try' : 'off' , // Promise.try (Node.js 24)
607- 'unicorn/prefer-promise-with-resolvers' : 'off' , // 6 errors | Promise.withResolvers (Node.js 22)
608+ 'unicorn/prefer-promise-with-resolvers' : 'off' , // few | Promise.withResolvers (Node.js 22)
608609 'unicorn/prefer-set-methods' : 'off' , // Set methods (Node.js 22)
609610 'unicorn/prefer-temporal' : 'off' , // Temporal is not stable on supported Node.js
610611 'unicorn/prefer-uint8array-base64' : 'off' , // Uint8Array base64 (Node.js 22)
611612
612613 // These rules could potentially be evaluated again at a much later point
613- 'unicorn/class-reference-in-static-methods' : 'off' , // 6 errors
614- 'unicorn/consistent-class-member-order' : 'off' , // 55 errors | ordering churn
615- 'unicorn/consistent-conditional-object-spread' : 'off' , // 3 errors
614+ 'unicorn/class-reference-in-static-methods' : 'off' , // few
615+ 'unicorn/consistent-class-member-order' : 'off' , // many | ordering churn
616+ 'unicorn/consistent-conditional-object-spread' : 'off' , // few
616617 'unicorn/explicit-length-check' : 'off' , // Not a big advantage
617618 'unicorn/explicit-timer-delay' : 'off' , // Covered by our own timer lint rules
618619 'unicorn/no-array-callback-reference' : 'off' ,
619- 'unicorn/no-computed-property-existence-check' : 'off' , // 160 errors | needs an audit
620- 'unicorn/no-declarations-before-early-exit' : 'off' , // 62 errors
621- 'unicorn/no-error-property-assignment' : 'off' , // 6 errors | all preserve upstream error metadata
620+ 'unicorn/no-computed-property-existence-check' : 'off' , // lots | needs an audit
621+ 'unicorn/no-declarations-before-early-exit' : 'off' , // many
622+ 'unicorn/no-error-property-assignment' : 'off' , // few | all preserve upstream error metadata
622623 'unicorn/no-for-loop' : 'off' , // Activate if this is resolved https://github.com/sindresorhus/eslint-plugin-unicorn/issues/2664
623- 'unicorn/no-nonstandard-builtin-properties' : 'off' , // 34 errors | needs an audit
624+ 'unicorn/no-nonstandard-builtin-properties' : 'off' , // many | needs an audit
624625 'unicorn/no-this-assignment' : 'off' , // This would need some further refactoring and the benefit is small
625- 'unicorn/no-undeclared-class-members' : 'off' , // 272 errors | requires declaring every field
626- 'unicorn/no-unreadable-array-destructuring' : 'off' , // 4 errors | not autofixable, needs manual rewrite
627- 'unicorn/no-unreadable-for-of-expression' : 'off' , // 32 errors
628- 'unicorn/no-unreadable-object-destructuring' : 'off' , // 57 errors
629- 'unicorn/no-unsafe-string-replacement' : 'off' , // 16 errors | replacement callbacks reduce readability
630- 'unicorn/no-useless-recursion' : 'off' , // 7 errors | iterative rewrites add substantial nesting
626+ 'unicorn/no-undeclared-class-members' : 'off' , // lots | requires declaring every field
627+ 'unicorn/no-unreadable-array-destructuring' : 'off' , // few | not autofixable, needs manual rewrite
628+ 'unicorn/no-unreadable-for-of-expression' : 'off' , // many
629+ 'unicorn/no-unreadable-object-destructuring' : 'off' , // many
630+ 'unicorn/no-unsafe-string-replacement' : 'off' , // many | replacement callbacks reduce readability
631+ 'unicorn/no-useless-recursion' : 'off' , // few | iterative rewrites add substantial nesting
631632 'unicorn/prefer-code-point' : 'off' , // Should be activated, but needs a refactor of some code
632- 'unicorn/prefer-early-return' : 'off' , // 67 errors | tension with our positive-`if` style
633- 'unicorn/prefer-number-is-safe-integer' : 'off' , // 17 errors
634- 'unicorn/prefer-object-iterable-methods' : 'off' , // 56 errors
633+ 'unicorn/prefer-early-return' : 'off' , // many | tension with our positive-`if` style
634+ 'unicorn/prefer-number-is-safe-integer' : 'off' , // many
635+ 'unicorn/prefer-object-iterable-methods' : 'off' , // many
635636 'unicorn/prefer-queue-microtask' : 'off' , // process.nextTick semantics differ
636- 'unicorn/prefer-simple-condition-first' : 'off' , // 184 errors | needs a short-circuit behavior audit
637- 'unicorn/prefer-then-catch' : 'off' , // 45 errors | broadens rejection boundaries
638- 'unicorn/require-array-sort-compare' : 'off' , // 28 errors | many intentional lexicographic sorts
637+ 'unicorn/prefer-simple-condition-first' : 'off' , // lots | needs a short-circuit behavior audit
638+ 'unicorn/prefer-then-catch' : 'off' , // many | broadens rejection boundaries
639+ 'unicorn/require-array-sort-compare' : 'off' , // many | many intentional lexicographic sorts
639640
640641 // The following rules should not be activated!
641642 'unicorn/consistent-boolean-name' : 'off' , // Would rename public API and config booleans
@@ -667,22 +668,22 @@ export default [
667668 'unicorn/prefer-node-protocol' : 'off' , // May not be used due to guardrails
668669 'unicorn/prefer-number-coercion' : 'off' , // Number() is not a 1-to-1 replacement for parseInt/parseFloat
669670 'unicorn/prefer-private-class-fields' : 'off' , // Many `_underscore` fields cross module boundaries
670- 'unicorn/prefer-reflect-apply' : 'off' , // Questionable benefit and more than 500 matches
671+ 'unicorn/prefer-reflect-apply' : 'off' , // lots | questionable benefit
671672 'unicorn/prefer-short-arrow-method' : 'off' , // Method shorthand is intentional; arrow properties change `this`
672673 'unicorn/prefer-split-limit' : 'off' , // A limit is slower than getSegment; the rest read every segment
673674 'unicorn/prefer-switch' : 'off' , // Questionable benefit
674675 'unicorn/prefer-top-level-await' : 'off' , // Only useful when using ESM
675676 'unicorn/prefer-unicode-code-point-escapes' : 'off' , // Replaces the dropped no-hex-escape; questionable benefit
676677 'unicorn/switch-case-braces' : 'off' , // Questionable benefit
677678
678- // These remaining rules need focused rewrites before activation (counts from the v72 run) .
679- 'unicorn/no-confusing-array-splice' : 'off' , // 1 error
680- 'unicorn/no-for-each' : 'off' , // 10 errors | we already prefer for-of in production
681- 'unicorn/no-unnecessary-global-this' : 'off' , // 3 errors | explicit globals are clearer
682- 'unicorn/no-useless-continue' : 'off' , // 1 error
683- 'unicorn/prefer-array-from-map' : 'off' , // 9 errors | loops avoid callback allocation
684- 'unicorn/prefer-continue' : 'off' , // 52 errors
685- 'unicorn/prefer-ternary' : 'off' , // 16 errors
679+ // These remaining rules need focused rewrites before activation.
680+ 'unicorn/no-confusing-array-splice' : 'off' , // few
681+ 'unicorn/no-for-each' : 'off' , // many | we already prefer for-of in production
682+ 'unicorn/no-unnecessary-global-this' : 'off' , // few | explicit globals are clearer
683+ 'unicorn/no-useless-continue' : 'off' , // few
684+ 'unicorn/prefer-array-from-map' : 'off' , // few | loops avoid callback allocation
685+ 'unicorn/prefer-continue' : 'off' , // many
686+ 'unicorn/prefer-ternary' : 'off' , // many
686687 } ,
687688 } ,
688689 {
0 commit comments