create-vue 3.20.0 → 3.21.1

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
@@ -1,4 +1,4 @@
1
- # create-vue <a href="https://npmjs.com/package/create-vue"><img src="https://img.shields.io/npm/dw/create-vue" alt="npm package"></a> <a href="https://nodejs.org/en/about/previous-releases"><img src="https://img.shields.io/node/v/create-vue" alt="node compatibility"></a>
1
+ # create-vue <a href="https://npmx.dev/package/create-vue"><img src="https://npmx.dev/api/registry/badge/version/create-vue" alt="npm package"></a><a href="https://npmx.dev/package/create-vue"><img src="https://npmx.dev/api/registry/badge/downloads-week/create-vue" alt="npm package"></a> <a href="https://nodejs.org/en/about/previous-releases"><img src="https://npmx.dev/api/registry/badge/engines/create-vue" alt="node compatibility"></a>
2
2
 
3
3
  The recommended way to start a Vite-powered Vue project
4
4
 
package/bundle.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /*! create-vue v3.20.0 | MIT */
2
+ /*! create-vue v3.21.1 | MIT */
3
3
  import { createRequire } from "node:module";
4
4
  import * as fs from "node:fs";
5
5
  import * as path$1 from "node:path";
@@ -2134,7 +2134,6 @@ function deepMerge(target, obj) {
2134
2134
  }
2135
2135
  return target;
2136
2136
  }
2137
- var deepMerge_default = deepMerge;
2138
2137
 
2139
2138
  //#endregion
2140
2139
  //#region utils/sortDependencies.ts
@@ -2177,17 +2176,17 @@ function renderTemplate(src, dest, callbacks) {
2177
2176
  }
2178
2177
  const filename = path$1.basename(src);
