@ntnyq/eslint-config 5.4.2 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +345 -178
  2. package/dist/index.js +148 -109
  3. package/package.json +28 -27
package/dist/index.js CHANGED
@@ -162,7 +162,7 @@ const sharedRules = {
162
162
  ...pluginVue.configs["strongly-recommended"].rules,
163
163
  ...pluginVue.configs.recommended.rules
164
164
  };
165
- const disabledRules$1 = {
165
+ const disabledRules = {
166
166
  "vue/multi-word-component-names": "off",
167
167
  "vue/no-setup-props-reactivity-loss": "off",
168
168
  "vue/no-v-html": "off",
@@ -448,7 +448,7 @@ const configVue = (options = {}) => {
448
448
  "shorthand",
449
449
  { sameNameShorthand: "always" }
450
450
  ],
451
- ...disabledRules$1,
451
+ ...disabledRules,
452
452
  ...extensionRules,
453
453
  ...unCategorizedRules,
454
454
  ...options.overrides
@@ -550,8 +550,7 @@ function getOverrides(options, key) {
550
550
  //#endregion
551
551
  //#region src/utils/combineConfigs.ts
552
552
  async function combineConfigs(...configs) {
553
- const resolved = await Promise.all(configs);
554
- return resolved.flat();
553
+ return (await Promise.all(configs)).flat();
555
554
  }
556
555
 
557
556
  //#endregion
@@ -577,8 +576,7 @@ async function ensurePackages(packages) {
577
576
  const nonExistingPackages = packages.filter((pkg) => !!pkg && !isPackageInScope(pkg));
578
577
  if (nonExistingPackages.length === 0) return;
579
578
  const { confirm } = await import("@clack/prompts");
580
- const confirmInstall = await confirm({ message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?` });
581
- if (confirmInstall) try {
579
+ if (await confirm({ message: `${nonExistingPackages.length === 1 ? "Package is" : "Packages are"} required for this config: ${nonExistingPackages.join(", ")}. Do you want to install them?` })) try {
582
580
  const { installPackage } = await import("@antfu/install-pkg");
583
581
  await installPackage(nonExistingPackages, { dev: true });
584
582
  } catch (err) {
@@ -601,12 +599,11 @@ async function interopDefault(mod) {
601
599
  //#endregion
602
600
  //#region src/utils/mergePrettierOptions.ts
603
601
  function mergePrettierOptions(options = {}, overrides = {}) {
604
- const result = {
602
+ return {
605
603
  ...options,
606
604
  ...overrides,
607
605
  plugins: [...options.plugins || [], ...overrides.plugins || []]
608
606
  };
609
- return result;
610
607
  }
611
608
 
612
609
  //#endregion
@@ -1324,6 +1321,7 @@ const configJsdoc = (options = {}) => [{
1324
1321
  name: "ntnyq/jsdoc",
1325
1322
  plugins: { jsdoc: pluginJsdoc },
1326
1323
  rules: {
1324
+ "jsdoc/require-tags": "off",
1327
1325
  "jsdoc/tag-lines": "off",
1328
1326
  "jsdoc/text-escaping": "off",
1329
1327
  "jsdoc/check-access": "warn",
@@ -1335,6 +1333,12 @@ const configJsdoc = (options = {}) => [{
1335
1333
  "jsdoc/require-returns-check": "warn",
1336
1334
  "jsdoc/require-returns-description": "warn",
1337
1335
  "jsdoc/require-yields-check": "warn",
1336
+ "jsdoc/require-next-description": "warn",
1337
+ "jsdoc/require-next-type": "warn",
1338
+ "jsdoc/require-throws-description": "warn",
1339
+ "jsdoc/require-throws-type": "warn",
1340
+ "jsdoc/require-yields-description": "warn",
1341
+ "jsdoc/require-yields-type": "warn",
1338
1342
  "jsdoc/check-alignment": "error",
1339
1343
  "jsdoc/check-line-alignment": "error",
1340
1344
  "jsdoc/check-param-names": "error",
@@ -1364,8 +1368,21 @@ const configJsdoc = (options = {}) => [{
1364
1368
  "jsdoc/no-blank-blocks": "error",
1365
1369
  "jsdoc/no-defaults": "error",
1366
1370
  "jsdoc/no-multi-asterisks": "error",
1371
+ "jsdoc/reject-any-type": "error",
1372
+ "jsdoc/reject-function-type": "error",
1367
1373
  "jsdoc/require-asterisk-prefix": "error",
1368
1374
  "jsdoc/require-hyphen-before-param-description": "error",
1375
+ "jsdoc/type-formatting": ["error", {
1376
+ arrayBrackets: "square",
1377
+ enableFixer: true,
1378
+ genericDot: false,
1379
+ objectFieldIndent: "",
1380
+ objectFieldQuote: null,
1381
+ objectFieldSeparator: "comma",
1382
+ stringQuotes: "single",
1383
+ typeBracketSpacing: "",
1384
+ unionSpacing: ""
1385
+ }],
1369
1386
  ...options.typescript ? typescriptRules : javscriptRules,
1370
1387
  ...options.overrides
1371
1388
  }
@@ -1529,25 +1546,31 @@ const configPinia = (options = {}) => {
1529
1546
  * @returns ESLint configs
1530
1547
  */
1531
1548
  const configDepend = (options = {}) => {
1532
- const { files = [GLOB_SRC], allowed = [], packageJson: enableCheckPackageJson = true } = options;
1549
+ const { files = [GLOB_SRC], allowed = [], modules = [], packageJson: enableCheckPackageJson = true, presets = [
1550
+ "native",
1551
+ "microutilities",
1552
+ "preferred"
1553
+ ] } = options;
1554
+ const rules = {
1555
+ "depend/ban-dependencies": ["error", {
1556
+ allowed,
1557
+ modules,
1558
+ presets
1559
+ }],
1560
+ ...options.overrides
1561
+ };
1533
1562
  const configs = [{
1534
1563
  name: "ntnyq/depend",
1535
1564
  files,
1536
1565
  plugins: { depend: pluginDepend },
1537
- rules: {
1538
- "depend/ban-dependencies": ["error", { allowed }],
1539
- ...options.overrides
1540
- }
1566
+ rules
1541
1567
  }];
1542
1568
  if (enableCheckPackageJson) configs.push({
1543
1569
  name: "ntnyq/depend/package-json",
1544
1570
  files: [GLOB_PACKAGE_JSON],
1545
1571
  plugins: { depend: pluginDepend },
1546
1572
  languageOptions: { parser: parserJsonc },
1547
- rules: {
1548
- "depend/ban-dependencies": ["error", { allowed }],
1549
- ...options.overrides
1550
- }
1573
+ rules
1551
1574
  });
1552
1575
  return configs;
1553
1576
  };
@@ -1885,7 +1908,6 @@ const configSvelte = async (options = {}) => {
1885
1908
  "svelte/no-dupe-else-if-blocks": "error",
1886
1909
  "svelte/no-dupe-style-properties": "error",
1887
1910
  "svelte/no-dupe-use-directives": "error",
1888
- "svelte/no-dynamic-slot-name": "error",
1889
1911
  "svelte/no-export-load-in-svelte-module-in-kit-pages": "error",
1890
1912
  "svelte/no-inner-declarations": "error",
1891
1913
  "svelte/no-not-function-handler": "error",
@@ -2046,15 +2068,14 @@ const configImportX = (options = {}) => {
2046
2068
 
2047
2069
  //#endregion
2048
2070
  //#region src/configs/unicorn.ts
2049
- const disabledRules = {
2050
- "unicorn/better-regex": "off",
2051
- "unicorn/explicit-length-check": "off",
2052
- "unicorn/no-array-callback-reference": "off",
2053
- "unicorn/no-array-reverse": "off",
2054
- "unicorn/prefer-global-this": "off",
2055
- "unicorn/prefer-top-level-await": "off",
2056
- "unicorn/require-module-specifiers": "off"
2057
- };
2071
+ /**
2072
+ * Built-in presets of `eslint-plugin-unicorn`
2073
+ */
2074
+ const PLUGIN_UNICORN_PRESET = [
2075
+ "all",
2076
+ "recommended",
2077
+ "unopinionated"
2078
+ ];
2058
2079
  /**
2059
2080
  * Config for powerful rules
2060
2081
  *
@@ -2063,82 +2084,102 @@ const disabledRules = {
2063
2084
  * @param options - {@link ConfigUnicornOptions}
2064
2085
  * @returns ESLint configs
2065
2086
  */
2066
- const configUnicorn = (options = {}) => [{
2067
- name: "ntnyq/unicorn",
2068
- plugins: { unicorn: pluginUnicorn },
2069
- rules: {
2070
- "unicorn/consistent-assert": "error",
2071
- "unicorn/consistent-existence-index-check": "error",
2072
- "unicorn/error-message": "error",
2073
- "unicorn/escape-case": "error",
2074
- "unicorn/new-for-builtins": "error",
2075
- "unicorn/no-accessor-recursion": "error",
2076
- "unicorn/no-console-spaces": "error",
2077
- "unicorn/no-for-loop": "error",
2078
- "unicorn/no-hex-escape": "error",
2079
- "unicorn/no-instanceof-builtins": "error",
2080
- "unicorn/no-lonely-if": "error",
2081
- "unicorn/no-new-buffer": "error",
2082
- "unicorn/no-static-only-class": "error",
2083
- "unicorn/no-typeof-undefined": "error",
2084
- "unicorn/no-unnecessary-await": "error",
2085
- "unicorn/prefer-class-fields": "error",
2086
- "unicorn/prefer-import-meta-properties": "error",
2087
- "unicorn/prefer-includes": "error",
2088
- "unicorn/prefer-keyboard-event-key": "error",
2089
- "unicorn/prefer-math-min-max": "error",
2090
- "unicorn/prefer-math-trunc": "error",
2091
- "unicorn/prefer-modern-math-apis": "error",
2092
- "unicorn/prefer-negative-index": "error",
2093
- "unicorn/prefer-node-protocol": "error",
2094
- "unicorn/prefer-optional-catch-binding": "error",
2095
- "unicorn/prefer-prototype-methods": "error",
2096
- "unicorn/prefer-reflect-apply": "error",
2097
- "unicorn/prefer-structured-clone": "error",
2098
- "unicorn/switch-case-braces": ["error", "avoid"],
2099
- "unicorn/catch-error-name": ["error", {
2100
- name: "err",
2101
- ignore: ["^_."]
2102
- }],
2103
- "unicorn/custom-error-definition": "error",
2104
- "unicorn/no-useless-error-capture-stack-trace": "error",
2105
- "unicorn/prefer-type-error": "error",
2106
- "unicorn/throw-new-error": "error",
2107
- "unicorn/no-zero-fractions": "error",
2108
- "unicorn/number-literal-case": "error",
2109
- "unicorn/prefer-number-properties": "error",
2110
- "unicorn/prefer-regexp-test": "error",
2111
- "unicorn/consistent-date-clone": "error",
2112
- "unicorn/prefer-date-now": "error",
2113
- "unicorn/prefer-code-point": "error",
2114
- "unicorn/prefer-string-slice": "error",
2115
- "unicorn/prefer-string-starts-ends-with": "error",
2116
- "unicorn/prefer-string-trim-start-end": "error",
2117
- "unicorn/no-invalid-remove-event-listener": "error",
2118
- "unicorn/prefer-add-event-listener": "error",
2119
- "unicorn/prefer-dom-node-append": "error",
2120
- "unicorn/prefer-dom-node-dataset": "error",
2121
- "unicorn/prefer-dom-node-remove": "error",
2122
- "unicorn/prefer-dom-node-text-content": "error",
2123
- "unicorn/prefer-modern-dom-apis": "error",
2124
- "unicorn/prefer-query-selector": "error",
2125
- "unicorn/no-array-method-this-argument": "error",
2126
- "unicorn/no-new-array": "error",
2127
- "unicorn/no-unnecessary-array-flat-depth": "error",
2128
- "unicorn/no-unnecessary-array-splice-count": "error",
2129
- "unicorn/no-unnecessary-slice-end": "error",
2130
- "unicorn/prefer-array-find": "error",
2131
- "unicorn/prefer-array-flat-map": "error",
2132
- "unicorn/prefer-array-index-of": "error",
2133
- "unicorn/prefer-array-some": "error",
2134
- "unicorn/prefer-single-call": "error",
2135
- "unicorn/require-array-join-separator": "error",
2136
- "unicorn/prefer-set-has": "error",
2137
- "unicorn/prefer-set-size": "error",
2138
- ...disabledRules,
2139
- ...options.overrides
2140
- }
2141
- }];
2087
+ const configUnicorn = (options = {}) => {
2088
+ if (options.preset && PLUGIN_UNICORN_PRESET.includes(options.preset)) return [{
2089
+ name: `ntnyq/unicorn/${options.preset}`,
2090
+ plugins: { unicorn: pluginUnicorn },
2091
+ rules: {
2092
+ ...pluginUnicorn.configs[options.preset].rules,
2093
+ ...options.overrides
2094
+ }
2095
+ }];
2096
+ return [{
2097
+ name: "ntnyq/unicorn",
2098
+ plugins: { unicorn: pluginUnicorn },
2099
+ rules: {
2100
+ "unicorn/explicit-length-check": "off",
2101
+ "unicorn/prefer-global-this": "off",
2102
+ "unicorn/prefer-top-level-await": "off",
2103
+ "unicorn/consistent-assert": "error",
2104
+ "unicorn/consistent-existence-index-check": "error",
2105
+ "unicorn/error-message": "error",
2106
+ "unicorn/escape-case": "error",
2107
+ "unicorn/new-for-builtins": "error",
2108
+ "unicorn/no-accessor-recursion": "error",
2109
+ "unicorn/no-console-spaces": "error",
2110
+ "unicorn/no-for-loop": "error",
2111
+ "unicorn/no-hex-escape": "error",
2112
+ "unicorn/no-instanceof-builtins": "error",
2113
+ "unicorn/no-lonely-if": "error",
2114
+ "unicorn/no-new-buffer": "error",
2115
+ "unicorn/no-static-only-class": "error",
2116
+ "unicorn/no-typeof-undefined": "error",
2117
+ "unicorn/no-unnecessary-await": "error",
2118
+ "unicorn/prefer-class-fields": "error",
2119
+ "unicorn/prefer-import-meta-properties": "error",
2120
+ "unicorn/prefer-includes": "error",
2121
+ "unicorn/prefer-keyboard-event-key": "error",
2122
+ "unicorn/prefer-math-min-max": "error",
2123
+ "unicorn/prefer-math-trunc": "error",
2124
+ "unicorn/prefer-modern-math-apis": "error",
2125
+ "unicorn/prefer-negative-index": "error",
2126
+ "unicorn/prefer-node-protocol": "error",
2127
+ "unicorn/prefer-optional-catch-binding": "error",
2128
+ "unicorn/prefer-prototype-methods": "error",
2129
+ "unicorn/prefer-reflect-apply": "error",
2130
+ "unicorn/prefer-structured-clone": "error",
2131
+ "unicorn/switch-case-braces": ["error", "avoid"],
2132
+ "unicorn/catch-error-name": ["error", {
2133
+ name: "err",
2134
+ ignore: ["^_."]
2135
+ }],
2136
+ "unicorn/custom-error-definition": "error",
2137
+ "unicorn/no-useless-error-capture-stack-trace": "error",
2138
+ "unicorn/prefer-type-error": "error",
2139
+ "unicorn/throw-new-error": "error",
2140
+ "unicorn/no-zero-fractions": "error",
2141
+ "unicorn/number-literal-case": "error",
2142
+ "unicorn/prefer-number-properties": "error",
2143
+ "unicorn/prefer-bigint-literals": "error",
2144
+ "unicorn/better-regex": "off",
2145
+ "unicorn/prefer-regexp-test": "error",
2146
+ "unicorn/consistent-date-clone": "error",
2147
+ "unicorn/prefer-date-now": "error",
2148
+ "unicorn/prefer-code-point": "error",
2149
+ "unicorn/prefer-string-slice": "error",
2150
+ "unicorn/prefer-string-starts-ends-with": "error",
2151
+ "unicorn/prefer-string-trim-start-end": "error",
2152
+ "unicorn/no-invalid-remove-event-listener": "error",
2153
+ "unicorn/prefer-add-event-listener": "error",
2154
+ "unicorn/prefer-classlist-toggle": "error",
2155
+ "unicorn/prefer-dom-node-append": "error",
2156
+ "unicorn/prefer-dom-node-dataset": "error",
2157
+ "unicorn/prefer-dom-node-remove": "error",
2158
+ "unicorn/prefer-dom-node-text-content": "error",
2159
+ "unicorn/prefer-modern-dom-apis": "error",
2160
+ "unicorn/prefer-query-selector": "error",
2161
+ "unicorn/no-array-callback-reference": "off",
2162
+ "unicorn/no-array-reverse": "off",
2163
+ "unicorn/no-array-sort": "off",
2164
+ "unicorn/no-array-method-this-argument": "error",
2165
+ "unicorn/no-new-array": "error",
2166
+ "unicorn/no-unnecessary-array-flat-depth": "error",
2167
+ "unicorn/no-unnecessary-array-splice-count": "error",
2168
+ "unicorn/no-unnecessary-slice-end": "error",
2169
+ "unicorn/prefer-array-find": "error",
2170
+ "unicorn/prefer-array-flat-map": "error",
2171
+ "unicorn/prefer-array-index-of": "error",
2172
+ "unicorn/prefer-array-some": "error",
2173
+ "unicorn/prefer-single-call": "error",
2174
+ "unicorn/require-array-join-separator": "error",
2175
+ "unicorn/prefer-set-has": "error",
2176
+ "unicorn/prefer-set-size": "error",
2177
+ "unicorn/require-module-specifiers": "off",
2178
+ "unicorn/require-module-attributes": "error",
2179
+ ...options.overrides
2180
+ }
2181
+ }];
2182
+ };
2142
2183
 
2143
2184
  //#endregion
2144
2185
  //#region src/configs/deMorgan.ts
@@ -2171,7 +2212,7 @@ const configDeMorgan = (options = {}) => [{
2171
2212
  */
2172
2213
  const configMarkdown = (options = {}) => {
2173
2214
  const { files = [GLOB_MARKDOWN_CODE], extraFileExtensions = [] } = options;
2174
- const configs = [
2215
+ return [
2175
2216
  ...pluginMarkdown.configs.processor.map((config) => ({
2176
2217
  ...config,
2177
2218
  name: `ntnyq/${config.name}`
@@ -2224,7 +2265,6 @@ const configMarkdown = (options = {}) => {
2224
2265
  }
2225
2266
  }
2226
2267
  ];
2227
- return configs;
2228
2268
  };
2229
2269
 
2230
2270
  //#endregion
@@ -2595,6 +2635,7 @@ const configJavaScript = (options = {}) => [{
2595
2635
  "prefer-rest-params": "error",
2596
2636
  "prefer-spread": "error",
2597
2637
  "prefer-template": "error",
2638
+ "preserve-caught-error": ["error", { requireCatchParameter: true }],
2598
2639
  "symbol-description": "error",
2599
2640
  "unicode-bom": ["error", "never"],
2600
2641
  "use-isnan": ["error", {
@@ -2691,7 +2732,7 @@ const configTypeScript = (options = {}) => {
2691
2732
  } : {},
2692
2733
  ...parserOptions
2693
2734
  };
2694
- const parserConfig = {
2735
+ return {
2695
2736
  name: `ntnyq/ts/${enableTypeAware ? "parser-type-aware" : "parser"}`,
2696
2737
  files: files$1,
2697
2738
  ignores: [...ignores],
@@ -2700,7 +2741,6 @@ const configTypeScript = (options = {}) => {
2700
2741
  parserOptions: typescriptParserOptions
2701
2742
  }
2702
2743
  };
2703
- return parserConfig;
2704
2744
  }
2705
2745
  return [
2706
2746
  {
@@ -3167,8 +3207,7 @@ function defineESLintConfig(options = {}, ...userConfigs) {
3167
3207
  ...resolveSubOptions(options, "prettier"),
3168
3208
  overrides: getOverrides(options, "prettier")
3169
3209
  }) : [];
3170
- const composer = new FlatConfigComposer(...configs, ...userConfigs, ...prettierConfigs);
3171
- return composer;
3210
+ return new FlatConfigComposer(...configs, ...userConfigs, ...prettierConfigs);
3172
3211
  }
3173
3212
 
3174
3213
  //#endregion
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ntnyq/eslint-config",
3
3
  "type": "module",
4
- "version": "5.4.2",
4
+ "version": "5.6.0",
5
5
  "description": "An opinionated ESLint config preset of ntnyq",
6
6
  "keywords": [
7
7
  "eslint",
@@ -36,18 +36,18 @@
36
36
  "tag": "latest"
37
37
  },
38
38
  "peerDependencies": {
39
- "@html-eslint/eslint-plugin": "^0.46.0",
40
- "@html-eslint/parser": "^0.46.0",
39
+ "@html-eslint/eslint-plugin": "^0.46.2",
40
+ "@html-eslint/parser": "^0.46.2",
41
41
  "astro-eslint-parser": "^1.2.2",
42
42
  "eslint": "^9.20.0",
43
43
  "eslint-plugin-astro": "^1.3.1",
44
44
  "eslint-plugin-eslint-plugin": "^7.0.0",
45
- "eslint-plugin-format": "^1.0.1",
45
+ "eslint-plugin-format": "^1.0.2",
46
46
  "eslint-plugin-pnpm": "^1.1.1",
47
- "eslint-plugin-svelte": "^3.11.0",
47
+ "eslint-plugin-svelte": "^3.12.4",
48
48
  "eslint-plugin-unused-imports": "^4.2.0",
49
- "svelte": "^5.38.2",
50
- "svelte-eslint-parser": "^1.3.1"
49
+ "svelte": "^5.39.3",
50
+ "svelte-eslint-parser": "^1.3.3"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "@html-eslint/eslint-plugin": {
@@ -88,59 +88,60 @@
88
88
  "@antfu/install-pkg": "^1.1.0",
89
89
  "@clack/prompts": "^0.11.0",
90
90
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
91
- "@eslint/js": "^9.34.0",
92
- "@eslint/markdown": "^7.2.0",
93
- "@unocss/eslint-plugin": "^66.5.0",
94
- "@vitest/eslint-plugin": "^1.3.7",
91
+ "@eslint/js": "^9.36.0",
92
+ "@eslint/markdown": "^7.3.0",
93
+ "@unocss/eslint-plugin": "^66.5.2",
94
+ "@vitest/eslint-plugin": "^1.3.12",
95
95
  "eslint-config-flat-gitignore": "^2.1.0",
96
- "eslint-flat-config-utils": "^2.1.1",
96
+ "eslint-flat-config-utils": "^2.1.4",
97
97
  "eslint-import-resolver-typescript": "^4.4.4",
98
98
  "eslint-merge-processors": "^2.0.0",
99
99
  "eslint-parser-plain": "^0.1.1",
100
100
  "eslint-plugin-antfu": "^3.1.1",
101
101
  "eslint-plugin-command": "^3.3.1",
102
102
  "eslint-plugin-de-morgan": "^1.3.1",
103
- "eslint-plugin-depend": "^1.2.0",
103
+ "eslint-plugin-depend": "^1.3.1",
104
104
  "eslint-plugin-github-action": "^0.0.16",
105
105
  "eslint-plugin-import-x": "^4.16.1",
106
- "eslint-plugin-jsdoc": "^54.3.0",
106
+ "eslint-plugin-jsdoc": "^60.1.1",
107
107
  "eslint-plugin-jsonc": "^2.20.1",
108
- "eslint-plugin-n": "^17.21.3",
108
+ "eslint-plugin-n": "^17.23.1",
109
109
  "eslint-plugin-no-only-tests": "^3.3.0",
110
110
  "eslint-plugin-ntnyq": "^0.12.0",
111
111
  "eslint-plugin-perfectionist": "^4.15.0",
112
112
  "eslint-plugin-pinia": "^0.4.1",
113
113
  "eslint-plugin-prettier": "^5.5.4",
114
114
  "eslint-plugin-regexp": "^2.10.0",
115
- "eslint-plugin-svgo": "^0.11.1",
115
+ "eslint-plugin-svgo": "^0.11.3",
116
116
  "eslint-plugin-toml": "^0.12.0",
117
- "eslint-plugin-unicorn": "^60.0.0",
118
- "eslint-plugin-vue": "^10.4.0",
117
+ "eslint-plugin-unicorn": "^61.0.2",
118
+ "eslint-plugin-vue": "^10.5.0",
119
119
  "eslint-plugin-yml": "^1.18.0",
120
120
  "eslint-processor-vue-blocks": "^2.0.0",
121
- "globals": "^16.3.0",
122
- "jsonc-eslint-parser": "^2.4.0",
121
+ "globals": "^16.4.0",
122
+ "jsonc-eslint-parser": "^2.4.1",
123
123
  "local-pkg": "^1.1.2",
124
124
  "toml-eslint-parser": "^0.10.0",
125
- "typescript-eslint": "^8.42.0",
125
+ "typescript-eslint": "^8.44.1",
126
126
  "vue-eslint-parser": "^10.2.0",
127
127
  "yaml-eslint-parser": "^1.3.0"
128
128
  },
129
129
  "devDependencies": {
130
130
  "@ntnyq/prettier-config": "^3.0.1",
131
- "@types/node": "^24.3.0",
132
- "@typescript-eslint/utils": "^8.42.0",
131
+ "@types/node": "^24.5.2",
132
+ "@typescript-eslint/types": "^8.44.1",
133
+ "@typescript-eslint/utils": "^8.44.1",
133
134
  "bumpp": "^10.2.3",
134
135
  "consola": "^3.4.2",
135
- "eslint": "^9.34.0",
136
+ "eslint": "^9.36.0",
136
137
  "eslint-typegen": "^2.3.0",
137
138
  "husky": "^9.1.7",
138
- "jiti": "^2.5.1",
139
+ "jiti": "^2.6.0",
139
140
  "nano-staged": "^0.8.0",
140
141
  "npm-run-all2": "^8.0.4",
141
142
  "prettier": "^3.6.2",
142
- "tinyglobby": "^0.2.14",
143
- "tsdown": "^0.14.2",
143
+ "tinyglobby": "^0.2.15",
144
+ "tsdown": "^0.15.4",
144
145
  "tsx": "^4.20.5",
145
146
  "typescript": "^5.9.2",
146
147
  "uncase": "^0.2.0",