@antfu/eslint-config 4.10.1 → 4.10.2
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/dist/cli.js +48 -203
- package/dist/index.d.ts +116 -54
- package/package.json +19 -18
package/dist/cli.js
CHANGED
|
@@ -4,192 +4,18 @@ import * as p5 from "@clack/prompts";
|
|
|
4
4
|
import c5 from "ansis";
|
|
5
5
|
import { cac } from "cac";
|
|
6
6
|
|
|
7
|
-
// src/cli/constants.ts
|
|
8
|
-
import c from "ansis";
|
|
9
|
-
|
|
10
7
|
// package.json
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
funding: "https://github.com/sponsors/antfu",
|
|
20
|
-
homepage: "https://github.com/antfu/eslint-config",
|
|
21
|
-
repository: {
|
|
22
|
-
type: "git",
|
|
23
|
-
url: "git+https://github.com/antfu/eslint-config.git"
|
|
24
|
-
},
|
|
25
|
-
bugs: {
|
|
26
|
-
url: "https://github.com/antfu/eslint-config/issues"
|
|
27
|
-
},
|
|
28
|
-
keywords: [
|
|
29
|
-
"eslint-config"
|
|
30
|
-
],
|
|
31
|
-
exports: {
|
|
32
|
-
".": "./dist/index.js"
|
|
33
|
-
},
|
|
34
|
-
main: "./dist/index.js",
|
|
35
|
-
types: "./dist/index.d.ts",
|
|
36
|
-
bin: "./bin/index.js",
|
|
37
|
-
files: [
|
|
38
|
-
"bin",
|
|
39
|
-
"dist"
|
|
40
|
-
],
|
|
41
|
-
scripts: {
|
|
42
|
-
build: "nr typegen && tsup --clean --dts",
|
|
43
|
-
stub: "tsup",
|
|
44
|
-
dev: "npx @eslint/config-inspector --config eslint.config.ts",
|
|
45
|
-
"build:inspector": "pnpm build && npx @eslint/config-inspector build",
|
|
46
|
-
watch: "tsup --watch",
|
|
47
|
-
lint: "eslint",
|
|
48
|
-
typegen: "tsx scripts/typegen.ts",
|
|
49
|
-
prepack: "nr build",
|
|
50
|
-
release: "bumpp && pnpm publish",
|
|
51
|
-
test: "vitest",
|
|
52
|
-
typecheck: "tsc --noEmit",
|
|
53
|
-
prepare: "simple-git-hooks"
|
|
54
|
-
},
|
|
55
|
-
peerDependencies: {
|
|
56
|
-
"@eslint-react/eslint-plugin": "^1.19.0",
|
|
57
|
-
"@prettier/plugin-xml": "^3.4.1",
|
|
58
|
-
"@unocss/eslint-plugin": ">=0.50.0",
|
|
59
|
-
"astro-eslint-parser": "^1.0.2",
|
|
60
|
-
eslint: "^9.10.0",
|
|
61
|
-
"eslint-plugin-astro": "^1.2.0",
|
|
62
|
-
"eslint-plugin-format": ">=0.1.0",
|
|
63
|
-
"eslint-plugin-react-hooks": "^5.0.0",
|
|
64
|
-
"eslint-plugin-react-refresh": "^0.4.4",
|
|
65
|
-
"eslint-plugin-solid": "^0.14.3",
|
|
66
|
-
"eslint-plugin-svelte": ">=2.35.1",
|
|
67
|
-
"prettier-plugin-astro": "^0.14.0",
|
|
68
|
-
"prettier-plugin-slidev": "^1.0.5",
|
|
69
|
-
"svelte-eslint-parser": ">=0.37.0"
|
|
70
|
-
},
|
|
71
|
-
peerDependenciesMeta: {
|
|
72
|
-
"@eslint-react/eslint-plugin": {
|
|
73
|
-
optional: true
|
|
74
|
-
},
|
|
75
|
-
"@prettier/plugin-xml": {
|
|
76
|
-
optional: true
|
|
77
|
-
},
|
|
78
|
-
"@unocss/eslint-plugin": {
|
|
79
|
-
optional: true
|
|
80
|
-
},
|
|
81
|
-
"astro-eslint-parser": {
|
|
82
|
-
optional: true
|
|
83
|
-
},
|
|
84
|
-
"eslint-plugin-astro": {
|
|
85
|
-
optional: true
|
|
86
|
-
},
|
|
87
|
-
"eslint-plugin-format": {
|
|
88
|
-
optional: true
|
|
89
|
-
},
|
|
90
|
-
"eslint-plugin-react-hooks": {
|
|
91
|
-
optional: true
|
|
92
|
-
},
|
|
93
|
-
"eslint-plugin-react-refresh": {
|
|
94
|
-
optional: true
|
|
95
|
-
},
|
|
96
|
-
"eslint-plugin-solid": {
|
|
97
|
-
optional: true
|
|
98
|
-
},
|
|
99
|
-
"eslint-plugin-svelte": {
|
|
100
|
-
optional: true
|
|
101
|
-
},
|
|
102
|
-
"prettier-plugin-astro": {
|
|
103
|
-
optional: true
|
|
104
|
-
},
|
|
105
|
-
"prettier-plugin-slidev": {
|
|
106
|
-
optional: true
|
|
107
|
-
},
|
|
108
|
-
"svelte-eslint-parser": {
|
|
109
|
-
optional: true
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
dependencies: {
|
|
113
|
-
"@antfu/install-pkg": "catalog:prod",
|
|
114
|
-
"@clack/prompts": "catalog:prod",
|
|
115
|
-
"@eslint-community/eslint-plugin-eslint-comments": "catalog:prod",
|
|
116
|
-
"@eslint/markdown": "catalog:prod",
|
|
117
|
-
"@stylistic/eslint-plugin": "catalog:prod",
|
|
118
|
-
"@typescript-eslint/eslint-plugin": "catalog:prod",
|
|
119
|
-
"@typescript-eslint/parser": "catalog:prod",
|
|
120
|
-
"@vitest/eslint-plugin": "catalog:prod",
|
|
121
|
-
ansis: "catalog:prod",
|
|
122
|
-
cac: "catalog:prod",
|
|
123
|
-
"eslint-config-flat-gitignore": "catalog:prod",
|
|
124
|
-
"eslint-flat-config-utils": "catalog:prod",
|
|
125
|
-
"eslint-merge-processors": "catalog:prod",
|
|
126
|
-
"eslint-plugin-antfu": "catalog:prod",
|
|
127
|
-
"eslint-plugin-command": "catalog:prod",
|
|
128
|
-
"eslint-plugin-import-x": "catalog:prod",
|
|
129
|
-
"eslint-plugin-jsdoc": "catalog:prod",
|
|
130
|
-
"eslint-plugin-jsonc": "catalog:prod",
|
|
131
|
-
"eslint-plugin-n": "catalog:prod",
|
|
132
|
-
"eslint-plugin-no-only-tests": "catalog:prod",
|
|
133
|
-
"eslint-plugin-perfectionist": "catalog:prod",
|
|
134
|
-
"eslint-plugin-pnpm": "catalog:prod",
|
|
135
|
-
"eslint-plugin-regexp": "catalog:prod",
|
|
136
|
-
"eslint-plugin-toml": "catalog:prod",
|
|
137
|
-
"eslint-plugin-unicorn": "catalog:prod",
|
|
138
|
-
"eslint-plugin-unused-imports": "catalog:prod",
|
|
139
|
-
"eslint-plugin-vue": "catalog:prod",
|
|
140
|
-
"eslint-plugin-yml": "catalog:prod",
|
|
141
|
-
"eslint-processor-vue-blocks": "catalog:prod",
|
|
142
|
-
globals: "catalog:prod",
|
|
143
|
-
"jsonc-eslint-parser": "catalog:prod",
|
|
144
|
-
"local-pkg": "catalog:prod",
|
|
145
|
-
"parse-gitignore": "catalog:prod",
|
|
146
|
-
"toml-eslint-parser": "catalog:prod",
|
|
147
|
-
"vue-eslint-parser": "catalog:prod",
|
|
148
|
-
"yaml-eslint-parser": "catalog:prod"
|
|
149
|
-
},
|
|
150
|
-
devDependencies: {
|
|
151
|
-
"@antfu/eslint-config": "workspace:*",
|
|
152
|
-
"@antfu/ni": "catalog:dev",
|
|
153
|
-
"@eslint-react/eslint-plugin": "catalog:peer",
|
|
154
|
-
"@eslint/config-inspector": "catalog:dev",
|
|
155
|
-
"@prettier/plugin-xml": "catalog:peer",
|
|
156
|
-
"@stylistic/eslint-plugin-migrate": "catalog:dev",
|
|
157
|
-
"@types/node": "catalog:dev",
|
|
158
|
-
"@unocss/eslint-plugin": "catalog:peer",
|
|
159
|
-
"astro-eslint-parser": "catalog:peer",
|
|
160
|
-
bumpp: "catalog:dev",
|
|
161
|
-
eslint: "catalog:peer",
|
|
162
|
-
"eslint-plugin-astro": "catalog:peer",
|
|
163
|
-
"eslint-plugin-format": "catalog:peer",
|
|
164
|
-
"eslint-plugin-react-hooks": "catalog:peer",
|
|
165
|
-
"eslint-plugin-react-refresh": "catalog:peer",
|
|
166
|
-
"eslint-plugin-solid": "catalog:peer",
|
|
167
|
-
"eslint-plugin-svelte": "catalog:peer",
|
|
168
|
-
"eslint-typegen": "catalog:dev",
|
|
169
|
-
execa: "catalog:dev",
|
|
170
|
-
jiti: "catalog:dev",
|
|
171
|
-
"lint-staged": "catalog:dev",
|
|
172
|
-
"prettier-plugin-astro": "catalog:peer",
|
|
173
|
-
"prettier-plugin-slidev": "catalog:peer",
|
|
174
|
-
"simple-git-hooks": "catalog:dev",
|
|
175
|
-
svelte: "catalog:peer",
|
|
176
|
-
"svelte-eslint-parser": "catalog:peer",
|
|
177
|
-
tinyglobby: "catalog:dev",
|
|
178
|
-
tsup: "catalog:dev",
|
|
179
|
-
tsx: "catalog:dev",
|
|
180
|
-
typescript: "catalog:dev",
|
|
181
|
-
vitest: "catalog:dev",
|
|
182
|
-
vue: "catalog:peer"
|
|
183
|
-
},
|
|
184
|
-
"simple-git-hooks": {
|
|
185
|
-
"pre-commit": "npx lint-staged"
|
|
186
|
-
},
|
|
187
|
-
"lint-staged": {
|
|
188
|
-
"*": "eslint --fix"
|
|
189
|
-
}
|
|
190
|
-
};
|
|
8
|
+
var version = "4.10.2";
|
|
9
|
+
|
|
10
|
+
// src/cli/run.ts
|
|
11
|
+
import fs3 from "node:fs";
|
|
12
|
+
import path4 from "node:path";
|
|
13
|
+
import process4 from "node:process";
|
|
14
|
+
import * as p4 from "@clack/prompts";
|
|
15
|
+
import c4 from "ansis";
|
|
191
16
|
|
|
192
17
|
// src/cli/constants.ts
|
|
18
|
+
import c from "ansis";
|
|
193
19
|
var vscodeSettingsString = `
|
|
194
20
|
// Disable the default formatter, use eslint instead
|
|
195
21
|
"prettier.enable": false,
|
|
@@ -285,6 +111,12 @@ var dependenciesMap = {
|
|
|
285
111
|
"eslint-plugin-astro",
|
|
286
112
|
"astro-eslint-parser"
|
|
287
113
|
],
|
|
114
|
+
formatter: [
|
|
115
|
+
"eslint-plugin-format"
|
|
116
|
+
],
|
|
117
|
+
formatterAstro: [
|
|
118
|
+
"prettier-plugin-astro"
|
|
119
|
+
],
|
|
288
120
|
react: [
|
|
289
121
|
"@eslint-react/eslint-plugin",
|
|
290
122
|
"eslint-plugin-react-hooks",
|
|
@@ -300,16 +132,12 @@ var dependenciesMap = {
|
|
|
300
132
|
"eslint-plugin-svelte",
|
|
301
133
|
"svelte-eslint-parser"
|
|
302
134
|
],
|
|
135
|
+
unocss: [
|
|
136
|
+
"@unocss/eslint-plugin"
|
|
137
|
+
],
|
|
303
138
|
vue: []
|
|
304
139
|
};
|
|
305
140
|
|
|
306
|
-
// src/cli/run.ts
|
|
307
|
-
import fs3 from "node:fs";
|
|
308
|
-
import path4 from "node:path";
|
|
309
|
-
import process4 from "node:process";
|
|
310
|
-
import * as p4 from "@clack/prompts";
|
|
311
|
-
import c4 from "ansis";
|
|
312
|
-
|
|
313
141
|
// src/cli/stages/update-eslint-files.ts
|
|
314
142
|
import fs from "node:fs";
|
|
315
143
|
import fsp from "node:fs/promises";
|
|
@@ -393,35 +221,52 @@ import path2 from "node:path";
|
|
|
393
221
|
import process2 from "node:process";
|
|
394
222
|
import * as p2 from "@clack/prompts";
|
|
395
223
|
import c3 from "ansis";
|
|
224
|
+
|
|
225
|
+
// src/cli/constants-generated.ts
|
|
226
|
+
var versionsMap = {
|
|
227
|
+
"@eslint-react/eslint-plugin": "^1.37.0",
|
|
228
|
+
"@unocss/eslint-plugin": "^66.0.0",
|
|
229
|
+
"astro-eslint-parser": "^1.2.1",
|
|
230
|
+
"eslint": "^9.22.0",
|
|
231
|
+
"eslint-plugin-astro": "^1.3.1",
|
|
232
|
+
"eslint-plugin-format": "^1.0.1",
|
|
233
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
234
|
+
"eslint-plugin-react-refresh": "^0.4.19",
|
|
235
|
+
"eslint-plugin-solid": "^0.14.5",
|
|
236
|
+
"eslint-plugin-svelte": "^3.3.3",
|
|
237
|
+
"prettier-plugin-astro": "^0.14.1",
|
|
238
|
+
"prettier-plugin-slidev": "^1.0.5",
|
|
239
|
+
"svelte-eslint-parser": "^1.1.0"
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
// src/cli/stages/update-package-json.ts
|
|
396
243
|
async function updatePackageJson(result) {
|
|
397
244
|
const cwd = process2.cwd();
|
|
398
245
|
const pathPackageJSON = path2.join(cwd, "package.json");
|
|
399
|
-
p2.log.step(c3.cyan`Bumping @antfu/eslint-config to v${
|
|
246
|
+
p2.log.step(c3.cyan`Bumping @antfu/eslint-config to v${version}`);
|
|
400
247
|
const pkgContent = await fsp2.readFile(pathPackageJSON, "utf-8");
|
|
401
248
|
const pkg = JSON.parse(pkgContent);
|
|
402
249
|
pkg.devDependencies ??= {};
|
|
403
|
-
pkg.devDependencies["@antfu/eslint-config"] = `^${
|
|
404
|
-
pkg.devDependencies.eslint ??=
|
|
250
|
+
pkg.devDependencies["@antfu/eslint-config"] = `^${version}`;
|
|
251
|
+
pkg.devDependencies.eslint ??= versionsMap.eslint;
|
|
405
252
|
const addedPackages = [];
|
|
406
253
|
if (result.extra.length) {
|
|
407
254
|
result.extra.forEach((item) => {
|
|
408
255
|
switch (item) {
|
|
409
256
|
case "formatter":
|
|
410
257
|
[
|
|
411
|
-
|
|
412
|
-
result.frameworks.includes("astro") ?
|
|
258
|
+
...dependenciesMap.formatter,
|
|
259
|
+
...result.frameworks.includes("astro") ? dependenciesMap.formatterAstro : []
|
|
413
260
|
].forEach((f) => {
|
|
414
261
|
if (!f)
|
|
415
262
|
return;
|
|
416
|
-
pkg.devDependencies[f] =
|
|
263
|
+
pkg.devDependencies[f] = versionsMap[f];
|
|
417
264
|
addedPackages.push(f);
|
|
418
265
|
});
|
|
419
266
|
break;
|
|
420
267
|
case "unocss":
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
].forEach((f) => {
|
|
424
|
-
pkg.devDependencies[f] = package_default.devDependencies[f];
|
|
268
|
+
dependenciesMap.unocss.forEach((f) => {
|
|
269
|
+
pkg.devDependencies[f] = versionsMap[f];
|
|
425
270
|
addedPackages.push(f);
|
|
426
271
|
});
|
|
427
272
|
break;
|
|
@@ -432,7 +277,7 @@ async function updatePackageJson(result) {
|
|
|
432
277
|
const deps = dependenciesMap[framework];
|
|
433
278
|
if (deps) {
|
|
434
279
|
deps.forEach((f) => {
|
|
435
|
-
pkg.devDependencies[f] =
|
|
280
|
+
pkg.devDependencies[f] = versionsMap[f];
|
|
436
281
|
addedPackages.push(f);
|
|
437
282
|
});
|
|
438
283
|
}
|
|
@@ -548,7 +393,7 @@ async function run(options = {}) {
|
|
|
548
393
|
// src/cli/index.ts
|
|
549
394
|
function header() {
|
|
550
395
|
console.log("\n");
|
|
551
|
-
p5.intro(`${c5.green`@antfu/eslint-config `}${c5.dim`v${
|
|
396
|
+
p5.intro(`${c5.green`@antfu/eslint-config `}${c5.dim`v${version}`}`);
|
|
552
397
|
}
|
|
553
398
|
var cli = cac("@antfu/eslint-config");
|
|
554
399
|
cli.command("", "Run the initialization or migration").option("--yes, -y", "Skip prompts and use default values", { default: false }).option("--template, -t <template>", "Use the framework template for optimal customization: vue / react / svelte / astro", { type: [] }).option("--extra, -e <extra>", "Use the extra utils: formatter / perfectionist / unocss", { type: [] }).action(async (args) => {
|
|
@@ -562,5 +407,5 @@ cli.command("", "Run the initialization or migration").option("--yes, -y", "Skip
|
|
|
562
407
|
}
|
|
563
408
|
});
|
|
564
409
|
cli.help();
|
|
565
|
-
cli.version(
|
|
410
|
+
cli.version(version);
|
|
566
411
|
cli.parse();
|
package/dist/index.d.ts
CHANGED
|
@@ -652,233 +652,233 @@ interface RuleOptions {
|
|
|
652
652
|
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
|
|
653
653
|
/**
|
|
654
654
|
* Enforce or ban the use of inline type-only markers for named imports.
|
|
655
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
655
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/consistent-type-specifier-style.md
|
|
656
656
|
*/
|
|
657
657
|
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
|
|
658
658
|
/**
|
|
659
659
|
* Ensure a default export is present, given a default import.
|
|
660
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
660
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/default.md
|
|
661
661
|
*/
|
|
662
662
|
'import/default'?: Linter.RuleEntry<[]>
|
|
663
663
|
/**
|
|
664
664
|
* Enforce a leading comment with the webpackChunkName for dynamic imports.
|
|
665
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
665
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/dynamic-import-chunkname.md
|
|
666
666
|
*/
|
|
667
667
|
'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
|
|
668
668
|
/**
|
|
669
669
|
* Forbid any invalid exports, i.e. re-export of the same name.
|
|
670
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
670
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/export.md
|
|
671
671
|
*/
|
|
672
672
|
'import/export'?: Linter.RuleEntry<[]>
|
|
673
673
|
/**
|
|
674
674
|
* Ensure all exports appear after other statements.
|
|
675
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
675
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/exports-last.md
|
|
676
676
|
*/
|
|
677
677
|
'import/exports-last'?: Linter.RuleEntry<[]>
|
|
678
678
|
/**
|
|
679
679
|
* Ensure consistent use of file extension within the import path.
|
|
680
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
680
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/extensions.md
|
|
681
681
|
*/
|
|
682
682
|
'import/extensions'?: Linter.RuleEntry<ImportExtensions>
|
|
683
683
|
/**
|
|
684
684
|
* Ensure all imports appear before other statements.
|
|
685
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
685
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/first.md
|
|
686
686
|
*/
|
|
687
687
|
'import/first'?: Linter.RuleEntry<ImportFirst>
|
|
688
688
|
/**
|
|
689
689
|
* Prefer named exports to be grouped together in a single export declaration.
|
|
690
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
690
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/group-exports.md
|
|
691
691
|
*/
|
|
692
692
|
'import/group-exports'?: Linter.RuleEntry<[]>
|
|
693
693
|
/**
|
|
694
694
|
* Replaced by `import-x/first`.
|
|
695
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
695
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/imports-first.md
|
|
696
696
|
* @deprecated
|
|
697
697
|
*/
|
|
698
698
|
'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
|
|
699
699
|
/**
|
|
700
700
|
* Enforce the maximum number of dependencies a module can have.
|
|
701
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
701
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/max-dependencies.md
|
|
702
702
|
*/
|
|
703
703
|
'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
|
|
704
704
|
/**
|
|
705
705
|
* Ensure named imports correspond to a named export in the remote file.
|
|
706
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
706
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/named.md
|
|
707
707
|
*/
|
|
708
708
|
'import/named'?: Linter.RuleEntry<ImportNamed>
|
|
709
709
|
/**
|
|
710
710
|
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
|
|
711
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
711
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/namespace.md
|
|
712
712
|
*/
|
|
713
713
|
'import/namespace'?: Linter.RuleEntry<ImportNamespace>
|
|
714
714
|
/**
|
|
715
715
|
* Enforce a newline after import statements.
|
|
716
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
716
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/newline-after-import.md
|
|
717
717
|
*/
|
|
718
718
|
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
|
|
719
719
|
/**
|
|
720
720
|
* Forbid import of modules using absolute paths.
|
|
721
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
721
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-absolute-path.md
|
|
722
722
|
*/
|
|
723
723
|
'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
|
|
724
724
|
/**
|
|
725
725
|
* Forbid AMD `require` and `define` calls.
|
|
726
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
726
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-amd.md
|
|
727
727
|
*/
|
|
728
728
|
'import/no-amd'?: Linter.RuleEntry<[]>
|
|
729
729
|
/**
|
|
730
730
|
* Forbid anonymous values as default exports.
|
|
731
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
731
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-anonymous-default-export.md
|
|
732
732
|
*/
|
|
733
733
|
'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
|
|
734
734
|
/**
|
|
735
735
|
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
|
|
736
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
736
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-commonjs.md
|
|
737
737
|
*/
|
|
738
738
|
'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
|
|
739
739
|
/**
|
|
740
740
|
* Forbid a module from importing a module with a dependency path back to itself.
|
|
741
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
741
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-cycle.md
|
|
742
742
|
*/
|
|
743
743
|
'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
|
|
744
744
|
/**
|
|
745
745
|
* Forbid default exports.
|
|
746
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
746
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-default-export.md
|
|
747
747
|
*/
|
|
748
748
|
'import/no-default-export'?: Linter.RuleEntry<[]>
|
|
749
749
|
/**
|
|
750
750
|
* Forbid imported names marked with `@deprecated` documentation tag.
|
|
751
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
751
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-deprecated.md
|
|
752
752
|
*/
|
|
753
753
|
'import/no-deprecated'?: Linter.RuleEntry<[]>
|
|
754
754
|
/**
|
|
755
755
|
* Forbid repeated import of the same module in multiple places.
|
|
756
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
756
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-duplicates.md
|
|
757
757
|
*/
|
|
758
758
|
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
|
|
759
759
|
/**
|
|
760
760
|
* Forbid `require()` calls with expressions.
|
|
761
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
761
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-dynamic-require.md
|
|
762
762
|
*/
|
|
763
763
|
'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
|
|
764
764
|
/**
|
|
765
765
|
* Forbid empty named import blocks.
|
|
766
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
766
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-empty-named-blocks.md
|
|
767
767
|
*/
|
|
768
768
|
'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
|
|
769
769
|
/**
|
|
770
770
|
* Forbid the use of extraneous packages.
|
|
771
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
771
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-extraneous-dependencies.md
|
|
772
772
|
*/
|
|
773
773
|
'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
|
|
774
774
|
/**
|
|
775
775
|
* Forbid import statements with CommonJS module.exports.
|
|
776
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
776
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-import-module-exports.md
|
|
777
777
|
*/
|
|
778
778
|
'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
|
|
779
779
|
/**
|
|
780
780
|
* Forbid importing the submodules of other modules.
|
|
781
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
781
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-internal-modules.md
|
|
782
782
|
*/
|
|
783
783
|
'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
|
|
784
784
|
/**
|
|
785
785
|
* Forbid the use of mutable exports with `var` or `let`.
|
|
786
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
786
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-mutable-exports.md
|
|
787
787
|
*/
|
|
788
788
|
'import/no-mutable-exports'?: Linter.RuleEntry<[]>
|
|
789
789
|
/**
|
|
790
790
|
* Forbid use of exported name as identifier of default export.
|
|
791
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
791
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-as-default.md
|
|
792
792
|
*/
|
|
793
793
|
'import/no-named-as-default'?: Linter.RuleEntry<[]>
|
|
794
794
|
/**
|
|
795
795
|
* Forbid use of exported name as property of default export.
|
|
796
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
796
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-as-default-member.md
|
|
797
797
|
*/
|
|
798
798
|
'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
|
|
799
799
|
/**
|
|
800
800
|
* Forbid named default exports.
|
|
801
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
801
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-default.md
|
|
802
802
|
*/
|
|
803
803
|
'import/no-named-default'?: Linter.RuleEntry<[]>
|
|
804
804
|
/**
|
|
805
805
|
* Forbid named exports.
|
|
806
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
806
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-named-export.md
|
|
807
807
|
*/
|
|
808
808
|
'import/no-named-export'?: Linter.RuleEntry<[]>
|
|
809
809
|
/**
|
|
810
810
|
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
|
|
811
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
811
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-namespace.md
|
|
812
812
|
*/
|
|
813
813
|
'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
|
|
814
814
|
/**
|
|
815
815
|
* Forbid Node.js builtin modules.
|
|
816
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
816
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-nodejs-modules.md
|
|
817
817
|
*/
|
|
818
818
|
'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
|
|
819
819
|
/**
|
|
820
820
|
* Forbid importing packages through relative paths.
|
|
821
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
821
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-relative-packages.md
|
|
822
822
|
*/
|
|
823
823
|
'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
|
|
824
824
|
/**
|
|
825
825
|
* Forbid importing modules from parent directories.
|
|
826
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
826
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-relative-parent-imports.md
|
|
827
827
|
*/
|
|
828
828
|
'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
|
|
829
829
|
/**
|
|
830
830
|
* Forbid importing a default export by a different name.
|
|
831
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
831
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-rename-default.md
|
|
832
832
|
*/
|
|
833
833
|
'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
|
|
834
834
|
/**
|
|
835
835
|
* Enforce which files can be imported in a given folder.
|
|
836
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
836
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-restricted-paths.md
|
|
837
837
|
*/
|
|
838
838
|
'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
|
|
839
839
|
/**
|
|
840
840
|
* Forbid a module from importing itself.
|
|
841
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
841
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-self-import.md
|
|
842
842
|
*/
|
|
843
843
|
'import/no-self-import'?: Linter.RuleEntry<[]>
|
|
844
844
|
/**
|
|
845
845
|
* Forbid unassigned imports.
|
|
846
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
846
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unassigned-import.md
|
|
847
847
|
*/
|
|
848
848
|
'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
|
|
849
849
|
/**
|
|
850
850
|
* Ensure imports point to a file/module that can be resolved.
|
|
851
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
851
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unresolved.md
|
|
852
852
|
*/
|
|
853
853
|
'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
|
|
854
854
|
/**
|
|
855
855
|
* Forbid modules without exports, or exports without matching import in another module.
|
|
856
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
856
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-unused-modules.md
|
|
857
857
|
*/
|
|
858
858
|
'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
|
|
859
859
|
/**
|
|
860
860
|
* Forbid unnecessary path segments in import and require statements.
|
|
861
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
861
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-useless-path-segments.md
|
|
862
862
|
*/
|
|
863
863
|
'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
|
|
864
864
|
/**
|
|
865
865
|
* Forbid webpack loader syntax in imports.
|
|
866
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
866
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/no-webpack-loader-syntax.md
|
|
867
867
|
*/
|
|
868
868
|
'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
|
|
869
869
|
/**
|
|
870
870
|
* Enforce a convention in module import order.
|
|
871
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
871
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/order.md
|
|
872
872
|
*/
|
|
873
873
|
'import/order'?: Linter.RuleEntry<ImportOrder>
|
|
874
874
|
/**
|
|
875
875
|
* Prefer a default export if module exports a single name or multiple names.
|
|
876
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
876
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/prefer-default-export.md
|
|
877
877
|
*/
|
|
878
878
|
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
|
|
879
879
|
/**
|
|
880
880
|
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
|
|
881
|
-
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.
|
|
881
|
+
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.9.1/docs/rules/unambiguous.md
|
|
882
882
|
*/
|
|
883
883
|
'import/unambiguous'?: Linter.RuleEntry<[]>
|
|
884
884
|
/**
|
|
@@ -2847,10 +2847,15 @@ interface RuleOptions {
|
|
|
2847
2847
|
*/
|
|
2848
2848
|
'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
|
|
2849
2849
|
/**
|
|
2850
|
-
*
|
|
2850
|
+
* disallow 'flushSync'
|
|
2851
2851
|
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
|
|
2852
2852
|
*/
|
|
2853
2853
|
'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>
|
|
2854
|
+
/**
|
|
2855
|
+
* replaces usages of 'ReactDom.hydrate()' with 'hydrateRoot()'
|
|
2856
|
+
* @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
|
|
2857
|
+
*/
|
|
2858
|
+
'react-dom/no-hydrate'?: Linter.RuleEntry<[]>
|
|
2854
2859
|
/**
|
|
2855
2860
|
* enforce that button component have an explicit 'type' attribute
|
|
2856
2861
|
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
|
|
@@ -2866,6 +2871,11 @@ interface RuleOptions {
|
|
|
2866
2871
|
* @see https://eslint-react.xyz/docs/rules/dom-no-namespace
|
|
2867
2872
|
*/
|
|
2868
2873
|
'react-dom/no-namespace'?: Linter.RuleEntry<[]>
|
|
2874
|
+
/**
|
|
2875
|
+
* replace usages of 'ReactDom.render()' with 'createRoot(node).render()'
|
|
2876
|
+
* @see https://eslint-react.xyz/docs/rules/dom-no-render
|
|
2877
|
+
*/
|
|
2878
|
+
'react-dom/no-render'?: Linter.RuleEntry<[]>
|
|
2869
2879
|
/**
|
|
2870
2880
|
* disallow usage of the return value of 'ReactDOM.render'
|
|
2871
2881
|
* @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
|
|
@@ -2891,6 +2901,11 @@ interface RuleOptions {
|
|
|
2891
2901
|
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
|
|
2892
2902
|
*/
|
|
2893
2903
|
'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
|
|
2904
|
+
/**
|
|
2905
|
+
* replace the usages of 'useFormState' with 'useActionState'
|
|
2906
|
+
* @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
|
|
2907
|
+
*/
|
|
2908
|
+
'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>
|
|
2894
2909
|
/**
|
|
2895
2910
|
* disallow void elements (AKA self-closing elements) from having children
|
|
2896
2911
|
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
|
|
@@ -2898,7 +2913,7 @@ interface RuleOptions {
|
|
|
2898
2913
|
'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
|
|
2899
2914
|
/**
|
|
2900
2915
|
* enforce custom Hooks to use at least one other hook inside
|
|
2901
|
-
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-
|
|
2916
|
+
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
|
|
2902
2917
|
*/
|
|
2903
2918
|
'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
|
|
2904
2919
|
/**
|
|
@@ -2923,7 +2938,7 @@ interface RuleOptions {
|
|
|
2923
2938
|
'react-hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
|
|
2924
2939
|
/**
|
|
2925
2940
|
* enforce custom Hooks to use at least one other hook inside
|
|
2926
|
-
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-
|
|
2941
|
+
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
|
|
2927
2942
|
*/
|
|
2928
2943
|
'react-hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
|
|
2929
2944
|
/**
|
|
@@ -2938,7 +2953,12 @@ interface RuleOptions {
|
|
|
2938
2953
|
'react-hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
|
|
2939
2954
|
/**
|
|
2940
2955
|
* enforce custom Hooks to use at least one other hook inside
|
|
2941
|
-
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-
|
|
2956
|
+
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
|
|
2957
|
+
*/
|
|
2958
|
+
'react-hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
|
|
2959
|
+
/**
|
|
2960
|
+
* enforce custom Hooks to use at least one other hook inside
|
|
2961
|
+
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
|
|
2942
2962
|
*/
|
|
2943
2963
|
'react-hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
|
|
2944
2964
|
/**
|
|
@@ -3014,7 +3034,7 @@ interface RuleOptions {
|
|
|
3014
3034
|
'react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
|
|
3015
3035
|
/**
|
|
3016
3036
|
* require a 'ref' parameter to be set when using 'forwardRef'
|
|
3017
|
-
* @see https://eslint-react.xyz/docs/rules/
|
|
3037
|
+
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
|
|
3018
3038
|
*/
|
|
3019
3039
|
'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
|
|
3020
3040
|
/**
|
|
@@ -3168,8 +3188,13 @@ interface RuleOptions {
|
|
|
3168
3188
|
*/
|
|
3169
3189
|
'react/no-missing-key'?: Linter.RuleEntry<[]>
|
|
3170
3190
|
/**
|
|
3171
|
-
*
|
|
3172
|
-
* @see https://eslint-react.xyz/docs/rules/no-nested-
|
|
3191
|
+
* prevents nesting component definitions inside other components
|
|
3192
|
+
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
|
|
3193
|
+
*/
|
|
3194
|
+
'react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
|
|
3195
|
+
/**
|
|
3196
|
+
* prevents nesting component definitions inside other components
|
|
3197
|
+
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
|
|
3173
3198
|
*/
|
|
3174
3199
|
'react/no-nested-components'?: Linter.RuleEntry<[]>
|
|
3175
3200
|
/**
|
|
@@ -3242,6 +3267,11 @@ interface RuleOptions {
|
|
|
3242
3267
|
* @see https://eslint-react.xyz/docs/rules/no-use-context
|
|
3243
3268
|
*/
|
|
3244
3269
|
'react/no-use-context'?: Linter.RuleEntry<[]>
|
|
3270
|
+
/**
|
|
3271
|
+
* require a 'ref' parameter to be set when using 'forwardRef'
|
|
3272
|
+
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
|
|
3273
|
+
*/
|
|
3274
|
+
'react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
|
|
3245
3275
|
/**
|
|
3246
3276
|
* disallow useless fragments
|
|
3247
3277
|
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
|
|
@@ -4612,11 +4642,21 @@ interface RuleOptions {
|
|
|
4612
4642
|
* @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unknown-style-directive-property/
|
|
4613
4643
|
*/
|
|
4614
4644
|
'svelte/no-unknown-style-directive-property'?: Linter.RuleEntry<SvelteNoUnknownStyleDirectiveProperty>
|
|
4645
|
+
/**
|
|
4646
|
+
* Disallow unnecessary $state wrapping of reactive classes
|
|
4647
|
+
* @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unnecessary-state-wrap/
|
|
4648
|
+
*/
|
|
4649
|
+
'svelte/no-unnecessary-state-wrap'?: Linter.RuleEntry<SvelteNoUnnecessaryStateWrap>
|
|
4615
4650
|
/**
|
|
4616
4651
|
* disallow the use of a class in the template without a corresponding style
|
|
4617
4652
|
* @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-class-name/
|
|
4618
4653
|
*/
|
|
4619
4654
|
'svelte/no-unused-class-name'?: Linter.RuleEntry<SvelteNoUnusedClassName>
|
|
4655
|
+
/**
|
|
4656
|
+
* Warns about defined Props properties that are unused
|
|
4657
|
+
* @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-props/
|
|
4658
|
+
*/
|
|
4659
|
+
'svelte/no-unused-props'?: Linter.RuleEntry<SvelteNoUnusedProps>
|
|
4620
4660
|
/**
|
|
4621
4661
|
* disallow unused svelte-ignore comments
|
|
4622
4662
|
* @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-svelte-ignore/
|
|
@@ -8217,7 +8257,7 @@ type IdMatch = []|[string]|[string, {
|
|
|
8217
8257
|
// ----- implicit-arrow-linebreak -----
|
|
8218
8258
|
type ImplicitArrowLinebreak = []|[("beside" | "below")]
|
|
8219
8259
|
// ----- import/consistent-type-specifier-style -----
|
|
8220
|
-
type ImportConsistentTypeSpecifierStyle = []|[("prefer-
|
|
8260
|
+
type ImportConsistentTypeSpecifierStyle = []|[("prefer-top-level" | "prefer-inline")]
|
|
8221
8261
|
// ----- import/dynamic-import-chunkname -----
|
|
8222
8262
|
type ImportDynamicImportChunkname = []|[{
|
|
8223
8263
|
importFunctions?: string[]
|
|
@@ -8437,6 +8477,17 @@ type ImportOrder = []|[{
|
|
|
8437
8477
|
position?: ("after" | "before")
|
|
8438
8478
|
}[]
|
|
8439
8479
|
"newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
|
|
8480
|
+
"newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
|
|
8481
|
+
consolidateIslands?: ("inside-groups" | "never")
|
|
8482
|
+
sortTypesGroup?: boolean
|
|
8483
|
+
named?: (boolean | {
|
|
8484
|
+
enabled?: boolean
|
|
8485
|
+
import?: boolean
|
|
8486
|
+
export?: boolean
|
|
8487
|
+
require?: boolean
|
|
8488
|
+
cjsExports?: boolean
|
|
8489
|
+
types?: ("mixed" | "types-first" | "types-last")
|
|
8490
|
+
})
|
|
8440
8491
|
alphabetize?: {
|
|
8441
8492
|
caseInsensitive?: boolean
|
|
8442
8493
|
order?: ("ignore" | "asc" | "desc")
|
|
@@ -14029,10 +14080,21 @@ type SvelteNoUnknownStyleDirectiveProperty = []|[{
|
|
|
14029
14080
|
ignoreProperties?: [string, ...(string)[]]
|
|
14030
14081
|
ignorePrefixed?: boolean
|
|
14031
14082
|
}]
|
|
14083
|
+
// ----- svelte/no-unnecessary-state-wrap -----
|
|
14084
|
+
type SvelteNoUnnecessaryStateWrap = []|[{
|
|
14085
|
+
additionalReactiveClasses?: string[]
|
|
14086
|
+
allowReassign?: boolean
|
|
14087
|
+
}]
|
|
14032
14088
|
// ----- svelte/no-unused-class-name -----
|
|
14033
14089
|
type SvelteNoUnusedClassName = []|[{
|
|
14034
14090
|
allowedClassNames?: string[]
|
|
14035
14091
|
}]
|
|
14092
|
+
// ----- svelte/no-unused-props -----
|
|
14093
|
+
type SvelteNoUnusedProps = []|[{
|
|
14094
|
+
checkImportedTypes?: boolean
|
|
14095
|
+
ignoreTypePatterns?: string[]
|
|
14096
|
+
ignorePropertyPatterns?: string[]
|
|
14097
|
+
}]
|
|
14036
14098
|
// ----- svelte/no-useless-mustaches -----
|
|
14037
14099
|
type SvelteNoUselessMustaches = []|[{
|
|
14038
14100
|
ignoreIncludesComment?: boolean
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antfu/eslint-config",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.10.
|
|
4
|
+
"version": "4.10.2",
|
|
5
5
|
"description": "Anthony's ESLint config",
|
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com> (https://github.com/antfu/)",
|
|
7
7
|
"license": "MIT",
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
"@eslint-community/eslint-plugin-eslint-comments": "^4.4.1",
|
|
91
91
|
"@eslint/markdown": "^6.3.0",
|
|
92
92
|
"@stylistic/eslint-plugin": "^4.2.0",
|
|
93
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
94
|
-
"@typescript-eslint/parser": "^8.
|
|
95
|
-
"@vitest/eslint-plugin": "^1.1.
|
|
93
|
+
"@typescript-eslint/eslint-plugin": "^8.27.0",
|
|
94
|
+
"@typescript-eslint/parser": "^8.27.0",
|
|
95
|
+
"@vitest/eslint-plugin": "^1.1.38",
|
|
96
96
|
"ansis": "^3.17.0",
|
|
97
97
|
"cac": "^6.7.14",
|
|
98
98
|
"eslint-config-flat-gitignore": "^2.1.0",
|
|
@@ -100,8 +100,8 @@
|
|
|
100
100
|
"eslint-merge-processors": "^2.0.0",
|
|
101
101
|
"eslint-plugin-antfu": "^3.1.1",
|
|
102
102
|
"eslint-plugin-command": "^3.1.0",
|
|
103
|
-
"eslint-plugin-import-x": "^4.
|
|
104
|
-
"eslint-plugin-jsdoc": "^50.6.
|
|
103
|
+
"eslint-plugin-import-x": "^4.9.1",
|
|
104
|
+
"eslint-plugin-jsdoc": "^50.6.8",
|
|
105
105
|
"eslint-plugin-jsonc": "^2.19.1",
|
|
106
106
|
"eslint-plugin-n": "^17.16.2",
|
|
107
107
|
"eslint-plugin-no-only-tests": "^3.3.0",
|
|
@@ -123,13 +123,13 @@
|
|
|
123
123
|
"yaml-eslint-parser": "^1.3.0"
|
|
124
124
|
},
|
|
125
125
|
"devDependencies": {
|
|
126
|
-
"@antfu/ni": "^24.
|
|
127
|
-
"@eslint-react/eslint-plugin": "^1.
|
|
126
|
+
"@antfu/ni": "^24.3.0",
|
|
127
|
+
"@eslint-react/eslint-plugin": "^1.37.0",
|
|
128
128
|
"@eslint/config-inspector": "^1.0.2",
|
|
129
129
|
"@prettier/plugin-xml": "^3.4.1",
|
|
130
130
|
"@stylistic/eslint-plugin-migrate": "^4.2.0",
|
|
131
131
|
"@types/node": "^22.13.10",
|
|
132
|
-
"@unocss/eslint-plugin": "^66.
|
|
132
|
+
"@unocss/eslint-plugin": "^66.0.0",
|
|
133
133
|
"astro-eslint-parser": "^1.2.1",
|
|
134
134
|
"bumpp": "^10.1.0",
|
|
135
135
|
"eslint": "^9.22.0",
|
|
@@ -138,23 +138,24 @@
|
|
|
138
138
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
139
139
|
"eslint-plugin-react-refresh": "^0.4.19",
|
|
140
140
|
"eslint-plugin-solid": "^0.14.5",
|
|
141
|
-
"eslint-plugin-svelte": "^3.
|
|
142
|
-
"eslint-typegen": "^2.
|
|
141
|
+
"eslint-plugin-svelte": "^3.3.3",
|
|
142
|
+
"eslint-typegen": "^2.1.0",
|
|
143
143
|
"execa": "^9.5.2",
|
|
144
144
|
"jiti": "^2.4.2",
|
|
145
145
|
"lint-staged": "^15.5.0",
|
|
146
|
+
"pnpm-workspace-yaml": "^0.3.1",
|
|
146
147
|
"prettier-plugin-astro": "^0.14.1",
|
|
147
148
|
"prettier-plugin-slidev": "^1.0.5",
|
|
148
|
-
"simple-git-hooks": "^2.
|
|
149
|
-
"svelte": "^5.23.
|
|
150
|
-
"svelte-eslint-parser": "^1.0
|
|
149
|
+
"simple-git-hooks": "^2.12.1",
|
|
150
|
+
"svelte": "^5.23.2",
|
|
151
|
+
"svelte-eslint-parser": "^1.1.0",
|
|
151
152
|
"tinyglobby": "^0.2.12",
|
|
152
153
|
"tsup": "^8.4.0",
|
|
153
154
|
"tsx": "^4.19.3",
|
|
154
155
|
"typescript": "^5.8.2",
|
|
155
|
-
"vitest": "^3.0.
|
|
156
|
+
"vitest": "^3.0.9",
|
|
156
157
|
"vue": "^3.5.13",
|
|
157
|
-
"@antfu/eslint-config": "4.10.
|
|
158
|
+
"@antfu/eslint-config": "4.10.2"
|
|
158
159
|
},
|
|
159
160
|
"simple-git-hooks": {
|
|
160
161
|
"pre-commit": "npx lint-staged"
|
|
@@ -163,13 +164,13 @@
|
|
|
163
164
|
"*": "eslint --fix"
|
|
164
165
|
},
|
|
165
166
|
"scripts": {
|
|
166
|
-
"build": "nr
|
|
167
|
+
"build": "nr gen && tsup --clean --dts",
|
|
167
168
|
"stub": "tsup",
|
|
168
169
|
"dev": "npx @eslint/config-inspector --config eslint.config.ts",
|
|
169
170
|
"build:inspector": "pnpm build && npx @eslint/config-inspector build",
|
|
170
171
|
"watch": "tsup --watch",
|
|
171
172
|
"lint": "eslint",
|
|
172
|
-
"
|
|
173
|
+
"gen": "tsx scripts/typegen.ts && tsx scripts/versiongen.ts",
|
|
173
174
|
"release": "bumpp && pnpm publish",
|
|
174
175
|
"test": "vitest",
|
|
175
176
|
"typecheck": "tsc --noEmit"
|