eslint-plugin-unicorn 66.0.0 → 67.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configs/core-rule-replacements.js +9 -0
- package/index.js +7 -7
- package/package.json +1 -1
- package/readme.md +281 -262
- package/rules/ast/index.js +3 -0
- package/rules/ast/is-loop.js +5 -0
- package/rules/ast/literal.js +5 -0
- package/rules/ast/loop-types.js +9 -0
- package/rules/comment-content.js +654 -81
- package/rules/consistent-boolean-name.js +493 -0
- package/rules/consistent-class-member-order.js +41 -14
- package/rules/dom-node-dataset.js +167 -29
- package/rules/expiring-todo-comments.js +0 -1
- package/rules/explicit-length-check.js +8 -8
- package/rules/fix/index.js +2 -1
- package/rules/fix/{remove-expression-statement.js → remove-statement.js} +20 -7
- package/rules/fix/replace-node-with-expression.js +47 -0
- package/rules/fix/replace-reference-identifier.js +4 -1
- package/rules/import-style.js +0 -2
- package/rules/index.js +15 -0
- package/rules/logical-assignment-operators.js +112 -0
- package/rules/new-for-builtins.js +3 -5
- package/rules/no-anonymous-default-export.js +2 -2
- package/rules/no-array-callback-reference.js +67 -1
- package/rules/no-array-reduce.js +66 -1
- package/rules/no-array-splice.js +232 -0
- package/rules/no-blob-to-file.js +1 -34
- package/rules/no-break-in-nested-loop.js +5 -14
- package/rules/no-computed-property-existence-check.js +3 -3
- package/rules/no-declarations-before-early-exit.js +60 -1
- package/rules/no-duplicate-loops.js +3 -83
- package/rules/no-empty-file.js +9 -0
- package/rules/no-for-each.js +1 -1
- package/rules/no-global-object-property-assignment.js +1 -6
- package/rules/no-immediate-mutation.js +2 -2
- package/rules/no-incorrect-query-selector.js +2 -20
- package/rules/no-invalid-argument-count.js +1173 -3
- package/rules/no-non-function-verb-prefix.js +324 -0
- package/rules/no-return-array-push.js +25 -21
- package/rules/no-top-level-assignment-in-function.js +76 -0
- package/rules/no-uncalled-method.js +308 -0
- package/rules/no-unnecessary-global-this.js +1 -6
- package/rules/no-unnecessary-splice.js +13 -140
- package/rules/no-unreadable-array-destructuring.js +61 -3
- package/rules/no-unreadable-for-of-expression.js +130 -0
- package/rules/no-unreadable-new-expression.js +1 -1
- package/rules/no-unreadable-object-destructuring.js +26 -1
- package/rules/no-unsafe-property-key.js +31 -0
- package/rules/no-useless-boolean-cast.js +2 -11
- package/rules/no-useless-coercion.js +91 -0
- package/rules/no-useless-continue.js +81 -0
- package/rules/no-useless-fallback-in-spread.js +19 -0
- package/rules/no-useless-override.js +217 -0
- package/rules/operator-assignment.js +111 -0
- package/rules/prefer-add-event-listener-options.js +1 -5
- package/rules/prefer-array-flat.js +1 -1
- package/rules/prefer-array-slice.js +97 -0
- package/rules/prefer-array-some.js +2 -2
- package/rules/prefer-at.js +1 -1
- package/rules/prefer-await.js +1 -27
- package/rules/prefer-classlist-toggle.js +1 -1
- package/rules/prefer-else-if.js +524 -0
- package/rules/prefer-has-check.js +946 -0
- package/rules/prefer-iterable-in-constructor.js +2 -2
- package/rules/prefer-logical-operator-over-ternary.js +110 -18
- package/rules/prefer-map-from-entries.js +482 -0
- package/rules/prefer-minimal-ternary.js +25 -10
- package/rules/prefer-object-from-entries.js +2 -2
- package/rules/prefer-query-selector.js +32 -30
- package/rules/prefer-regexp-test.js +11 -16
- package/rules/prefer-scoped-selector.js +93 -4
- package/rules/prefer-set-has.js +1 -6
- package/rules/prefer-smaller-scope.js +2 -2
- package/rules/prefer-spread.js +1 -1
- package/rules/prefer-type-literal-last.js +11 -2
- package/rules/require-passive-events.js +1 -5
- package/rules/shared/iterator-helpers.js +104 -0
- package/rules/shared/splice-replacements.js +149 -0
- package/rules/utils/boolean.js +27 -11
- package/rules/utils/index.js +10 -2
- package/rules/utils/is-array.js +55 -377
- package/rules/utils/is-bigint.js +86 -0
- package/rules/utils/is-boolean.js +564 -0
- package/rules/utils/is-left-hand-side.js +1 -0
- package/rules/utils/is-number.js +18 -2
- package/rules/utils/is-promise-type.js +28 -0
- package/rules/utils/is-same-reference.js +2 -1
- package/rules/utils/is-strong-precedence-node.js +32 -0
- package/rules/utils/type-helpers.js +204 -25
package/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import createDeprecatedRules from './rules/utils/create-deprecated-rules.js';
|
|
2
2
|
import flatConfigBase from './configs/flat-config-base.js';
|
|
3
|
+
import coreRuleReplacements from './configs/core-rule-replacements.js';
|
|
3
4
|
import * as rawRules from './rules/index.js';
|
|
4
5
|
import {toEslintRules} from './rules/rule/index.js';
|
|
5
6
|
import packageJson from './package.json' with {type: 'json'};
|
|
@@ -37,12 +38,11 @@ const deprecatedRules = createDeprecatedRules({
|
|
|
37
38
|
},
|
|
38
39
|
});
|
|
39
40
|
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
41
|
+
const getExternalRules = rules => Object.fromEntries(
|
|
42
|
+
coreRuleReplacements
|
|
43
|
+
.filter(ruleName => rules[`unicorn/${ruleName}`] === 'error')
|
|
44
|
+
.map(ruleName => [ruleName, 'off']),
|
|
45
|
+
);
|
|
46
46
|
|
|
47
47
|
const recommendedRules = Object.fromEntries(Object.entries(rules).map(([id, rule]) => [
|
|
48
48
|
`unicorn/${id}`,
|
|
@@ -68,7 +68,7 @@ const createConfig = (rules, flatConfigName) => ({
|
|
|
68
68
|
unicorn,
|
|
69
69
|
},
|
|
70
70
|
rules: {
|
|
71
|
-
...
|
|
71
|
+
...getExternalRules(rules),
|
|
72
72
|
...rules,
|
|
73
73
|
},
|
|
74
74
|
});
|