2179
2178
  if (filename === "package.json" && fs.existsSync(dest)) {
2180
- const pkg = sortDependencies(deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8"))));
2179
+ const pkg = sortDependencies(deepMerge(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8"))));
2181
2180
  fs.writeFileSync(dest, JSON.stringify(pkg, null, 2) + "\n");
2182
2181
  return;
2183
2182
  }
2184
2183
  if (filename === "extensions.json" && fs.existsSync(dest)) {
2185
- const extensions = deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
2184
+ const extensions = deepMerge(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
2186
2185
  fs.writeFileSync(dest, JSON.stringify(extensions, null, 2) + "\n");
2187
2186
  return;
2188
2187
  }
2189
2188
  if (filename === "settings.json" && fs.existsSync(dest)) {
2190
- const settings = deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
2189
+ const settings = deepMerge(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
2191
2190
  fs.writeFileSync(dest, JSON.stringify(settings, null, 2) + "\n");
2192
2191
  return;
2193
2192
  }
@@ -2208,7 +2207,6 @@ function renderTemplate(src, dest, callbacks) {
2208
2207
  }
2209
2208
  fs.copyFileSync(src, dest);
2210
2209
  }
2211
- var renderTemplate_default = renderTemplate;
2212
2210
 
2213
2211
  //#endregion
2214
2212
  //#region utils/directoryTraverse.ts
@@ -2465,10 +2463,90 @@ function emptyRouterConfig(rootDir, needsTypeScript) {
2465
2463
  replaceContent(path.resolve(srcDir, needsTypeScript ? "router/index.ts" : "router/index.js"), (content) => content.replace(`import HomeView from '../views/HomeView.vue'\n`, "").replace(/routes:\s*\[[\s\S]*?\],/, "routes: [],"));
2466
2464
  }
2467
2465
 
2466
+ //#endregion
2467
+ //#region utils/applyVueBeta.ts
2468
+ const CORE_VUE_PACKAGES = [
2469
+ "vue",
2470
+ "@vue/compiler-core",
2471
+ "@vue/compiler-dom",
2472
+ "@vue/compiler-sfc",
2473
+ "@vue/compiler-ssr",
2474
+ "@vue/compiler-vapor",
2475
+ "@vue/reactivity",
2476
+ "@vue/runtime-core",
2477
+ "@vue/runtime-dom",
2478
+ "@vue/runtime-vapor",
2479
+ "@vue/server-renderer",
2480
+ "@vue/shared",
2481
+ "@vue/compat"
2482
+ ];
2483
+ function generateOverridesMap() {
2484
+ return Object.fromEntries(CORE_VUE_PACKAGES.map((name) => [name, "beta"]));
2485
+ }
2486
+ /**
2487
+ * Apply Vue 3.6 beta overrides to the project based on the package manager.
2488
+ * Different package managers have different mechanisms for version overrides:
2489
+ * - npm/bun: uses `overrides` field in package.json
2490
+ * - yarn: uses `resolutions` field in package.json
2491
+ * - pnpm: uses `overrides` and `peerDependencyRules` in pnpm-workspace.yaml
2492
+ */
2493
+ function applyVueBeta(root, packageManager, pkg) {
2494
+ const overrides = generateOverridesMap();
2495
+ if (packageManager === "npm" || packageManager === "bun") {
2496
+ pkg.overrides = {
2497
+ ...pkg.overrides,
2498
+ ...overrides
2499
+ };
2500
+ for (const dependencyName of CORE_VUE_PACKAGES) for (const dependencyType of [
2501
+ "dependencies",
2502
+ "devDependencies",
2503
+ "optionalDependencies"
2504
+ ]) if (pkg[dependencyType]?.[dependencyName]) pkg[dependencyType][dependencyName] = overrides[dependencyName];
2505
+ } else if (packageManager === "yarn") pkg.resolutions = {
2506
+ ...pkg.resolutions,
2507
+ ...overrides
2508
+ };
2509
+ else if (packageManager === "pnpm") {
2510
+ const yamlContent = `overrides:
2511
+ ${Object.entries(overrides).map(([key, value]) => ` '${key}': '${value}'`).join("\n")}
2512
+
2513
+ peerDependencyRules:
2514
+ allowAny:
2515
+ - 'vue'
2516
+ `;
2517
+ fs.writeFileSync(path$1.resolve(root, "pnpm-workspace.yaml"), yamlContent, "utf-8");
2518
+ }
2519
+ }
2520
+
2521
+ //#endregion
2522
+ //#region utils/packageManager.ts
2523
+ /**
2524
+ * Infers the package manager from the user agent string.
2525
+ * Falls back to npm if unable to detect.
2526
+ */
2527
+ function inferPackageManager() {
2528
+ const userAgent = process.env.npm_config_user_agent ?? "";
2529
+ if (/pnpm/.test(userAgent)) return "pnpm";
2530
+ if (/yarn/.test(userAgent)) return "yarn";
2531
+ if (/bun/.test(userAgent)) return "bun";
2532
+ return "npm";
2533
+ }
2534
+ /**
2535
+ * Creates an ordered list of package managers with the preferred one first.
2536
+ */
2537
+ function getPackageManagerOptions(preferred) {
2538
+ return [preferred, ...[
2539
+ "npm",
2540
+ "pnpm",
2541
+ "yarn",
2542
+ "bun"
2543
+ ].filter((pm) => pm !== preferred)];
2544
+ }
2545
+
2468
2546
  //#endregion
2469
2547
  //#region package.json
2470
2548
  var name = "create-vue";
2471
- var version = "3.20.0";
2549
+ var version = "3.21.1";
2472
2550
 
2473
2551
  //#endregion
2474
2552
  //#region index.ts
@@ -2491,7 +2569,9 @@ const FEATURE_FLAGS = [
2491
2569
  "prettier",
2492
2570
  "eslint-with-prettier",
2493
2571
  "oxlint",
2494
- "vite-beta"
2572
+ "oxfmt",
2573
+ "vite-beta",
2574
+ "vue-beta"
2495
2575
  ];
2496
2576
  const FEATURE_OPTIONS = [
2497
2577
  {
@@ -2527,13 +2607,20 @@ const FEATURE_OPTIONS = [
2527
2607
  label: language.needsPrettier.message
2528
2608
  }
2529
2609
  ];
2530
- const EXPERIMENTAL_FEATURE_OPTIONS = [{
2531
- value: "oxfmt",
2532
- label: language.needsOxfmt.message
2533
- }, {
2534
- value: "vite-beta",
2535
- label: language.needsViteBeta.message
2536
- }];
2610
+ const EXPERIMENTAL_FEATURE_OPTIONS = [
2611
+ {
2612
+ value: "oxfmt",
2613
+ label: language.needsOxfmt.message
2614
+ },
2615
+ {
2616
+ value: "vite-beta",
2617
+ label: language.needsViteBeta.message
2618
+ },
2619
+ {
2620
+ value: "vue-beta",
2621
+ label: language.needsVueBeta.message
2622
+ }
2623
+ ];
2537
2624
  function isValidPackageName(projectName) {
2538
2625
  return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName);
2539
2626
  }
@@ -2607,6 +2694,8 @@ Available feature flags:
2607
2694
  Add Oxfmt for code formatting.
2608
2695
  --vite-beta
2609
2696
  Use Vite 8 Beta instead of Vite for building the project.
2697
+ --vue-beta
2698
+ Use Vue 3.6 Beta. Requires specifying a package manager in interactive mode.
2610
2699
 
2611
2700
  Unstable feature flags:
2612
2701
  --tests, --with-tests
@@ -2649,6 +2738,7 @@ async function init() {
2649
2738
  let targetDir = positionals[0];
2650
2739
  const defaultProjectName = targetDir || "vue-project";
2651
2740
  const forceOverwrite = argv.force;
2741
+ const inferredPackageManager = inferPackageManager();
2652
2742
  const result = {
2653
2743
  projectName: defaultProjectName,
2654
2744
  shouldOverwrite: forceOverwrite,
@@ -2714,6 +2804,16 @@ async function init() {
2714
2804
  options: EXPERIMENTAL_FEATURE_OPTIONS,
2715
2805
  required: false
2716
2806
  }));
2807
+ if (result.experimentFeatures.includes("vue-beta")) {
2808
+ const packageManagerOptions = getPackageManagerOptions(inferredPackageManager).map((pm) => ({
2809
+ value: pm,
2810
+ label: pm
2811
+ }));
2812
+ result.packageManager = await unwrapPrompt(ve({
2813
+ message: `${language.packageManagerSelection.message} ${(0, import_picocolors.dim)(language.packageManagerSelection.hint)}`,
2814
+ options: packageManagerOptions
2815
+ }));
2816
+ }
2717
2817
  }
2718
2818
  if (argv.bare) result.needsBareboneTemplates = true;
2719
2819
  else if (!isFeatureFlagsUsed) result.needsBareboneTemplates = await unwrapPrompt(ye({
@@ -2730,6 +2830,7 @@ async function init() {
2730
2830
  const needsPrettier = argv.prettier || argv["eslint-with-prettier"] || features.includes("prettier");
2731
2831
  const needsOxfmt = experimentFeatures.includes("oxfmt") || argv["oxfmt"];
2732
2832
  const needsViteBeta = experimentFeatures.includes("vite-beta") || argv["vite-beta"] || argv["rolldown-vite"];
2833
+ const needsVueBeta = experimentFeatures.includes("vue-beta") || argv["vue-beta"];
2733
2834
  const { e2eFramework } = result;
2734
2835
  const needsCypress = argv.cypress || argv.tests || e2eFramework === "cypress";
2735
2836
  const needsCypressCT = needsCypress && !needsVitest;
@@ -2748,7 +2849,7 @@ async function init() {
2748
2849
  const templateRoot = fileURLToPath(new URL("./template", import.meta.url));
2749
2850
  const callbacks = [];
2750
2851
  const render = function render(templateName) {
2751
- renderTemplate_default(path$1.resolve(templateRoot, templateName), root, callbacks);
2852
+ renderTemplate(path$1.resolve(templateRoot, templateName), root, callbacks);
2752
2853
  };
2753
2854
  const replaceVite = () => {
2754
2855
  const content = fs.readFileSync(path$1.resolve(root, "package.json"), "utf-8");
@@ -2802,6 +2903,13 @@ async function init() {
2802
2903
  if (needsPlaywright) render("linting/playwright");
2803
2904
  if (needsVitest) render("linting/vitest");
2804
2905
  render("linting/oxlint");
2906
+ callbacks.push(async (dataStore) => {
2907
+ const oxlintrcPath = path$1.resolve(root, ".oxlintrc.json");
2908
+ dataStore[oxlintrcPath] = {
2909
+ needsTypeScript,
2910
+ needsVitest
2911
+ };
2912
+ });
2805
2913
  if (needsPrettier || needsOxfmt) render("linting/formatter");
2806
2914
  }
2807
2915
  if (needsOxfmt) render("formatting/oxfmt");
@@ -2849,8 +2957,13 @@ async function init() {
2849
2957
  removeCSSImport(root, needsTypeScript, needsCypressCT);
2850
2958
  if (needsRouter) emptyRouterConfig(root, needsTypeScript);
2851
2959
  }
2852
- const userAgent = process.env.npm_config_user_agent ?? "";
2853
- const packageManager = /pnpm/.test(userAgent) ? "pnpm" : /yarn/.test(userAgent) ? "yarn" : /bun/.test(userAgent) ? "bun" : "npm";
2960
+ const packageManager = result.packageManager ?? inferredPackageManager;
2961
+ if (needsVueBeta) {
2962
+ const pkgPath = path$1.resolve(root, "package.json");
2963
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
2964
+ applyVueBeta(root, packageManager, pkg);
2965
+ fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + "\n");
2966
+ }
2854
2967
  fs.writeFileSync(path$1.resolve(root, "README.md"), generateReadme({
2855
2968
  projectName: result.projectName ?? result.packageName ?? defaultProjectName,
2856
2969
  packageManager,
@@ -69,12 +69,19 @@
69
69
  "needsViteBeta": {
70
70
  "message": "Vite 8 (beta)"
71
71
  },
72
+ "needsVueBeta": {
73
+ "message": "Vue 3.6 (beta)"
74
+ },
72
75
  "needsOxfmt": {
73
76
  "message": "Replace Prettier with Oxfmt"
74
77
  },
75
78
  "needsBareboneTemplates": {
76
79
  "message": "Skip all example code and start with a blank Vue project?"
77
80
  },
81
+ "packageManagerSelection": {
82
+ "message": "Which package manager will you use?",
83
+ "hint": "(Vue 3.6 beta requires version overrides that differ per package manager)"
84
+ },
78
85
  "errors": {
79
86
  "operationCancelled": "Operation cancelled"
80
87
  },
@@ -69,12 +69,19 @@
69
69
  "needsViteBeta": {
70
70
  "message": "Vite 8 (beta)"
71
71
  },
72
+ "needsVueBeta": {
73
+ "message": "Vue 3.6 (beta)"
74
+ },
72
75
  "needsOxfmt": {
73
76
  "message": "Remplacer Prettier par Oxfmt"
74
77
  },
75
78
  "needsBareboneTemplates": {
76
79
  "message": "Ignorer tout le code d'exemple et commencer avec un projet Vue vierge\u00a0?"
77
80
  },
81
+ "packageManagerSelection": {
82
+ "message": "Quel gestionnaire de paquets allez-vous utiliser\u00a0?",
83
+ "hint": "(Vue 3.6 beta nécessite des surcharges de version spécifiques au gestionnaire de paquets)"
84
+ },
78
85
  "errors": {
79
86
  "operationCancelled": "Operation annulée"
80
87
  },
@@ -69,12 +69,19 @@
69
69
  "needsViteBeta": {
70
70
  "message": "Vite 8 (beta)"
71
71
  },
72
+ "needsVueBeta": {
73
+ "message": "Vue 3.6 (beta)"
74
+ },
72
75
  "needsOxfmt": {
73
76
  "message": "Prettier'ı Oxfmt ile değiştir"
74
77
  },
75
78
  "needsBareboneTemplates": {
76
79
  "message": "Tüm örnek kodları atlayıp boş bir Vue projesi ile başlansın mı?"
77
80
  },
81
+ "packageManagerSelection": {
82
+ "message": "Hangi paket yöneticisini kullanacaksınız?",
83
+ "hint": "(Vue 3.6 beta, paket yöneticisine özgü sürüm geçersiz kılmaları gerektirir)"
84
+ },
78
85
  "errors": {
79
86
  "operationCancelled": "İşlem iptal edildi"
80
87
  },
@@ -69,12 +69,19 @@
69
69
  "needsViteBeta": {
70
70
  "message": "Vite 8(测试版)"
71
71
  },
72
+ "needsVueBeta": {
73
+ "message": "Vue 3.6(测试版)"
74
+ },
72
75
  "needsOxfmt": {
73
76
  "message": "使用 Oxfmt 替代 Prettier"
74
77
  },
75
78
  "needsBareboneTemplates": {
76
79
  "message": "跳过所有示例代码,创建一个空白的 Vue 项目?"
77
80
  },
81
+ "packageManagerSelection": {
82
+ "message": "项目将使用哪个包管理器?",
83
+ "hint": "(需要根据包管理器生成对应的 Vue 3.6 测试版配置)"
84
+ },
78
85
  "errors": {
79
86
  "operationCancelled": "操作取消"
80
87
  },
@@ -69,12 +69,19 @@
69
69
  "needsViteBeta": {
70
70
  "message": "Vite 8(測試版)"
71
71
  },
72
+ "needsVueBeta": {
73
+ "message": "Vue 3.6(測試版)"
74
+ },
72
75
  "needsOxfmt": {
73
76
  "message": "使用 Oxfmt 替代 Prettier"
74
77
  },
75
78
  "needsBareboneTemplates": {
76
79
  "message": "跳過所有範例程式碼,建立一個空白的 Vue 專案?"
77
80
  },
81
+ "packageManagerSelection": {
82
+ "message": "專案將使用哪個套件管理器?",
83
+ "hint": "(需要根據套件管理器生成對應的 Vue 3.6 測試版配置)"
84
+ },
78
85
  "errors": {
79
86
  "operationCancelled": "操作取消"
80
87
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vue",
3
- "version": "3.20.0",
3
+ "version": "3.21.1",
4
4
  "description": "🛠️ The recommended way to start a Vite-powered Vue project",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/vuejs/create-vue#readme",
@@ -31,17 +31,17 @@
31
31
  "@clack/prompts": "^0.11.0",
32
32
  "@tsconfig/node24": "^24.0.4",
33
33
  "@types/eslint": "^9.6.1",
34
- "@types/node": "^24.10.9",
34
+ "@types/node": "^24.10.13",
35
35
  "@types/prompts": "^2.4.9",
36
36
  "@vue/tsconfig": "^0.8.1",
37
37
  "ejs": "^3.1.10",
38
38
  "husky": "^9.1.7",
39
39
  "lint-staged": "^16.2.7",
40
- "oxfmt": "^0.27.0",
41
- "oxlint": "~1.42.0",
40
+ "oxfmt": "^0.32.0",
41
+ "oxlint": "~1.47.0",
42
42
  "picocolors": "^1.1.1",
43
- "rolldown": "1.0.0-rc.2",
44
- "rollup-plugin-license": "^3.6.0",
43
+ "rolldown": "1.0.0-rc.4",
44
+ "rollup-plugin-license": "^3.7.0",
45
45
  "vitest": "^4.0.18",
46
46
  "zx": "^8.8.5"
47
47
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "explorer.fileNesting.enabled": true,
3
3
  "explorer.fileNesting.patterns": {
4
- "tsconfig.json": "tsconfig.*.json, env.d.ts",
4
+ "tsconfig.json": "tsconfig.*.json, env.d.ts, typed-router.d.ts",
5
5
  "vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*",
6
6
  "package.json": "package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .oxfmt*, .prettier*, prettier*, .editorconfig"
7
7
  }
@@ -7,12 +7,12 @@
7
7
  "preview": "vite preview"
8
8
  },
9
9
  "dependencies": {
10
- "vue": "^3.5.27"
10
+ "vue": "^3.5.28"
11
11
  },
12
12
  "devDependencies": {
13
- "@vitejs/plugin-vue": "^6.0.3",
13
+ "@vitejs/plugin-vue": "^6.0.4",
14
14
  "vite": "^7.3.1",
15
- "vite-plugin-vue-devtools": "^8.0.5"
15
+ "vite-plugin-vue-devtools": "^8.0.6"
16
16
  },
17
17
  "engines": {
18
18
  "node": "^20.19.0 || >=22.12.0"
@@ -5,7 +5,7 @@
5
5
  "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'"
6
6
  },
7
7
  "devDependencies": {
8
- "cypress": "^15.9.0",
8
+ "cypress": "^15.10.0",
9
9
  "start-server-and-test": "^2.1.3"
10
10
  }
11
11
  }
@@ -4,9 +4,9 @@
4
4
  "test:unit:dev": "cypress open --component"
5
5
  },
6
6
  "dependencies": {
7
- "vue": "^3.5.27"
7
+ "vue": "^3.5.28"
8
8
  },
9
9
  "devDependencies": {
10
- "cypress": "^15.9.0"
10
+ "cypress": "^15.10.0"
11
11
  }
12
12
  }
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "dependencies": {
3
- "vue": "^3.5.27"
3
+ "vue": "^3.5.28"
4
4
  },
5
5
  "devDependencies": {
6
- "@vitejs/plugin-vue-jsx": "^5.1.3",
6
+ "@vitejs/plugin-vue-jsx": "^5.1.4",
7
7
  "vite": "^7.3.1"
8
8
  }
9
9
  }
@@ -4,8 +4,8 @@
4
4
  },
5
5
  "devDependencies": {
6
6
  "@nightwatch/vue": "^3.1.2",
7
- "@vitejs/plugin-vue": "^6.0.3",
8
- "chromedriver": "^144.0.1",
7
+ "@vitejs/plugin-vue": "^6.0.4",
8
+ "chromedriver": "^145.0.3",
9
9
  "geckodriver": "^6.1.0",
10
10
  "nightwatch": "^3.15.0",
11
11
  "ts-node": "^10.9.2",
@@ -3,7 +3,7 @@
3
3
  "test:unit": "nightwatch src/**/__tests__/*"
4
4
  },
5
5
  "dependencies": {
6
- "vue": "^3.5.27"
6
+ "vue": "^3.5.28"
7
7
  },
8
8
  "devDependencies": {
9
9
  "@vue/test-utils": "^2.4.6"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
3
  "pinia": "^3.0.4",
4
- "vue": "^3.5.27"
4
+ "vue": "^3.5.28"
5
5
  }
6
6
  }
@@ -3,6 +3,6 @@
3
3
  "test:e2e": "playwright test"
4
4
  },
5
5
  "devDependencies": {
6
- "@playwright/test": "^1.58.0"
6
+ "@playwright/test": "^1.58.2"
7
7
  }
8
8
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "dependencies": {
3
- "vue": "^3.5.27",
4
- "vue-router": "^4.6.4"
3
+ "vue": "^3.5.28",
4
+ "vue-router": "^5.0.2"
5
5
  }
6
6
  }
@@ -5,7 +5,7 @@
5
5
  "type-check": "vue-tsc --build"
6
6
  },
7
7
  "devDependencies": {
8
- "@types/node": "^24.10.9",
8
+ "@types/node": "^24.10.13",
9
9
  "npm-run-all2": "^8.0.4",
10
10
  "typescript": "~5.9.3",
11
11
  "vue-tsc": "^3.2.4"
@@ -3,11 +3,11 @@
3
3
  "test:unit": "vitest"
4
4
  },
5
5
  "dependencies": {
6
- "vue": "^3.5.27"
6
+ "vue": "^3.5.28"
7
7
  },
8
8
  "devDependencies": {
9
9
  "@vue/test-utils": "^2.4.6",
10
- "jsdom": "^27.4.0",
10
+ "jsdom": "^28.1.0",
11
11
  "vitest": "^4.0.18"
12
12
  }
13
13
  }
@@ -3,6 +3,6 @@
3
3
  "format": "oxfmt src/"
4
4
  },
