eslint-plugin-etc-misc 1.1.6 → 1.1.8
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/README.md +135 -135
- package/dist/_internal/casing.js +2 -2
- package/dist/_internal/casing.js.map +1 -1
- package/dist/_internal/get-core-rule.d.ts.map +1 -1
- package/dist/_internal/get-core-rule.js +1 -2
- package/dist/_internal/get-core-rule.js.map +1 -1
- package/dist/_internal/import-patterns.js +3 -3
- package/dist/_internal/import-patterns.js.map +1 -1
- package/dist/_internal/rule-catalog.js +4 -4
- package/dist/_internal/rule-catalog.js.map +1 -1
- package/dist/_internal/rule-deprecation.d.ts +2 -2
- package/dist/_internal/rule-deprecation.d.ts.map +1 -1
- package/dist/_internal/rule-deprecation.js +10 -12
- package/dist/_internal/rule-deprecation.js.map +1 -1
- package/dist/_internal/symbol-usage.d.ts +1 -1
- package/dist/_internal/symbol-usage.d.ts.map +1 -1
- package/dist/_internal/symbol-usage.js +1 -1
- package/dist/_internal/symbol-usage.js.map +1 -1
- package/dist/plugin.cjs +78 -101
- package/dist/plugin.cjs.map +3 -3
- package/dist/rules/match-filename.js +2 -2
- package/dist/rules/match-filename.js.map +1 -1
- package/dist/rules/no-assign-mutated-array.js +3 -3
- package/dist/rules/no-assign-mutated-array.js.map +1 -1
- package/dist/rules/no-const-enum.js +17 -17
- package/dist/rules/no-const-enum.js.map +1 -1
- package/dist/rules/no-deprecated.js +3 -3
- package/dist/rules/no-deprecated.js.map +1 -1
- package/dist/rules/no-foreach.js +2 -2
- package/dist/rules/no-foreach.js.map +1 -1
- package/dist/rules/no-implicit-any-catch.d.ts.map +1 -1
- package/dist/rules/no-implicit-any-catch.js.map +1 -1
- package/dist/rules/no-internal.js +3 -3
- package/dist/rules/no-internal.js.map +1 -1
- package/dist/rules/no-misused-generics.d.ts.map +1 -1
- package/dist/rules/no-misused-generics.js +11 -11
- package/dist/rules/no-misused-generics.js.map +1 -1
- package/dist/rules/no-single-line-comment.d.ts.map +1 -1
- package/dist/rules/no-single-line-comment.js +11 -15
- package/dist/rules/no-single-line-comment.js.map +1 -1
- package/dist/rules/no-use-extend-native.d.ts.map +1 -1
- package/dist/rules/no-use-extend-native.js +4 -3
- package/dist/rules/no-use-extend-native.js.map +1 -1
- package/dist/rules/object-format.js +2 -2
- package/dist/rules/object-format.js.map +1 -1
- package/dist/rules/sort-array.js +2 -2
- package/dist/rules/sort-array.js.map +1 -1
- package/dist/rules/sort-class-members.d.ts.map +1 -1
- package/dist/rules/sort-class-members.js.map +1 -1
- package/dist/rules/sort-export-specifiers.js +2 -2
- package/dist/rules/sort-export-specifiers.js.map +1 -1
- package/dist/rules/switch-case-spacing.d.ts.map +1 -1
- package/dist/rules/switch-case-spacing.js +5 -4
- package/dist/rules/switch-case-spacing.js.map +1 -1
- package/dist/rules/throw-error.d.ts.map +1 -1
- package/dist/rules/throw-error.js +12 -14
- package/dist/rules/throw-error.js.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-array-callback-return-type.js.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.d.ts.map +1 -1
- package/dist/rules/typescript-class-methods-use-this.js +3 -3
- package/dist/rules/typescript-class-methods-use-this.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-const.js +1 -4
- package/dist/rules/typescript-no-redundant-undefined-const.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js +1 -4
- package/dist/rules/typescript-no-redundant-undefined-default-parameter.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-let.js +2 -5
- package/dist/rules/typescript-no-redundant-undefined-let.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js +1 -4
- package/dist/rules/typescript-no-redundant-undefined-promise-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js +1 -4
- package/dist/rules/typescript-no-redundant-undefined-readonly-property.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-return-type.js +1 -4
- package/dist/rules/typescript-no-redundant-undefined-return-type.js.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.d.ts.map +1 -1
- package/dist/rules/typescript-no-redundant-undefined-var.js +2 -5
- package/dist/rules/typescript-no-redundant-undefined-var.js.map +1 -1
- package/dist/rules/typescript-prefer-enum.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-enum.js.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-named-tuple-members.js +2 -5
- package/dist/rules/typescript-prefer-named-tuple-members.js.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.d.ts.map +1 -1
- package/dist/rules/typescript-prefer-readonly-property.js +9 -11
- package/dist/rules/typescript-prefer-readonly-property.js.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.d.ts.map +1 -1
- package/dist/rules/typescript-require-prop-type-annotation.js +9 -11
- package/dist/rules/typescript-require-prop-type-annotation.js.map +1 -1
- package/dist/rules/typescript-require-this-void.d.ts.map +1 -1
- package/dist/rules/typescript-require-this-void.js +9 -11
- package/dist/rules/typescript-require-this-void.js.map +1 -1
- package/docs/AGENTS.md +20 -18
- package/docs/docusaurus/blog/authors.yml +11 -11
- package/docs/docusaurus/docusaurus.config.ts +23 -25
- package/docs/docusaurus/package.json +2 -1
- package/docs/docusaurus/sidebars.rules.ts +40 -42
- package/docs/docusaurus/sidebars.ts +20 -20
- package/docs/docusaurus/src/components/GitHubStats.jsx +4 -4
- package/docs/docusaurus/src/components/GitHubStats.module.css +18 -3
- package/docs/docusaurus/src/js/modernEnhancements.ts +55 -55
- package/docs/docusaurus/src/pages/index.jsx +12 -12
- package/docs/docusaurus/typedoc-plugins/hashToBangLinksCore.d.mts +4 -2
- package/docs/docusaurus/typedoc.config.json +7 -586
- package/docs/rules/consistent-enum-members.md +3 -3
- package/docs/rules/consistent-filename.md +1 -1
- package/docs/rules/getting-started.md +19 -21
- package/docs/rules/no-assign-mutated-array.md +5 -25
- package/docs/rules/no-expression-empty-lines.md +2 -4
- package/docs/rules/no-foreach.md +1 -5
- package/docs/rules/no-function-declare-after-return.md +72 -66
- package/docs/rules/no-use-extend-native.md +29 -31
- package/docs/rules/no-vulnerable.md +32 -34
- package/docs/rules/prefer-includes.md +2 -11
- package/docs/rules/presets/all.md +1 -1
- package/docs/rules/presets/recommended.md +1 -1
- package/docs/rules/require-jsdoc.md +1 -7
- package/docs/rules/sort-array.md +2 -10
- package/docs/rules/typescript-array-callback-return-type.md +5 -17
- package/package.json +17 -9
|
@@ -18,7 +18,7 @@ type: `Array`, tuple, union-of-arrays, or `ReadonlyArray`.
|
|
|
18
18
|
|
|
19
19
|
### Type checking
|
|
20
20
|
|
|
21
|
-
This rule uses parser services and TypeScript
|
|
21
|
+
This rule uses parser services and TypeScript's type checker to avoid false
|
|
22
22
|
positives on user-defined methods that happen to share method names like `map`.
|
|
23
23
|
|
|
24
24
|
## What this rule reports
|
|
@@ -35,11 +35,7 @@ clarity and catches accidental return-shape drift earlier.
|
|
|
35
35
|
## ❌ Incorrect
|
|
36
36
|
|
|
37
37
|
```ts
|
|
38
|
-
[
|
|
39
|
-
1,
|
|
40
|
-
2,
|
|
41
|
-
3,
|
|
42
|
-
].map((value) => value + 1);
|
|
38
|
+
[1, 2, 3].map((value) => value + 1);
|
|
43
39
|
```
|
|
44
40
|
|
|
45
41
|
```ts
|
|
@@ -49,11 +45,7 @@ users.find((user) => user.id === targetId);
|
|
|
49
45
|
## ✅ Correct
|
|
50
46
|
|
|
51
47
|
```ts
|
|
52
|
-
[
|
|
53
|
-
1,
|
|
54
|
-
2,
|
|
55
|
-
3,
|
|
56
|
-
].map((value): number => value + 1);
|
|
48
|
+
[1, 2, 3].map((value): number => value + 1);
|
|
57
49
|
```
|
|
58
50
|
|
|
59
51
|
```ts
|
|
@@ -85,18 +77,14 @@ This rule has no options.
|
|
|
85
77
|
## Additional examples
|
|
86
78
|
|
|
87
79
|
```ts
|
|
88
|
-
const scores = [
|
|
89
|
-
2,
|
|
90
|
-
4,
|
|
91
|
-
6,
|
|
92
|
-
] as const;
|
|
80
|
+
const scores = [2, 4, 6] as const;
|
|
93
81
|
|
|
94
82
|
const doubled = scores.map((score): number => score * 2);
|
|
95
83
|
```
|
|
96
84
|
|
|
97
85
|
```ts
|
|
98
86
|
const custom = {
|
|
99
|
-
|
|
87
|
+
map: <T>(value: T): T => value,
|
|
100
88
|
};
|
|
101
89
|
|
|
102
90
|
custom.map((value: number) => value + 1);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://www.schemastore.org/package.json",
|
|
3
3
|
"name": "eslint-plugin-etc-misc",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.8",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "ESLint Plugin combining eslint-plugin-etc and eslint-plugin-misc!",
|
|
7
7
|
"keywords": [
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"build:types:cjs": "node -e \"require('node:fs').copyFileSync('dist/plugin.d.ts','dist/plugin.d.cts')\"",
|
|
67
67
|
"changelog:generate": "git-cliff --config cliff.toml --output CHANGELOG.md",
|
|
68
68
|
"changelog:preview": "git-cliff --config cliff.toml --unreleased",
|
|
69
|
-
"changelog:release-notes": "git-cliff --config cliff.toml --
|
|
69
|
+
"changelog:release-notes": "git-cliff --config cliff.toml --current --strip all",
|
|
70
70
|
"clean:cache": "node scripts/remove-paths.mjs dist coverage cache .cache .vite .turbo",
|
|
71
71
|
"clean:cache:coverage": "node scripts/remove-paths.mjs coverage .coverage",
|
|
72
72
|
"clean:cache:dist": "node scripts/remove-paths.mjs dist release",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"lint": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache",
|
|
104
104
|
"lint:action": "npm run lint:actions",
|
|
105
105
|
"lint:actions": "node scripts/lint-actionlint.mjs",
|
|
106
|
-
"lint:all": "npm run lint && npm run lint:css && npm run lint:prettier && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml && npm run lint:actions && npm run lint:circular",
|
|
106
|
+
"lint:all": "npm run lint && npm run lint:css && npm run lint:prettier && npm run lint:remark && npm run lint:package && npm run lint:gitleaks && npm run lint:secretlint && npm run lint:yaml && npm run lint:yamllint && npm run lint:actions && npm run lint:circular",
|
|
107
107
|
"lint:all:fix": "npm run lint:fix && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
|
|
108
108
|
"lint:all:fix:quiet": "npm run lint:fix:quiet && npm run lint:css:fix && npm run lint:prettier:fix && npm run lint:remark && npm run lint:package && npm run lint:secretlint && npm run lint:yaml:fix && npm run lint:actions && npm run lint:circular",
|
|
109
109
|
"lint:circular": "npm run madge:circular",
|
|
@@ -123,6 +123,7 @@
|
|
|
123
123
|
"lint:exports": "ts-unused-exports tsconfig.json src/plugin.ts --excludePathsFromReport=plugin.ts",
|
|
124
124
|
"lint:fix": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix",
|
|
125
125
|
"lint:fix:quiet": "cross-env ESLINT_PROGRESS=off NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix && echo \"Eslint fix done!\"",
|
|
126
|
+
"lint:gitleaks": "gitleaks dir --config .gitleaks.toml .",
|
|
126
127
|
"lint:grype": "grype . -c .grype.yaml --name eslint-plugin-etc-misc",
|
|
127
128
|
"lint:knip": "npm run knip",
|
|
128
129
|
"lint:knip:exports": "npm run knip -- --include exports,nsExports,classMembers,types,nsTypes,enumMembers,duplicates",
|
|
@@ -132,7 +133,7 @@
|
|
|
132
133
|
"lint:node-version-files": "node scripts/sync-node-version-files.mjs --check",
|
|
133
134
|
"lint:orphans": "npm run madge:orphans",
|
|
134
135
|
"lint:package": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
|
|
135
|
-
"lint:package:strict": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:package-check && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
|
|
136
|
+
"lint:package:strict": "npm run lint:node-version-files && npm run lint:package-sort && npm run lint:package-check:strict && npm run lint:packagelintrc && echo \"Package.json lint done!\"",
|
|
136
137
|
"lint:package-check": "publint && attw --pack .",
|
|
137
138
|
"lint:package-check:strict": "publint && attw --pack . --profile strict --config-path ./.attw.json",
|
|
138
139
|
"lint:package-sort": "sort-package-json \"./package.json\" \"./docs/docusaurus/package.json\"",
|
|
@@ -150,12 +151,14 @@
|
|
|
150
151
|
"lint:unused-deps": "npm run knip -- --dependencies",
|
|
151
152
|
"lint:yaml": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache \"**/*.{yml,yaml}\" && echo \"YAML lint done!\"",
|
|
152
153
|
"lint:yaml:fix": "cross-env NODE_OPTIONS=--max_old_space_size=16384 eslint --cache --cache-strategy content --cache-location .cache/.eslintcache --fix \"**/*.{yml,yaml}\" && echo \"YAML lint (fix) done!\"",
|
|
154
|
+
"lint:yamllint": "yamllint .",
|
|
153
155
|
"madge:circular": "madge --circular --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
|
|
154
156
|
"madge:leaves": "madge --leaves --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
|
|
155
157
|
"madge:orphans": "madge --orphans --no-spinner --ts-config tsconfig.json --extensions ts,tsx,js,jsx,mjs,cjs,cts,mts ./src --exclude \"(^|[\\/])(test|dist|node_modules|cache|.cache|coverage|build|eslint-inspector|temp|.docusaurus)($|[\\/])|\\.css$\"",
|
|
156
158
|
"open:coverage": "open-cli coverage/index.html",
|
|
157
159
|
"prepublishOnly": "npm run release:check",
|
|
158
|
-
"release:check": "npm run
|
|
160
|
+
"release:check": "npm run release:verify",
|
|
161
|
+
"release:verify": "npm run lint:all && npm run typecheck && npm run test && npm pack --dry-run",
|
|
159
162
|
"remark:fix": "remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail --quiet --output -- \"*.{md,mdx}\" \"docs/**/*.{md,mdx}\"",
|
|
160
163
|
"remark:test-config": "remark --rc-path .remarkrc.mjs --silently-ignore --ignore-path .remarkignore --frail \"README.md\"",
|
|
161
164
|
"sync:node-version-files": "node scripts/sync-node-version-files.mjs",
|
|
@@ -185,6 +188,7 @@
|
|
|
185
188
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.eslint.json --noEmit && tsc -p tsconfig.js.json --noEmit && npm run --workspace docs/docusaurus typecheck",
|
|
186
189
|
"typecheck:all": "npm run typecheck",
|
|
187
190
|
"types:update": "typesync",
|
|
191
|
+
"update-actions": "npx actions-up --yes --style sha",
|
|
188
192
|
"update-deps": "npx ncu -i --install never && npm update --workspaces --force && npm install --force && npm run sync:rules:write"
|
|
189
193
|
},
|
|
190
194
|
"dependencies": {
|
|
@@ -235,11 +239,12 @@
|
|
|
235
239
|
"cross-env": "^10.1.0",
|
|
236
240
|
"detect-secrets": "^1.0.6",
|
|
237
241
|
"esbuild": "^0.28.0",
|
|
238
|
-
"eslint": "^10.
|
|
239
|
-
"eslint-config-nick2bad4u": "^
|
|
242
|
+
"eslint": "^10.5.0",
|
|
243
|
+
"eslint-config-nick2bad4u": "^2.0.4",
|
|
240
244
|
"eslint-formatter-unix": "^9.0.1",
|
|
241
245
|
"fast-check": "^4.8.0",
|
|
242
246
|
"git-cliff": "^2.13.1",
|
|
247
|
+
"gitleaks-config-nick2bad4u": "^1.0.2",
|
|
243
248
|
"gitleaks-secret-scanner": "^2.1.1",
|
|
244
249
|
"htmlhint": "^1.9.2",
|
|
245
250
|
"jscpd": "^4.1.1",
|
|
@@ -249,6 +254,7 @@
|
|
|
249
254
|
"markdown-link-check": "^3.14.2",
|
|
250
255
|
"npm-check-updates": "^22.2.0",
|
|
251
256
|
"npm-package-json-lint": "^10.4.0",
|
|
257
|
+
"npm-package-json-lint-config-nick2bad4u": "^1.0.3",
|
|
252
258
|
"picocolors": "^1.1.1",
|
|
253
259
|
"prettier": "^3.8.3",
|
|
254
260
|
"prettier-config-nick2bad4u": "^1.0.12",
|
|
@@ -264,6 +270,7 @@
|
|
|
264
270
|
"stylelint": "^17.11.0",
|
|
265
271
|
"stylelint-config-nick2bad4u": "^1.0.10",
|
|
266
272
|
"ts-unused-exports": "^11.0.1",
|
|
273
|
+
"tsdoc-config-nick2bad4u": "^1.0.5",
|
|
267
274
|
"typedoc": "^0.28.19",
|
|
268
275
|
"typescript": "^6.0.3",
|
|
269
276
|
"typescript-eslint": "^8.59.3",
|
|
@@ -272,13 +279,14 @@
|
|
|
272
279
|
"vite": "^8.0.12",
|
|
273
280
|
"vite-tsconfig-paths": "^6.1.1",
|
|
274
281
|
"vitest": "^4.1.6",
|
|
282
|
+
"yamllint-config-nick2bad4u": "^1.0.2",
|
|
275
283
|
"yamllint-js": "^0.2.4"
|
|
276
284
|
},
|
|
277
285
|
"peerDependencies": {
|
|
278
|
-
"eslint": "^9.0.0 || ^10.
|
|
286
|
+
"eslint": "^9.0.0 || ^10.5.0",
|
|
279
287
|
"typescript": ">=5.0.0"
|
|
280
288
|
},
|
|
281
|
-
"packageManager": "npm@11.
|
|
289
|
+
"packageManager": "npm@11.18.0",
|
|
282
290
|
"engines": {
|
|
283
291
|
"node": ">=20.19.0"
|
|
284
292
|
},
|