eslint-plugin-unicorn 64.0.0 → 65.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/index.js +14 -0
- package/package.json +7 -3
- package/readme.md +183 -151
- package/rules/better-dom-traversing.js +291 -0
- package/rules/consistent-compound-words.js +452 -0
- package/rules/consistent-destructuring.js +97 -9
- package/rules/consistent-function-scoping.js +20 -0
- package/rules/consistent-json-file-read.js +245 -0
- package/rules/custom-error-definition.js +89 -4
- package/rules/dom-node-dataset.js +431 -0
- package/rules/escape-case.js +1 -1
- package/rules/expiring-todo-comments.js +42 -81
- package/rules/explicit-length-check.js +139 -6
- package/rules/filename-case.js +95 -21
- package/rules/import-style.js +21 -1
- package/rules/index.js +33 -3
- package/rules/isolated-functions.js +7 -5
- package/rules/no-anonymous-default-export.js +6 -6
- package/rules/no-array-callback-reference.js +89 -23
- package/rules/no-array-fill-with-reference-type.js +127 -0
- package/rules/no-array-for-each.js +17 -1
- package/rules/no-array-from-fill.js +76 -0
- package/rules/no-array-reduce.js +508 -2
- package/rules/no-blob-to-file.js +299 -0
- package/rules/no-canvas-to-image.js +152 -0
- package/rules/no-confusing-array-splice.js +164 -0
- package/rules/no-duplicate-set-values.js +57 -0
- package/rules/no-empty-file.js +31 -2
- package/rules/no-exports-in-scripts.js +34 -0
- package/rules/no-hex-escape.js +1 -1
- package/rules/no-incorrect-query-selector.js +347 -0
- package/rules/no-invalid-file-input-accept.js +475 -0
- package/rules/no-keyword-prefix.js +20 -5
- package/rules/no-late-current-target-access.js +166 -0
- package/rules/no-lonely-if.js +151 -50
- package/rules/no-manually-wrapped-comments.js +151 -0
- package/rules/no-null.js +14 -3
- package/rules/no-this-outside-of-class.js +75 -0
- package/rules/no-typeof-undefined.js +6 -4
- package/rules/no-unnecessary-nested-ternary.js +132 -0
- package/rules/no-unnecessary-polyfills.js +66 -20
- package/rules/no-unreadable-iife.js +33 -3
- package/rules/no-unused-array-method-return.js +301 -0
- package/rules/no-useless-promise-resolve-reject.js +5 -5
- package/rules/no-useless-spread.js +53 -4
- package/rules/no-useless-undefined.js +52 -45
- package/rules/numeric-separators-style.js +13 -4
- package/rules/prefer-array-last-methods.js +93 -0
- package/rules/prefer-array-some.js +66 -5
- package/rules/prefer-at.js +114 -55
- package/rules/prefer-dom-node-append.js +2 -2
- package/rules/prefer-dom-node-remove.js +24 -18
- package/rules/prefer-export-from.js +6 -6
- package/rules/prefer-get-or-insert-computed.js +159 -0
- package/rules/prefer-global-this.js +7 -46
- package/rules/prefer-https.js +83 -0
- package/rules/prefer-includes-over-repeated-comparisons.js +199 -0
- package/rules/prefer-iterator-concat.js +174 -0
- package/rules/prefer-iterator-to-array-at-end.js +123 -0
- package/rules/prefer-keyboard-event-key.js +202 -76
- package/rules/prefer-math-abs.js +397 -0
- package/rules/prefer-math-min-max.js +5 -3
- package/rules/prefer-node-protocol.js +6 -4
- package/rules/prefer-query-selector.js +119 -7
- package/rules/prefer-queue-microtask.js +204 -0
- package/rules/prefer-regexp-test.js +164 -18
- package/rules/prefer-set-has.js +411 -22
- package/rules/prefer-single-call.js +128 -38
- package/rules/prefer-split-limit.js +107 -0
- package/rules/prefer-spread.js +34 -4
- package/rules/prefer-string-match-all.js +352 -0
- package/rules/prefer-string-pad-start-end.js +380 -0
- package/rules/prefer-string-raw.js +90 -19
- package/rules/prefer-string-repeat.js +173 -0
- package/rules/prefer-string-replace-all.js +180 -12
- package/rules/prefer-string-slice.js +54 -3
- package/rules/prefer-top-level-await.js +129 -1
- package/rules/prevent-abbreviations.js +126 -134
- package/rules/require-css-escape.js +141 -0
- package/rules/require-module-specifiers.js +62 -0
- package/rules/require-passive-events.js +292 -0
- package/rules/shared/dom-events.js +7 -7
- package/rules/shared/identifier-checks.js +205 -0
- package/rules/shared/package-json.js +1 -1
- package/rules/string-content.js +34 -5
- package/rules/template-indent.js +52 -3
- package/rules/throw-new-error.js +4 -0
- package/rules/try-complexity.js +184 -0
- package/rules/utils/boolean.js +12 -12
- package/rules/utils/get-duplicate-array-elements.js +77 -0
- package/rules/utils/index.js +1 -0
- package/rules/utils/is-same-reference.js +6 -4
- package/rules/utils/should-add-parentheses-to-await-expression-argument.js +9 -9
- package/rules/utils/should-add-parentheses-to-call-expression-callee.js +12 -10
- package/rules/utils/should-add-parentheses-to-conditional-expression-child.js +9 -7
- package/rules/utils/should-add-parentheses-to-logical-expression-child.js +12 -8
- package/rules/utils/should-add-parentheses-to-unary-expression.js +10 -10
- package/rules/better-regex.js +0 -155
- package/rules/prefer-dom-node-dataset.js +0 -135
- package/rules/prefer-json-parse-buffer.js +0 -161
package/index.js
CHANGED
|
@@ -7,6 +7,10 @@ import packageJson from './package.json' with {type: 'json'};
|
|
|
7
7
|
const rules = toEslintRules(rawRules);
|
|
8
8
|
|
|
9
9
|
const deprecatedRules = createDeprecatedRules({
|
|
10
|
+
'better-regex': {
|
|
11
|
+
message: 'Removed. Prefer `eslint-plugin-regexp`',
|
|
12
|
+
replacedBy: [],
|
|
13
|
+
},
|
|
10
14
|
'no-instanceof-array': {
|
|
11
15
|
message: 'Replaced by `unicorn/no-instanceof-builtins` which covers more cases.',
|
|
12
16
|
replacedBy: ['unicorn/no-instanceof-builtins'],
|
|
@@ -19,6 +23,14 @@ const deprecatedRules = createDeprecatedRules({
|
|
|
19
23
|
message: 'Replaced by `unicorn/prefer-single-call` which covers more cases.',
|
|
20
24
|
replacedBy: ['unicorn/prefer-single-call'],
|
|
21
25
|
},
|
|
26
|
+
'prefer-json-parse-buffer': {
|
|
27
|
+
message: 'Renamed to `unicorn/consistent-json-file-read`.',
|
|
28
|
+
replacedBy: ['unicorn/consistent-json-file-read'],
|
|
29
|
+
},
|
|
30
|
+
'prefer-dom-node-dataset': {
|
|
31
|
+
message: 'Renamed to `unicorn/dom-node-dataset`.',
|
|
32
|
+
replacedBy: ['unicorn/dom-node-dataset'],
|
|
33
|
+
},
|
|
22
34
|
});
|
|
23
35
|
|
|
24
36
|
const externalRules = {
|
|
@@ -38,6 +50,8 @@ const unopinionatedRules = Object.fromEntries(Object.entries(rules).map(([id, ru
|
|
|
38
50
|
rule.meta.docs.recommended === 'unopinionated' ? 'error' : 'off',
|
|
39
51
|
]));
|
|
40
52
|
|
|
53
|
+
// TODO: Enable `prefer-iterator-concat` in the recommended and unopinionated configs when targeting Node.js 26.
|
|
54
|
+
|
|
41
55
|
const allRules = Object.fromEntries(Object.keys(rules).map(id => [
|
|
42
56
|
`unicorn/${id}`,
|
|
43
57
|
'error',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-unicorn",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "65.0.0",
|
|
4
4
|
"description": "More than 100 powerful ESLint rules",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "sindresorhus/eslint-plugin-unicorn",
|
|
@@ -60,22 +60,26 @@
|
|
|
60
60
|
"@eslint-community/eslint-utils": "^4.9.1",
|
|
61
61
|
"change-case": "^5.4.4",
|
|
62
62
|
"ci-info": "^4.4.0",
|
|
63
|
-
"clean-regexp": "^1.0.0",
|
|
64
63
|
"core-js-compat": "^3.49.0",
|
|
64
|
+
"detect-indent": "^7.0.2",
|
|
65
65
|
"find-up-simple": "^1.0.1",
|
|
66
66
|
"globals": "^17.4.0",
|
|
67
67
|
"indent-string": "^5.0.0",
|
|
68
68
|
"is-builtin-module": "^5.0.0",
|
|
69
69
|
"jsesc": "^3.1.0",
|
|
70
70
|
"pluralize": "^8.0.0",
|
|
71
|
-
"regexp-tree": "^0.1.27",
|
|
72
71
|
"regjsparser": "^0.13.0",
|
|
73
72
|
"semver": "^7.7.4",
|
|
74
73
|
"strip-indent": "^4.1.1"
|
|
75
74
|
},
|
|
76
75
|
"devDependencies": {
|
|
77
76
|
"@babel/code-frame": "^7.28.3",
|
|
77
|
+
"@eslint/css": "^0.14.1",
|
|
78
78
|
"@eslint/eslintrc": "^3.3.5",
|
|
79
|
+
"@eslint/json": "^1.2.0",
|
|
80
|
+
"@eslint/markdown": "^8.0.2",
|
|
81
|
+
"@html-eslint/eslint-plugin": "^0.61.0",
|
|
82
|
+
"@html-eslint/parser": "^0.61.0",
|
|
79
83
|
"@lubien/fixture-beta-package": "^1.0.0-beta.1",
|
|
80
84
|
"@typescript-eslint/parser": "^8.57.2",
|
|
81
85
|
"@typescript-eslint/types": "^8.57.2",
|