@dhzh/eslint-config 0.12.2 → 0.12.3

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.cjs CHANGED
@@ -48,8 +48,8 @@ var import_picocolors = __toESM(require("picocolors"), 1);
48
48
  var package_default = {
49
49
  name: "@dhzh/eslint-config",
50
50
  type: "module",
51
- version: "0.12.2",
52
- packageManager: "pnpm@9.7.0",
51
+ version: "0.12.3",
52
+ packageManager: "pnpm@9.7.1",
53
53
  description: "Easton's ESLint config",
54
54
  author: "Easton Zheng <dhzhme@gmail.com>",
55
55
  license: "MIT",
@@ -130,26 +130,26 @@ var package_default = {
130
130
  }
131
131
  },
132
132
  dependencies: {
133
- "@antfu/install-pkg": "^0.3.3",
133
+ "@antfu/install-pkg": "^0.3.5",
134
134
  "@clack/prompts": "^0.7.0",
135
- "@eslint-react/eslint-plugin": "^1.9.1",
136
- "@stylistic/eslint-plugin": "^2.6.2",
137
- "@typescript-eslint/eslint-plugin": "^8.0.1",
138
- "@typescript-eslint/parser": "^8.0.1",
139
- "@vitest/eslint-plugin": "^1.0.0",
135
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
136
+ "@eslint-react/eslint-plugin": "^1.10.1",
137
+ "@stylistic/eslint-plugin": "^2.6.4",
138
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
139
+ "@typescript-eslint/parser": "^8.1.0",
140
+ "@vitest/eslint-plugin": "^1.0.3",
140
141
  "eslint-config-flat-gitignore": "^0.1.8",
141
142
  "eslint-flat-config-utils": "^0.3.0",
142
143
  "eslint-merge-processors": "^0.1.0",
143
- "eslint-plugin-antfu": "^2.3.4",
144
+ "eslint-plugin-antfu": "^2.3.5",
144
145
  "eslint-plugin-command": "^0.2.3",
145
- "eslint-plugin-eslint-comments": "^3.2.0",
146
146
  "eslint-plugin-import-x": "^3.1.0",
147
- "eslint-plugin-jsdoc": "^50.0.0",
147
+ "eslint-plugin-jsdoc": "^50.2.2",
148
148
  "eslint-plugin-jsonc": "^2.16.0",
149
149
  "eslint-plugin-markdown": "^5.1.0",
150
150
  "eslint-plugin-n": "^17.10.2",
151
- "eslint-plugin-no-only-tests": "^3.1.0",
152
- "eslint-plugin-perfectionist": "^3.1.3",
151
+ "eslint-plugin-no-only-tests": "^3.3.0",
152
+ "eslint-plugin-perfectionist": "^3.2.0",
153
153
  "eslint-plugin-react-hooks": "^4.6.2",
154
154
  "eslint-plugin-react-refresh": "^0.4.9",
155
155
  "eslint-plugin-regexp": "^2.6.0",
@@ -170,19 +170,18 @@ var package_default = {
170
170
  yargs: "^17.7.2"
171
171
  },
172
172
  devDependencies: {
173
- "@antfu/ni": "^0.22.1",
174
- "@dhzh/eslint-config": "workspace:*",
175
- "@eslint/config-inspector": "^0.5.2",
173
+ "@antfu/ni": "^0.22.4",
174
+ "@eslint/config-inspector": "^0.5.3",
176
175
  "@prettier/plugin-xml": "^3.4.1",
177
- "@stylistic/eslint-plugin-migrate": "^2.6.2",
176
+ "@stylistic/eslint-plugin-migrate": "^2.6.4",
178
177
  "@types/eslint": "^9.6.0",
179
178
  "@types/fs-extra": "^11.0.4",
180
- "@types/node": "^22.2.0",
179
+ "@types/node": "^22.3.0",
181
180
  "@types/prompts": "^2.4.9",
182
181
  "@types/yargs": "^17.0.33",
183
- "@unocss/eslint-plugin": "^0.61.9",
182
+ "@unocss/eslint-plugin": "^0.62.2",
184
183
  "astro-eslint-parser": "^1.0.2",
185
- bumpp: "^9.4.2",
184
+ bumpp: "^9.5.1",
186
185
  "bundle-require": "^5.0.0",
187
186
  eslint: "npm:eslint-ts-patch@9.5.0-0",
188
187
  "eslint-plugin-astro": "^1.2.3",
@@ -190,12 +189,12 @@ var package_default = {
190
189
  "eslint-plugin-solid": "^0.14.1",
191
190
  "eslint-plugin-svelte": "^2.43.0",
192
191
  "eslint-ts-patch": "9.5.0-0",
193
- "eslint-typegen": "^0.3.0",
192
+ "eslint-typegen": "^0.3.1",
194
193
  esno: "^4.7.0",
195
- execa: "^9.3.0",
194
+ execa: "^9.3.1",
196
195
  "fast-glob": "^3.3.2",
197
196
  "fs-extra": "^11.2.0",
198
- "lint-staged": "^15.2.8",
197
+ "lint-staged": "^15.2.9",
199
198
  "prettier-plugin-astro": "^0.14.1",
200
199
  "prettier-plugin-slidev": "^1.0.5",
201
200
  rimraf: "^6.0.1",
@@ -206,9 +205,11 @@ var package_default = {
206
205
  tsx: "^4.17.0",
207
206
  typescript: "^5.5.4",
208
207
  vitest: "^2.0.5",
209
- vue: "^3.4.37"
208
+ vue: "^3.4.38"
210
209
  },
211
210
  resolutions: {
211
+ "@eslint-community/eslint-utils": "^4.4.0",
212
+ "@typescript-eslint/utils": "^8.1.0",
212
213
  tsx: "~4.17.0"
213
214
  },
214
215
  "simple-git-hooks": {
package/dist/cli.js CHANGED
@@ -19,8 +19,8 @@ import c from "picocolors";
19
19
  var package_default = {
20
20
  name: "@dhzh/eslint-config",
21
21
  type: "module",
22
- version: "0.12.2",
23
- packageManager: "pnpm@9.7.0",
22
+ version: "0.12.3",
23
+ packageManager: "pnpm@9.7.1",
24
24
  description: "Easton's ESLint config",
25
25
  author: "Easton Zheng <dhzhme@gmail.com>",
26
26
  license: "MIT",
@@ -101,26 +101,26 @@ var package_default = {
101
101
  }
102
102
  },
103
103
  dependencies: {
104
- "@antfu/install-pkg": "^0.3.3",
104
+ "@antfu/install-pkg": "^0.3.5",
105
105
  "@clack/prompts": "^0.7.0",
106
- "@eslint-react/eslint-plugin": "^1.9.1",
107
- "@stylistic/eslint-plugin": "^2.6.2",
108
- "@typescript-eslint/eslint-plugin": "^8.0.1",
109
- "@typescript-eslint/parser": "^8.0.1",
110
- "@vitest/eslint-plugin": "^1.0.0",
106
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
107
+ "@eslint-react/eslint-plugin": "^1.10.1",
108
+ "@stylistic/eslint-plugin": "^2.6.4",
109
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
110
+ "@typescript-eslint/parser": "^8.1.0",
111
+ "@vitest/eslint-plugin": "^1.0.3",
111
112
  "eslint-config-flat-gitignore": "^0.1.8",
112
113
  "eslint-flat-config-utils": "^0.3.0",
113
114
  "eslint-merge-processors": "^0.1.0",
114
- "eslint-plugin-antfu": "^2.3.4",
115
+ "eslint-plugin-antfu": "^2.3.5",
115
116
  "eslint-plugin-command": "^0.2.3",
116
- "eslint-plugin-eslint-comments": "^3.2.0",
117
117
  "eslint-plugin-import-x": "^3.1.0",
118
- "eslint-plugin-jsdoc": "^50.0.0",
118
+ "eslint-plugin-jsdoc": "^50.2.2",
119
119
  "eslint-plugin-jsonc": "^2.16.0",
120
120
  "eslint-plugin-markdown": "^5.1.0",
121
121
  "eslint-plugin-n": "^17.10.2",
122
- "eslint-plugin-no-only-tests": "^3.1.0",
123
- "eslint-plugin-perfectionist": "^3.1.3",
122
+ "eslint-plugin-no-only-tests": "^3.3.0",
123
+ "eslint-plugin-perfectionist": "^3.2.0",
124
124
  "eslint-plugin-react-hooks": "^4.6.2",
125
125
  "eslint-plugin-react-refresh": "^0.4.9",
126
126
  "eslint-plugin-regexp": "^2.6.0",
@@ -141,19 +141,18 @@ var package_default = {
141
141
  yargs: "^17.7.2"
142
142
  },
143
143
  devDependencies: {
144
- "@antfu/ni": "^0.22.1",
145
- "@dhzh/eslint-config": "workspace:*",
146
- "@eslint/config-inspector": "^0.5.2",
144
+ "@antfu/ni": "^0.22.4",
145
+ "@eslint/config-inspector": "^0.5.3",
147
146
  "@prettier/plugin-xml": "^3.4.1",
148
- "@stylistic/eslint-plugin-migrate": "^2.6.2",
147
+ "@stylistic/eslint-plugin-migrate": "^2.6.4",
149
148
  "@types/eslint": "^9.6.0",
150
149
  "@types/fs-extra": "^11.0.4",
151
- "@types/node": "^22.2.0",
150
+ "@types/node": "^22.3.0",
152
151
  "@types/prompts": "^2.4.9",
153
152
  "@types/yargs": "^17.0.33",
154
- "@unocss/eslint-plugin": "^0.61.9",
153
+ "@unocss/eslint-plugin": "^0.62.2",
155
154
  "astro-eslint-parser": "^1.0.2",
156
- bumpp: "^9.4.2",
155
+ bumpp: "^9.5.1",
157
156
  "bundle-require": "^5.0.0",
158
157
  eslint: "npm:eslint-ts-patch@9.5.0-0",
159
158
  "eslint-plugin-astro": "^1.2.3",
@@ -161,12 +160,12 @@ var package_default = {
161
160
  "eslint-plugin-solid": "^0.14.1",
162
161
  "eslint-plugin-svelte": "^2.43.0",
163
162
  "eslint-ts-patch": "9.5.0-0",
164
- "eslint-typegen": "^0.3.0",
163
+ "eslint-typegen": "^0.3.1",
165
164
  esno: "^4.7.0",
166
- execa: "^9.3.0",
165
+ execa: "^9.3.1",
167
166
  "fast-glob": "^3.3.2",
168
167
  "fs-extra": "^11.2.0",
169
- "lint-staged": "^15.2.8",
168
+ "lint-staged": "^15.2.9",
170
169
  "prettier-plugin-astro": "^0.14.1",
171
170
  "prettier-plugin-slidev": "^1.0.5",
172
171
  rimraf: "^6.0.1",
@@ -177,9 +176,11 @@ var package_default = {
177
176
  tsx: "^4.17.0",
178
177
  typescript: "^5.5.4",
179
178
  vitest: "^2.0.5",
180
- vue: "^3.4.37"
179
+ vue: "^3.4.38"
181
180
  },
182
181
  resolutions: {
182
+ "@eslint-community/eslint-utils": "^4.4.0",
183
+ "@typescript-eslint/utils": "^8.1.0",
183
184
  tsx: "~4.17.0"
184
185
  },
185
186
  "simple-git-hooks": {
package/dist/index.cjs CHANGED
@@ -74,6 +74,7 @@ __export(src_exports, {
74
74
  imports: () => imports,
75
75
  interopDefault: () => interopDefault,
76
76
  isInEditorEnv: () => isInEditorEnv,
77
+ isPackageInScope: () => isPackageInScope,
77
78
  javascript: () => javascript,
78
79
  jsdoc: () => jsdoc,
79
80
  jsonc: () => jsonc,
@@ -103,6 +104,10 @@ __export(src_exports, {
103
104
  });
104
105
  module.exports = __toCommonJS(src_exports);
105
106
 
107
+ // node_modules/.pnpm/tsup@8.2.4_jiti@1.21.6_postcss@8.4.39_tsx@4.17.0_typescript@5.5.4_yaml@2.5.0/node_modules/tsup/assets/cjs_shims.js
108
+ var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
109
+ var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
110
+
106
111
  // src/factory.ts
107
112
  var import_local_pkg4 = require("local-pkg");
108
113
  var import_eslint_flat_config_utils = require("eslint-flat-config-utils");
@@ -189,7 +194,10 @@ var GLOB_EXCLUDE = [
189
194
 
190
195
  // src/utils.ts
191
196
  var import_node_process = __toESM(require("process"), 1);
197
+ var import_node_url = require("url");
192
198
  var import_local_pkg = require("local-pkg");
199
+ var scopeUrl = (0, import_node_url.fileURLToPath)(new URL(".", importMetaUrl));
200
+ var isCwdInScope = (0, import_local_pkg.isPackageExists)("@antfu/eslint-config");
193
201
  var parserPlain = {
194
202
  meta: {
195
203
  name: "parser-plain"
@@ -252,11 +260,14 @@ async function interopDefault(m) {
252
260
  const resolved = await m;
253
261
  return resolved.default || resolved;
254
262
  }
263
+ function isPackageInScope(name) {
264
+ return (0, import_local_pkg.isPackageExists)(name, { paths: [scopeUrl] });
265
+ }
255
266
  async function ensurePackages(packages) {
256
- if (import_node_process.default.env.CI || import_node_process.default.stdout.isTTY === false) {
267
+ if (import_node_process.default.env.CI || import_node_process.default.stdout.isTTY === false || isCwdInScope === false) {
257
268
  return;
258
269
  }
259
- const nonExistingPackages = packages.filter((i) => i && !(0, import_local_pkg.isPackageExists)(i));
270
+ const nonExistingPackages = packages.filter((i) => i && !isPackageInScope(i));
260
271
  if (nonExistingPackages.length === 0) {
261
272
  return;
262
273
  }
@@ -346,7 +357,7 @@ async function command() {
346
357
 
347
358
  // src/plugins.ts
348
359
  var import_eslint_plugin_antfu = __toESM(require("eslint-plugin-antfu"), 1);
349
- var import_eslint_plugin_eslint_comments = __toESM(require("eslint-plugin-eslint-comments"), 1);
360
+ var import_eslint_plugin_eslint_comments = __toESM(require("@eslint-community/eslint-plugin-eslint-comments"), 1);
350
361
  var pluginImport = __toESM(require("eslint-plugin-import-x"), 1);
351
362
  var import_eslint_plugin_n = __toESM(require("eslint-plugin-n"), 1);
352
363
  var import_eslint_plugin_unicorn = __toESM(require("eslint-plugin-unicorn"), 1);
@@ -432,13 +443,13 @@ async function stylistic(options = {}) {
432
443
  async function formatters(options = {}, stylistic2 = {}) {
433
444
  if (options === true) {
434
445
  options = {
435
- astro: (0, import_local_pkg2.isPackageExists)("prettier-plugin-astro"),
446
+ astro: isPackageInScope("prettier-plugin-astro"),
436
447
  css: true,
437
448
  graphql: true,
438
449
  html: true,
439
450
  markdown: true,
440
451
  slidev: (0, import_local_pkg2.isPackageExists)("@slidev/cli"),
441
- xml: (0, import_local_pkg2.isPackageExists)("@prettier/plugin-xml")
452
+ xml: isPackageInScope("@prettier/plugin-xml")
442
453
  };
443
454
  }
444
455
  await ensurePackages([
@@ -1951,8 +1962,8 @@ async function typescript(options = {}) {
1951
1962
  },
1952
1963
  // assign type-aware parser for type-aware files and type-unaware parser for the rest
1953
1964
  ...isTypeAware ? [
1954
- makeParser(true, filesTypeAware, ignoresTypeAware),
1955
- makeParser(false, files, filesTypeAware)
1965
+ makeParser(false, files),
1966
+ makeParser(true, filesTypeAware, ignoresTypeAware)
1956
1967
  ] : [makeParser(false, files)],
1957
1968
  {
1958
1969
  files,
@@ -2626,6 +2637,7 @@ var src_default = dhzh;
2626
2637
  imports,
2627
2638
  interopDefault,
2628
2639
  isInEditorEnv,
2640
+ isPackageInScope,
2629
2641
  javascript,
2630
2642
  jsdoc,
2631
2643
  jsonc,
package/dist/index.d.cts CHANGED
@@ -605,47 +605,47 @@ interface RuleOptions {
605
605
  'eqeqeq'?: Linter.RuleEntry<Eqeqeq>
606
606
  /**
607
607
  * require a `eslint-enable` comment for every `eslint-disable` comment
608
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
608
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
609
609
  */
610
610
  'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
611
611
  /**
612
612
  * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
613
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
613
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
614
614
  */
615
615
  'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
616
616
  /**
617
617
  * disallow duplicate `eslint-disable` comments
618
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
618
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
619
619
  */
620
620
  'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
621
621
  /**
622
622
  * disallow `eslint-disable` comments about specific rules
623
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
623
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
624
624
  */
625
625
  'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
626
626
  /**
627
627
  * disallow `eslint-disable` comments without rule names
628
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
628
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
629
629
  */
630
630
  'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
631
631
  /**
632
632
  * disallow unused `eslint-disable` comments
633
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
633
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
634
634
  */
635
635
  'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
636
636
  /**
637
637
  * disallow unused `eslint-enable` comments
638
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
638
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
639
639
  */
640
640
  'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
641
641
  /**
642
642
  * disallow ESLint directive-comments
643
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
643
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
644
644
  */
645
645
  'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
646
646
  /**
647
647
  * require include descriptions in ESLint directive-comments
648
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
648
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
649
649
  */
650
650
  'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
651
651
  /**
@@ -5413,7 +5413,7 @@ interface RuleOptions {
5413
5413
  */
5414
5414
  'ts/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
5415
5415
  /**
5416
- * Disallow type parameters that only appear once
5416
+ * Disallow type parameters that aren't used multiple times
5417
5417
  * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
5418
5418
  */
5419
5419
  'ts/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
@@ -10373,6 +10373,10 @@ type PerfectionistSortEnums = []|[{
10373
10373
 
10374
10374
  ignoreCase?: boolean
10375
10375
 
10376
+ sortByValue?: boolean
10377
+
10378
+ forceNumericSort?: boolean
10379
+
10376
10380
  partitionByComment?: (string[] | boolean | string)
10377
10381
  }]
10378
10382
  // ----- perfectionist/sort-exports -----
@@ -11843,7 +11847,7 @@ type StylePaddedBlocks = []|[(("always" | "never") | {
11843
11847
  }]
11844
11848
  // ----- style/padding-line-between-statements -----
11845
11849
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
11846
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
11850
+ type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
11847
11851
  type StylePaddingLineBetweenStatements = {
11848
11852
  blankLine: _StylePaddingLineBetweenStatementsPaddingType
11849
11853
  prev: _StylePaddingLineBetweenStatementsStatementType
@@ -12156,6 +12160,7 @@ type TestNoLargeSnapshots = []|[{
12156
12160
  type TestNoOnlyTests = []|[{
12157
12161
  block?: string[]
12158
12162
  focus?: string[]
12163
+ functions?: string[]
12159
12164
  fix?: boolean
12160
12165
  }]
12161
12166
  // ----- test/no-restricted-matchers -----
@@ -12924,6 +12929,7 @@ type TsNoMisusedPromises = []|[{
12924
12929
  checksVoidReturn?: (boolean | {
12925
12930
  arguments?: boolean
12926
12931
  attributes?: boolean
12932
+ inheritedMethods?: boolean
12927
12933
  properties?: boolean
12928
12934
  returns?: boolean
12929
12935
  variables?: boolean
@@ -15472,7 +15478,8 @@ declare function toArray<T>(value: T | T[]): T[];
15472
15478
  declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
15473
15479
  default: infer U;
15474
15480
  } ? U : T>;
15481
+ declare function isPackageInScope(name: string): boolean;
15475
15482
  declare function ensurePackages(packages: (string | undefined)[]): Promise<void>;
15476
15483
  declare function isInEditorEnv(): boolean;
15477
15484
 
15478
- export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypedFlatConfigItem, astro, combine, command, comments, dhzh as default, defaultPluginRenaming, dhzh, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
15485
+ export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypedFlatConfigItem, astro, combine, command, comments, dhzh as default, defaultPluginRenaming, dhzh, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.d.ts CHANGED
@@ -605,47 +605,47 @@ interface RuleOptions {
605
605
  'eqeqeq'?: Linter.RuleEntry<Eqeqeq>
606
606
  /**
607
607
  * require a `eslint-enable` comment for every `eslint-disable` comment
608
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
608
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
609
609
  */
610
610
  'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
611
611
  /**
612
612
  * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
613
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
613
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
614
614
  */
615
615
  'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
616
616
  /**
617
617
  * disallow duplicate `eslint-disable` comments
618
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
618
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
619
619
  */
620
620
  'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
621
621
  /**
622
622
  * disallow `eslint-disable` comments about specific rules
623
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
623
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
624
624
  */
625
625
  'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
626
626
  /**
627
627
  * disallow `eslint-disable` comments without rule names
628
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
628
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
629
629
  */
630
630
  'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
631
631
  /**
632
632
  * disallow unused `eslint-disable` comments
633
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
633
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
634
634
  */
635
635
  'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
636
636
  /**
637
637
  * disallow unused `eslint-enable` comments
638
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
638
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
639
639
  */
640
640
  'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
641
641
  /**
642
642
  * disallow ESLint directive-comments
643
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
643
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
644
644
  */
645
645
  'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
646
646
  /**
647
647
  * require include descriptions in ESLint directive-comments
648
- * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
648
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
649
649
  */
650
650
  'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
651
651
  /**
@@ -5413,7 +5413,7 @@ interface RuleOptions {
5413
5413
  */
5414
5414
  'ts/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
5415
5415
  /**
5416
- * Disallow type parameters that only appear once
5416
+ * Disallow type parameters that aren't used multiple times
5417
5417
  * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
5418
5418
  */
5419
5419
  'ts/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
@@ -10373,6 +10373,10 @@ type PerfectionistSortEnums = []|[{
10373
10373
 
10374
10374
  ignoreCase?: boolean
10375
10375
 
10376
+ sortByValue?: boolean
10377
+
10378
+ forceNumericSort?: boolean
10379
+
10376
10380
  partitionByComment?: (string[] | boolean | string)
10377
10381
  }]
10378
10382
  // ----- perfectionist/sort-exports -----
@@ -11843,7 +11847,7 @@ type StylePaddedBlocks = []|[(("always" | "never") | {
11843
11847
  }]
11844
11848
  // ----- style/padding-line-between-statements -----
11845
11849
  type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
11846
- type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
11850
+ type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]])
11847
11851
  type StylePaddingLineBetweenStatements = {
11848
11852
  blankLine: _StylePaddingLineBetweenStatementsPaddingType
11849
11853
  prev: _StylePaddingLineBetweenStatementsStatementType
@@ -12156,6 +12160,7 @@ type TestNoLargeSnapshots = []|[{
12156
12160
  type TestNoOnlyTests = []|[{
12157
12161
  block?: string[]
12158
12162
  focus?: string[]
12163
+ functions?: string[]
12159
12164
  fix?: boolean
12160
12165
  }]
12161
12166
  // ----- test/no-restricted-matchers -----
@@ -12924,6 +12929,7 @@ type TsNoMisusedPromises = []|[{
12924
12929
  checksVoidReturn?: (boolean | {
12925
12930
  arguments?: boolean
12926
12931
  attributes?: boolean
12932
+ inheritedMethods?: boolean
12927
12933
  properties?: boolean
12928
12934
  returns?: boolean
12929
12935
  variables?: boolean
@@ -15472,7 +15478,8 @@ declare function toArray<T>(value: T | T[]): T[];
15472
15478
  declare function interopDefault<T>(m: Awaitable<T>): Promise<T extends {
15473
15479
  default: infer U;
15474
15480
  } ? U : T>;
15481
+ declare function isPackageInScope(name: string): boolean;
15475
15482
  declare function ensurePackages(packages: (string | undefined)[]): Promise<void>;
15476
15483
  declare function isInEditorEnv(): boolean;
15477
15484
 
15478
- export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypedFlatConfigItem, astro, combine, command, comments, dhzh as default, defaultPluginRenaming, dhzh, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
15485
+ export { type Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, type OptionsComponentExts, type OptionsConfig, type OptionsFiles, type OptionsFormatters, type OptionsHasTypeScript, type OptionsIsInEditor, type OptionsOverrides, type OptionsProjectType, type OptionsRegExp, type OptionsStylistic, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type OptionsTypescript, type OptionsUnoCSS, type OptionsVue, type ResolvedOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TypedFlatConfigItem, astro, combine, command, comments, dhzh as default, defaultPluginRenaming, dhzh, ensurePackages, formatters, getOverrides, ignores, imports, interopDefault, isInEditorEnv, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, node, parserPlain, perfectionist, react, regexp, renamePluginInConfigs, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
package/dist/index.js CHANGED
@@ -84,7 +84,10 @@ var GLOB_EXCLUDE = [
84
84
 
85
85
  // src/utils.ts
86
86
  import process from "node:process";
87
+ import { fileURLToPath } from "node:url";
87
88
  import { isPackageExists } from "local-pkg";
89
+ var scopeUrl = fileURLToPath(new URL(".", import.meta.url));
90
+ var isCwdInScope = isPackageExists("@antfu/eslint-config");
88
91
  var parserPlain = {
89
92
  meta: {
90
93
  name: "parser-plain"
@@ -147,11 +150,14 @@ async function interopDefault(m) {
147
150
  const resolved = await m;
148
151
  return resolved.default || resolved;
149
152
  }
153
+ function isPackageInScope(name) {
154
+ return isPackageExists(name, { paths: [scopeUrl] });
155
+ }
150
156
  async function ensurePackages(packages) {
151
- if (process.env.CI || process.stdout.isTTY === false) {
157
+ if (process.env.CI || process.stdout.isTTY === false || isCwdInScope === false) {
152
158
  return;
153
159
  }
154
- const nonExistingPackages = packages.filter((i) => i && !isPackageExists(i));
160
+ const nonExistingPackages = packages.filter((i) => i && !isPackageInScope(i));
155
161
  if (nonExistingPackages.length === 0) {
156
162
  return;
157
163
  }
@@ -241,7 +247,7 @@ async function command() {
241
247
 
242
248
  // src/plugins.ts
243
249
  import { default as default2 } from "eslint-plugin-antfu";
244
- import { default as default3 } from "eslint-plugin-eslint-comments";
250
+ import { default as default3 } from "@eslint-community/eslint-plugin-eslint-comments";
245
251
  import * as pluginImport from "eslint-plugin-import-x";
246
252
  import { default as default4 } from "eslint-plugin-n";
247
253
  import { default as default5 } from "eslint-plugin-unicorn";
@@ -327,13 +333,13 @@ async function stylistic(options = {}) {
327
333
  async function formatters(options = {}, stylistic2 = {}) {
328
334
  if (options === true) {
329
335
  options = {
330
- astro: isPackageExists2("prettier-plugin-astro"),
336
+ astro: isPackageInScope("prettier-plugin-astro"),
331
337
  css: true,
332
338
  graphql: true,
333
339
  html: true,
334
340
  markdown: true,
335
341
  slidev: isPackageExists2("@slidev/cli"),
336
- xml: isPackageExists2("@prettier/plugin-xml")
342
+ xml: isPackageInScope("@prettier/plugin-xml")
337
343
  };
338
344
  }
339
345
  await ensurePackages([
@@ -1846,8 +1852,8 @@ async function typescript(options = {}) {
1846
1852
  },
1847
1853
  // assign type-aware parser for type-aware files and type-unaware parser for the rest
1848
1854
  ...isTypeAware ? [
1849
- makeParser(true, filesTypeAware, ignoresTypeAware),
1850
- makeParser(false, files, filesTypeAware)
1855
+ makeParser(false, files),
1856
+ makeParser(true, filesTypeAware, ignoresTypeAware)
1851
1857
  ] : [makeParser(false, files)],
1852
1858
  {
1853
1859
  files,
@@ -2521,6 +2527,7 @@ export {
2521
2527
  imports,
2522
2528
  interopDefault,
2523
2529
  isInEditorEnv,
2530
+ isPackageInScope,
2524
2531
  javascript,
2525
2532
  jsdoc,
2526
2533
  jsonc,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dhzh/eslint-config",
3
3
  "type": "module",
4
- "version": "0.12.2",
4
+ "version": "0.12.3",
5
5
  "description": "Easton's ESLint config",
6
6
  "author": "Easton Zheng <dhzhme@gmail.com>",
7
7
  "license": "MIT",
@@ -69,26 +69,26 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@antfu/install-pkg": "^0.3.3",
72
+ "@antfu/install-pkg": "^0.3.5",
73
73
  "@clack/prompts": "^0.7.0",
74
- "@eslint-react/eslint-plugin": "^1.9.1",
75
- "@stylistic/eslint-plugin": "^2.6.2",
76
- "@typescript-eslint/eslint-plugin": "^8.0.1",
77
- "@typescript-eslint/parser": "^8.0.1",
78
- "@vitest/eslint-plugin": "^1.0.0",
74
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
75
+ "@eslint-react/eslint-plugin": "^1.10.1",
76
+ "@stylistic/eslint-plugin": "^2.6.4",
77
+ "@typescript-eslint/eslint-plugin": "^8.1.0",
78
+ "@typescript-eslint/parser": "^8.1.0",
79
+ "@vitest/eslint-plugin": "^1.0.3",
79
80
  "eslint-config-flat-gitignore": "^0.1.8",
80
81
  "eslint-flat-config-utils": "^0.3.0",
81
82
  "eslint-merge-processors": "^0.1.0",
82
- "eslint-plugin-antfu": "^2.3.4",
83
+ "eslint-plugin-antfu": "^2.3.5",
83
84
  "eslint-plugin-command": "^0.2.3",
84
- "eslint-plugin-eslint-comments": "^3.2.0",
85
85
  "eslint-plugin-import-x": "^3.1.0",
86
- "eslint-plugin-jsdoc": "^50.0.0",
86
+ "eslint-plugin-jsdoc": "^50.2.2",
87
87
  "eslint-plugin-jsonc": "^2.16.0",
88
88
  "eslint-plugin-markdown": "^5.1.0",
89
89
  "eslint-plugin-n": "^17.10.2",
90
- "eslint-plugin-no-only-tests": "^3.1.0",
91
- "eslint-plugin-perfectionist": "^3.1.3",
90
+ "eslint-plugin-no-only-tests": "^3.3.0",
91
+ "eslint-plugin-perfectionist": "^3.2.0",
92
92
  "eslint-plugin-react-hooks": "^4.6.2",
93
93
  "eslint-plugin-react-refresh": "^0.4.9",
94
94
  "eslint-plugin-regexp": "^2.6.0",
@@ -109,18 +109,18 @@
109
109
  "yargs": "^17.7.2"
110
110
  },
111
111
  "devDependencies": {
112
- "@antfu/ni": "^0.22.1",
113
- "@eslint/config-inspector": "^0.5.2",
112
+ "@antfu/ni": "^0.22.4",
113
+ "@eslint/config-inspector": "^0.5.3",
114
114
  "@prettier/plugin-xml": "^3.4.1",
115
- "@stylistic/eslint-plugin-migrate": "^2.6.2",
115
+ "@stylistic/eslint-plugin-migrate": "^2.6.4",
116
116
  "@types/eslint": "^9.6.0",
117
117
  "@types/fs-extra": "^11.0.4",
118
- "@types/node": "^22.2.0",
118
+ "@types/node": "^22.3.0",
119
119
  "@types/prompts": "^2.4.9",
120
120
  "@types/yargs": "^17.0.33",
121
- "@unocss/eslint-plugin": "^0.61.9",
121
+ "@unocss/eslint-plugin": "^0.62.2",
122
122
  "astro-eslint-parser": "^1.0.2",
123
- "bumpp": "^9.4.2",
123
+ "bumpp": "^9.5.1",
124
124
  "bundle-require": "^5.0.0",
125
125
  "eslint": "npm:eslint-ts-patch@9.5.0-0",
126
126
  "eslint-plugin-astro": "^1.2.3",
@@ -128,12 +128,12 @@
128
128
  "eslint-plugin-solid": "^0.14.1",
129
129
  "eslint-plugin-svelte": "^2.43.0",
130
130
  "eslint-ts-patch": "9.5.0-0",
131
- "eslint-typegen": "^0.3.0",
131
+ "eslint-typegen": "^0.3.1",
132
132
  "esno": "^4.7.0",
133
- "execa": "^9.3.0",
133
+ "execa": "^9.3.1",
134
134
  "fast-glob": "^3.3.2",
135
135
  "fs-extra": "^11.2.0",
136
- "lint-staged": "^15.2.8",
136
+ "lint-staged": "^15.2.9",
137
137
  "prettier-plugin-astro": "^0.14.1",
138
138
  "prettier-plugin-slidev": "^1.0.5",
139
139
  "rimraf": "^6.0.1",
@@ -144,10 +144,11 @@
144
144
  "tsx": "^4.17.0",
145
145
  "typescript": "^5.5.4",
146
146
  "vitest": "^2.0.5",
147
- "vue": "^3.4.37",
148
- "@dhzh/eslint-config": "0.12.2"
147
+ "vue": "^3.4.38"
149
148
  },
150
149
  "resolutions": {
150
+ "@eslint-community/eslint-utils": "^4.4.0",
151
+ "@typescript-eslint/utils": "^8.1.0",
151
152
  "tsx": "~4.17.0"
152
153
  },
153
154
  "simple-git-hooks": {