5
5
  "devDependencies": {
6
- "oxfmt": "^0.27.0"
6
+ "oxfmt": "^0.32.0"
7
7
  }
8
8
  }
@@ -4,6 +4,6 @@
4
4
  },
5
5
  "devDependencies": {
6
6
  "eslint": "^9.39.2",
7
- "eslint-plugin-vue": "~10.7.0"
7
+ "eslint-plugin-vue": "~10.8.0"
8
8
  }
9
9
  }
@@ -2,7 +2,7 @@
2
2
  "devDependencies": {
3
3
  "@eslint/js": "^9.39.2",
4
4
  "eslint": "^9.39.2",
5
- "eslint-plugin-vue": "~10.7.0",
6
- "globals": "^17.2.0"
5
+ "eslint-plugin-vue": "~10.8.0",
6
+ "globals": "^17.3.0"
7
7
  }
8
8
  }
@@ -2,7 +2,7 @@
2
2
  "devDependencies": {
3
3
  "@vue/eslint-config-typescript": "^14.6.0",
4
4
  "eslint": "^9.39.2",
5
- "eslint-plugin-vue": "~10.7.0",
5
+ "eslint-plugin-vue": "~10.8.0",
6
6
  "jiti": "^2.6.1",
7
7
  "typescript": "~5.9.3"
8
8
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "eslint-plugin-cypress": "^5.2.1"
3
+ "eslint-plugin-cypress": "^5.3.0"
4
4
  }
