@luxass/eslint-config 4.10.2 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -268,8 +268,8 @@ Since flat config requires us to explicitly provide the plugin names (instead of
268
268
  | `yaml/*` | `yml/*` | [eslint-plugin-yml](https://github.com/ota-meshi/eslint-plugin-yml) |
269
269
  | `ts/*` | `@typescript-eslint/*` | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) |
270
270
  | `style/*` | `@stylistic/*` | [@stylistic/eslint-plugin](https://github.com/eslint-stylistic/eslint-stylistic) |
271
- | `test/*` | `vitest/*` | [eslint-plugin-vitest](https://github.com/veritem/eslint-plugin-vitest) |
272
- | `react/*` | `@eslint-react/*` | [eslint-plugin-vitest](https://github.com/veritem/eslint-plugin-vitest) |
271
+ | `test/*` | `vitest/*` | [@vitest/eslint-plugin](https://github.com/vitest-dev/eslint-plugin-vitest) |
272
+ | `react/*` | `@eslint-react/*` | [@eslint-react/eslint-plugin ](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin) |
273
273
  | `react-dom/*` | `@eslint-react/dom/*` | [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) |
274
274
  | `react-hooks-extra/*` | `@eslint-react/hooks-extra/*` | [eslint-plugin-react-hooks-extra](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) |
275
275
  | `react-naming-convention/*` | `@eslint-react/naming-convention/*` | [eslint-plugin-react-naming-convention](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) |
@@ -513,7 +513,7 @@ export default luxass({
513
513
 
514
514
  ### Editor Specific Disables
515
515
 
516
- Some rules are disabled when inside ESLint IDE integrations, namely [`unused-imports/no-unused-imports`](https://www.npmjs.com/package/eslint-plugin-unused-imports) [`test/no-focused-tests`](https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md)
516
+ Some rules are disabled when inside ESLint IDE integrations, namely [`unused-imports/no-unused-imports`](https://www.npmjs.com/package/eslint-plugin-unused-imports) [`test/no-focused-tests`](https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md)
517
517
 
518
518
  This is to prevent unused imports from getting removed by the IDE during refactoring to get a better developer experience. Those rules will be applied when you run ESLint in the terminal or [Lint Staged](#lint-staged). If you don't want this behavior, you can disable them:
519
519
 
package/dist/index.cjs CHANGED
@@ -1629,7 +1629,7 @@ async function test(options = {}) {
1629
1629
  const [
1630
1630
  pluginVitest
1631
1631
  ] = await Promise.all([
1632
- interop(import("eslint-plugin-vitest"))
1632
+ interop(import("@vitest/eslint-plugin"))
1633
1633
  ]);
1634
1634
  _pluginTest = _pluginTest || pluginVitest;
1635
1635
  return [
@@ -1650,7 +1650,7 @@ async function test(options = {}) {
1650
1650
  ],
1651
1651
  "test/no-identical-title": "error",
1652
1652
  "test/no-import-node-test": "error",
1653
- "test/no-focused-tests": editor ? "off" : "error",
1653
+ "test/no-focused-tests": editor ? "off" : ["error", { fixable: true }],
1654
1654
  "test/prefer-hooks-in-order": "error",
1655
1655
  "test/prefer-lowercase-title": "error",
1656
1656
  "ts/explicit-function-return-type": "off",
@@ -2006,7 +2006,8 @@ async function formatters(options = {}, stylistic2 = {}) {
2006
2006
  singleQuote: quotes === "single",
2007
2007
  tabWidth: typeof indent === "number" ? indent : 2,
2008
2008
  trailingComma: "all",
2009
- useTabs: indent === "tab"
2009
+ useTabs: indent === "tab",
2010
+ printWidth: 120
2010
2011
  },
2011
2012
  options.prettierOptions || {}
2012
2013
  );
@@ -2109,7 +2110,6 @@ async function formatters(options = {}, stylistic2 = {}) {
2109
2110
  [`format/${formater}`]: [
2110
2111
  "error",
2111
2112
  formater === "prettier" ? {
2112
- printWidth: 120,
2113
2113
  ...prettierOptions,
2114
2114
  embeddedLanguageFormatting: "off",
2115
2115
  parser: "markdown"
package/dist/index.d.cts CHANGED
@@ -925,7 +925,7 @@ interface RuleOptions {
925
925
  'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>
926
926
  /**
927
927
  * Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
928
- * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
928
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
929
929
  */
930
930
  'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
931
931
  /**
@@ -963,6 +963,11 @@ interface RuleOptions {
963
963
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
964
964
  */
965
965
  'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>
966
+ /**
967
+ * Enforces minimum number of newlines before JSDoc comment blocks
968
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
969
+ */
970
+ 'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>
966
971
  /**
967
972
  * Enforces a regular expression pattern on descriptions.
968
973
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
@@ -2860,13 +2865,11 @@ interface RuleOptions {
2860
2865
  /**
2861
2866
  * disallow complex conditional rendering
2862
2867
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2863
- * @deprecated
2864
2868
  */
2865
2869
  'react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
2866
2870
  /**
2867
2871
  * disallow complex conditional rendering
2868
2872
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2869
- * @deprecated
2870
2873
  */
2871
2874
  'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2872
2875
  /**
@@ -2900,7 +2903,7 @@ interface RuleOptions {
2900
2903
  */
2901
2904
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2902
2905
  /**
2903
- * disallow duplicate keys in 'key' prop when rendering list
2906
+ * disallow duplicate keys when rendering list
2904
2907
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
2905
2908
  */
2906
2909
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>
@@ -2920,7 +2923,7 @@ interface RuleOptions {
2920
2923
  */
2921
2924
  'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
2922
2925
  /**
2923
- * require 'key' prop when rendering list
2926
+ * require 'key' when rendering list
2924
2927
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
2925
2928
  */
2926
2929
  'react/no-missing-key'?: Linter.RuleEntry<[]>
@@ -3673,6 +3676,11 @@ interface RuleOptions {
3673
3676
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
3674
3677
  */
3675
3678
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
3679
+ /**
3680
+ * Enforce padding around afterAll blocks
3681
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/index.md
3682
+ */
3683
+ 'test/index'?: Linter.RuleEntry<[]>
3676
3684
  /**
3677
3685
  * enforce a maximum number of expect per test
3678
3686
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -4455,7 +4463,7 @@ interface RuleOptions {
4455
4463
  'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>
4456
4464
  /**
4457
4465
  * Disallow unused variables
4458
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
4466
+ * @see https://typescript-eslint.io/rules/no-unused-vars
4459
4467
  */
4460
4468
  'ts/no-unused-vars'?: Linter.RuleEntry<TsNoUnusedVars>
4461
4469
  /**
@@ -5383,7 +5391,7 @@ interface RuleOptions {
5383
5391
  'unused-imports/no-unused-imports'?: Linter.RuleEntry<UnusedImportsNoUnusedImports>
5384
5392
  /**
5385
5393
  * Disallow unused variables
5386
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
5394
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-vars.md
5387
5395
  */
5388
5396
  'unused-imports/no-unused-vars'?: Linter.RuleEntry<UnusedImportsNoUnusedVars>
5389
5397
  /**
@@ -7462,6 +7470,12 @@ type JsdocInformativeDocs = []|[{
7462
7470
  excludedTags?: string[]
7463
7471
  uselessWords?: string[]
7464
7472
  }]
7473
+ // ----- jsdoc/lines-before-block -----
7474
+ type JsdocLinesBeforeBlock = []|[{
7475
+ excludedTags?: string[]
7476
+ ignoreSameLine?: boolean
7477
+ lines?: number
7478
+ }]
7465
7479
  // ----- jsdoc/match-description -----
7466
7480
  type JsdocMatchDescription = []|[{
7467
7481
  contexts?: (string | {
@@ -10611,7 +10625,8 @@ type TestNoRestrictedViMethods = []|[{
10611
10625
  }]
10612
10626
  // ----- test/no-standalone-expect -----
10613
10627
  type TestNoStandaloneExpect = []|[{
10614
- additionalTestBlockFunctions?: string[]
10628
+ additionaltestblockfunctions?: string[]
10629
+ [k: string]: unknown | undefined
10615
10630
  }]
10616
10631
  // ----- test/prefer-expect-assertions -----
10617
10632
  type TestPreferExpectAssertions = []|[{
package/dist/index.d.ts CHANGED
@@ -925,7 +925,7 @@ interface RuleOptions {
925
925
  'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>
926
926
  /**
927
927
  * Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
928
- * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
928
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
929
929
  */
930
930
  'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
931
931
  /**
@@ -963,6 +963,11 @@ interface RuleOptions {
963
963
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
964
964
  */
965
965
  'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>
966
+ /**
967
+ * Enforces minimum number of newlines before JSDoc comment blocks
968
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
969
+ */
970
+ 'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>
966
971
  /**
967
972
  * Enforces a regular expression pattern on descriptions.
968
973
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
@@ -2860,13 +2865,11 @@ interface RuleOptions {
2860
2865
  /**
2861
2866
  * disallow complex conditional rendering
2862
2867
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2863
- * @deprecated
2864
2868
  */
2865
2869
  'react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
2866
2870
  /**
2867
2871
  * disallow complex conditional rendering
2868
2872
  * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
2869
- * @deprecated
2870
2873
  */
2871
2874
  'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2872
2875
  /**
@@ -2900,7 +2903,7 @@ interface RuleOptions {
2900
2903
  */
2901
2904
  'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2902
2905
  /**
2903
- * disallow duplicate keys in 'key' prop when rendering list
2906
+ * disallow duplicate keys when rendering list
2904
2907
  * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
2905
2908
  */
2906
2909
  'react/no-duplicate-key'?: Linter.RuleEntry<[]>
@@ -2920,7 +2923,7 @@ interface RuleOptions {
2920
2923
  */
2921
2924
  'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
2922
2925
  /**
2923
- * require 'key' prop when rendering list
2926
+ * require 'key' when rendering list
2924
2927
  * @see https://eslint-react.xyz/docs/rules/no-missing-key
2925
2928
  */
2926
2929
  'react/no-missing-key'?: Linter.RuleEntry<[]>
@@ -3673,6 +3676,11 @@ interface RuleOptions {
3673
3676
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
3674
3677
  */
3675
3678
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
3679
+ /**
3680
+ * Enforce padding around afterAll blocks
3681
+ * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/index.md
3682
+ */
3683
+ 'test/index'?: Linter.RuleEntry<[]>
3676
3684
  /**
3677
3685
  * enforce a maximum number of expect per test
3678
3686
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
@@ -4455,7 +4463,7 @@ interface RuleOptions {
4455
4463
  'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>
4456
4464
  /**
4457
4465
  * Disallow unused variables
4458
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
4466
+ * @see https://typescript-eslint.io/rules/no-unused-vars
4459
4467
  */
4460
4468
  'ts/no-unused-vars'?: Linter.RuleEntry<TsNoUnusedVars>
4461
4469
  /**
@@ -5383,7 +5391,7 @@ interface RuleOptions {
5383
5391
  'unused-imports/no-unused-imports'?: Linter.RuleEntry<UnusedImportsNoUnusedImports>
5384
5392
  /**
5385
5393
  * Disallow unused variables
5386
- * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
5394
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-vars.md
5387
5395
  */
5388
5396
  'unused-imports/no-unused-vars'?: Linter.RuleEntry<UnusedImportsNoUnusedVars>
5389
5397
  /**
@@ -7462,6 +7470,12 @@ type JsdocInformativeDocs = []|[{
7462
7470
  excludedTags?: string[]
7463
7471
  uselessWords?: string[]
7464
7472
  }]
7473
+ // ----- jsdoc/lines-before-block -----
7474
+ type JsdocLinesBeforeBlock = []|[{
7475
+ excludedTags?: string[]
7476
+ ignoreSameLine?: boolean
7477
+ lines?: number
7478
+ }]
7465
7479
  // ----- jsdoc/match-description -----
7466
7480
  type JsdocMatchDescription = []|[{
7467
7481
  contexts?: (string | {
@@ -10611,7 +10625,8 @@ type TestNoRestrictedViMethods = []|[{
10611
10625
  }]
10612
10626
  // ----- test/no-standalone-expect -----
10613
10627
  type TestNoStandaloneExpect = []|[{
10614
- additionalTestBlockFunctions?: string[]
10628
+ additionaltestblockfunctions?: string[]
10629
+ [k: string]: unknown | undefined
10615
10630
  }]
10616
10631
  // ----- test/prefer-expect-assertions -----
10617
10632
  type TestPreferExpectAssertions = []|[{
package/dist/index.js CHANGED
@@ -1530,7 +1530,7 @@ async function test(options = {}) {
1530
1530
  const [
1531
1531
  pluginVitest
1532
1532
  ] = await Promise.all([
1533
- interop(import("eslint-plugin-vitest"))
1533
+ interop(import("@vitest/eslint-plugin"))
1534
1534
  ]);
1535
1535
  _pluginTest = _pluginTest || pluginVitest;
1536
1536
  return [
@@ -1551,7 +1551,7 @@ async function test(options = {}) {
1551
1551
  ],
1552
1552
  "test/no-identical-title": "error",
1553
1553
  "test/no-import-node-test": "error",
1554
- "test/no-focused-tests": editor ? "off" : "error",
1554
+ "test/no-focused-tests": editor ? "off" : ["error", { fixable: true }],
1555
1555
  "test/prefer-hooks-in-order": "error",
1556
1556
  "test/prefer-lowercase-title": "error",
1557
1557
  "ts/explicit-function-return-type": "off",
@@ -1907,7 +1907,8 @@ async function formatters(options = {}, stylistic2 = {}) {
1907
1907
  singleQuote: quotes === "single",
1908
1908
  tabWidth: typeof indent === "number" ? indent : 2,
1909
1909
  trailingComma: "all",
1910
- useTabs: indent === "tab"
1910
+ useTabs: indent === "tab",
1911
+ printWidth: 120
1911
1912
  },
1912
1913
  options.prettierOptions || {}
1913
1914
  );
@@ -2010,7 +2011,6 @@ async function formatters(options = {}, stylistic2 = {}) {
2010
2011
  [`format/${formater}`]: [
2011
2012
  "error",
2012
2013
  formater === "prettier" ? {
2013
- printWidth: 120,
2014
2014
  ...prettierOptions,
2015
2015
  embeddedLanguageFormatting: "off",
2016
2016
  parser: "markdown"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxass/eslint-config",
3
- "version": "4.10.2",
3
+ "version": "4.11.0",
4
4
  "description": "ESLint config for @luxass",
5
5
  "type": "module",
6
6
  "author": {
@@ -8,7 +8,7 @@
8
8
  "email": "lucasnrgaard@gmail.com",
9
9
  "url": "https://luxass.dev"
10
10
  },
11
- "packageManager": "pnpm@9.6.0",
11
+ "packageManager": "pnpm@9.7.0",
12
12
  "license": "MIT",
13
13
  "repository": {
14
14
  "type": "git",
@@ -92,27 +92,27 @@
92
92
  "@antfu/install-pkg": "^0.3.3",
93
93
  "@clack/prompts": "^0.7.0",
94
94
  "@eslint-community/eslint-plugin-eslint-comments": "^4.3.0",
95
- "@stylistic/eslint-plugin": "^2.6.0-beta.1",
96
- "@typescript-eslint/eslint-plugin": "8.0.0-alpha.54",
97
- "@typescript-eslint/parser": "8.0.0-alpha.54",
95
+ "@stylistic/eslint-plugin": "^2.6.2",
96
+ "@typescript-eslint/eslint-plugin": "^8.0.1",
97
+ "@typescript-eslint/parser": "^8.0.1",
98
+ "@vitest/eslint-plugin": "^1.0.1",
98
99
  "eslint-config-flat-gitignore": "^0.1.8",
99
100
  "eslint-flat-config-utils": "^0.3.0",
100
101
  "eslint-merge-processors": "^0.1.0",
101
102
  "eslint-plugin-antfu": "^2.3.4",
102
103
  "eslint-plugin-import-x": "^3.1.0",
103
- "eslint-plugin-jsdoc": "^48.8.3",
104
+ "eslint-plugin-jsdoc": "^50.0.1",
104
105
  "eslint-plugin-jsonc": "^2.16.0",
105
106
  "eslint-plugin-markdown": "^5.1.0",
106
- "eslint-plugin-n": "^17.10.1",
107
+ "eslint-plugin-n": "^17.10.2",
107
108
  "eslint-plugin-regexp": "^2.6.0",
108
109
  "eslint-plugin-toml": "^0.11.1",
109
110
  "eslint-plugin-unicorn": "^55.0.0",
110
- "eslint-plugin-unused-imports": "^4.0.1",
111
- "eslint-plugin-vitest": "^0.5.4",
111
+ "eslint-plugin-unused-imports": "^4.1.3",
112
112
  "eslint-plugin-vue": "^9.27.0",
113
113
  "eslint-plugin-yml": "^1.14.0",
114
114
  "eslint-processor-vue-blocks": "^0.1.2",
115
- "globals": "^15.8.0",
115
+ "globals": "^15.9.0",
116
116
  "jsonc-eslint-parser": "^2.4.0",
117
117
  "local-pkg": "^0.5.0",
118
118
  "parse-gitignore": "^2.0.0",
@@ -121,16 +121,16 @@
121
121
  "yaml-eslint-parser": "^1.2.3"
122
122
  },
123
123
  "devDependencies": {
124
- "@eslint-react/eslint-plugin": "^1.6.0",
124
+ "@eslint-react/eslint-plugin": "^1.10.0",
125
125
  "@eslint/config-inspector": "^0.5.2",
126
- "@stylistic/eslint-plugin-migrate": "^2.4.0",
126
+ "@stylistic/eslint-plugin-migrate": "^2.6.2",
127
127
  "@types/eslint": "^9.6.0",
128
128
  "@types/estree": "^1.0.5",
129
129
  "@types/node": "^20.14.12",
130
- "@typescript-eslint/rule-tester": "^7.17.0",
131
- "@unocss/eslint-plugin": "^0.61.6",
130
+ "@typescript-eslint/rule-tester": "^8.0.1",
131
+ "@unocss/eslint-plugin": "^0.61.9",
132
132
  "astro-eslint-parser": "^1.0.2",
133
- "eslint": "^9.8.0",
133
+ "eslint": "^9.9.0",
134
134
  "eslint-plugin-astro": "^1.2.3",
135
135
  "eslint-plugin-format": "^0.1.2",
136
136
  "eslint-plugin-react-hooks": "^4.6.2",
@@ -139,11 +139,11 @@
139
139
  "eslint-typegen": "^0.3.0",
140
140
  "jiti": "^1.21.6",
141
141
  "prettier-plugin-astro": "^0.14.1",
142
- "tailwindcss": "^3.4.7",
143
- "tsup": "^8.2.3",
142
+ "tailwindcss": "^3.4.9",
143
+ "tsup": "^8.2.4",
144
144
  "typescript": "^5.5.4",
145
- "unocss": "^0.61.6",
146
- "vitest": "^2.0.4",
147
- "vue": "^3.4.34"
145
+ "unocss": "^0.61.9",
146
+ "vitest": "^2.0.5",
147
+ "vue": "^3.4.37"
148
148
  }
149
149
  }