Skip to content

Commit ae08daf

Browse files
committed
chore(eslint): describe deferred rule volumes in buckets
Exact violation counts drift with every unrelated change, so most of them were already wrong: catch-error-name reported 242 rather than "many", and no-invalid-argument-count reported none rather than 98.
1 parent b8594af commit ae08daf

1 file changed

Lines changed: 35 additions & 34 deletions

File tree

eslint.config.mjs

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)