5
5
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "./node_modules/oxlint/configuration_schema.json",
3
- "plugins": ["eslint", "typescript", "unicorn", "oxc", "vue"],
3
+ "plugins": ["eslint"<%_ if (needsTypeScript) { _%>, "typescript"<%_ } _%>, "unicorn", "oxc", "vue"<%_ if (needsVitest) { _%>, "vitest"<%_ } _%>],
4
4
  "env": {
5
5
  "browser": true
6
6
  },
@@ -5,7 +5,7 @@ export default function getData({ oldData }) {
5
5
  ...oldData.configs,
6
6
  {
7
7
  importer: `import pluginOxlint from 'eslint-plugin-oxlint'`,
8
- content: `\n ...pluginOxlint.configs['flat/recommended'],`,
8
+ content: `\n ...pluginOxlint.buildFromOxlintConfigFile('.oxlintrc.json'),`,
9
9
  },
10
10
  ],
11
11
  }
@@ -5,8 +5,8 @@
5
5
  "lint": "run-s lint:*"
6
6
  },
7
7
  "devDependencies": {
8
- "eslint-plugin-oxlint": "~1.42.0",
8
+ "eslint-plugin-oxlint": "~1.46.0",
9
9
  "npm-run-all2": "^8.0.4",
10
- "oxlint": "~1.42.0"
10
+ "oxlint": "~1.47.0"
11
11
  }
12
12
  }
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "@vitest/eslint-plugin": "^1.6.6"
3
+ "@vitest/eslint-plugin": "^1.6.9"
4
4
  }
5
5
  }