create-vue 3.21.2 → 3.22.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/bundle.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- /*! create-vue v3.21.2 | MIT */
2
+ /*! create-vue v3.22.0 | MIT */
3
3
  import { createRequire } from "node:module";
4
4
  import * as fs from "node:fs";
5
5
  import { existsSync, lstatSync, readdirSync } from "node:fs";
@@ -3220,7 +3220,7 @@ function getPackageManagerOptions(preferred) {
3220
3220
  //#endregion
3221
3221
  //#region package.json
3222
3222
  var name = "create-vue";
3223
- var version = "3.21.2";
3223
+ var version = "3.22.0";
3224
3224
 
3225
3225
  //#endregion
3226
3226
  //#region index.ts
@@ -3248,10 +3248,6 @@ const FEATURE_FLAGS = [
3248
3248
  "vue-beta"
3249
3249
  ];
3250
3250
  const FEATURE_OPTIONS = [
3251
- {
3252
- value: "typescript",
3253
- label: language.needsTypeScript.message
3254
- },
3255
3251
  {
3256
3252
  value: "jsx",
3257
3253
  label: language.needsJsx.message
@@ -3445,6 +3441,10 @@ async function init() {
3445
3441
  validate: (value) => isValidPackageName(value) ? void 0 : language.packageName.invalidMessage
3446
3442
  }));
3447
3443
  if (!isFeatureFlagsUsed) {
3444
+ result.needsTypeScript = await unwrapPrompt(Re({
3445
+ message: language.needsTypeScript.message,
3446
+ initialValue: true
3447
+ }));
3448
3448
  result.features = await unwrapPrompt(je({
3449
3449
  message: `${language.featureSelection.message} ${(0, import_picocolors.dim)(language.featureSelection.hint)}`,
3450
3450
  options: FEATURE_OPTIONS,
@@ -3495,7 +3495,7 @@ async function init() {
3495
3495
  initialValue: false
3496
3496
  }));
3497
3497
  const { features, experimentFeatures, needsBareboneTemplates } = result;
3498
- const needsTypeScript = argv.ts || argv.typescript || features.includes("typescript");
3498
+ const needsTypeScript = argv.ts || argv.typescript || result.needsTypeScript;
3499
3499
  const needsJsx = argv.jsx || features.includes("jsx");
3500
3500
  const needsRouter = argv.router || argv["vue-router"] || features.includes("router");
3501
3501
  const needsPinia = argv.pinia || features.includes("pinia");
@@ -19,7 +19,7 @@
19
19
  "hint": "(↑/↓ to navigate, space to select, a to toggle all, enter to confirm)"
20
20
  },
21
21
  "needsTypeScript": {
22
- "message": "TypeScript"
22
+ "message": "Use TypeScript?"
23
23
  },
24
24
  "needsJsx": {
25
25
  "message": "JSX Support"
@@ -19,7 +19,7 @@
19
19
  "hint": "(↑/↓ pour naviguer, espace pour sélectionner, a pour tout sélectionner, entrée pour confirmer)"
20
20
  },
21
21
  "needsTypeScript": {
22
- "message": "TypeScript"
22
+ "message": "Utiliser TypeScript\u00a0?"
23
23
  },
24
24
  "needsJsx": {
25
25
  "message": "Support de JSX"
@@ -19,7 +19,7 @@
19
19
  "hint": "(↑/↓ gezinmek için, boşluk seçmek için, a tümünü seçmek için, enter onaylamak için)"
20
20
  },
21
21
  "needsTypeScript": {
22
- "message": "TypeScript"
22
+ "message": "TypeScript kullanılsın mı?"
23
23
  },
24
24
  "needsJsx": {
25
25
  "message": "JSX Desteği"
@@ -19,7 +19,7 @@
19
19
  "hint": "(↑/↓ 切换,空格选择,a 全选,回车确认)"
20
20
  },
21
21
  "needsTypeScript": {
22
- "message": "TypeScript"
22
+ "message": "是否使用 TypeScript 语法?"
23
23
  },
24
24
  "needsJsx": {
25
25
  "message": "JSX 支持"
@@ -19,7 +19,7 @@
19
19
  "hint": "(↑/↓ 切換,空格選擇,a 全選,enter 確認)"
20
20
  },
21
21
  "needsTypeScript": {
22
- "message": "TypeScript"
22
+ "message": "是否使用 TypeScript"
23
23
  },
24
24
  "needsJsx": {
25
25
  "message": "JSX 支援"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vue",
3
- "version": "3.21.2",
3
+ "version": "3.22.0",
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,16 +31,16 @@
31
31
  "@clack/prompts": "^1.0.1",
32
32
  "@tsconfig/node24": "^24.0.4",
33
33
  "@types/eslint": "^9.6.1",
34
- "@types/node": "^24.10.13",
34
+ "@types/node": "^24.11.0",
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
- "lint-staged": "^16.2.7",
39
+ "lint-staged": "^16.3.0",
40
40
  "oxfmt": "^0.35.0",
41
41
  "oxlint": "~1.50.0",
42
42
  "picocolors": "^1.1.1",
43
- "rolldown": "1.0.0-rc.5",
43
+ "rolldown": "1.0.0-rc.6",
44
44
  "rollup-plugin-license": "^3.7.0",
45
45
  "vitest": "^4.0.18",
46
46
  "zx": "^8.8.5"
@@ -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.10.0",
8
+ "cypress": "^15.11.0",
9
9
  "start-server-and-test": "^2.1.5"
10
10
  }
11
11
  }
@@ -7,6 +7,6 @@
7
7
  "vue": "^3.5.29"
8
8
  },
9
9
  "devDependencies": {
10
- "cypress": "^15.10.0"
10
+ "cypress": "^15.11.0"
11
11
  }
12
12
  }
@@ -5,7 +5,7 @@
5
5
  "devDependencies": {
6
6
  "@nightwatch/vue": "^3.1.2",
7
7
  "@vitejs/plugin-vue": "^6.0.4",
8
- "chromedriver": "^145.0.6",
8
+ "chromedriver": "^146.0.0",
9
9
  "geckodriver": "^6.1.0",
10
10
  "nightwatch": "^3.15.0",
11
11
  "ts-node": "^10.9.2",
@@ -5,7 +5,7 @@
5
5
  "type-check": "vue-tsc --build"
6
6
  },
7
7
  "devDependencies": {
8
- "@types/node": "^24.10.13",
8
+ "@types/node": "^24.11.0",
9
9
  "npm-run-all2": "^8.0.4",
10
10
  "typescript": "~5.9.3",
11
11
  "vue-tsc": "^3.2.5"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "devDependencies": {
3
- "eslint-plugin-playwright": "^2.7.1"
3
+ "eslint-plugin-playwright": "^2.8.0"
4
4
  }
5
5
  }
@@ -3,10 +3,16 @@
3
3
  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4
4
  "exclude": ["src/**/__tests__/*"],
5
5
  "compilerOptions": {
6
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
6
+ // Extra safety for array and object lookups, but may have false positives.
7
+ "noUncheckedIndexedAccess": true,
7
8
 
9
+ // Path mapping for cleaner imports.
8
10
  "paths": {
9
11
  "@/*": ["./src/*"]
10
- }
12
+ },
13
+
14
+ // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
15
+ // Specified here to keep it out of the root directory.
16
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo"
11
17
  }
12
18
  }
@@ -1,3 +1,4 @@
1
+ // TSConfig for modules that run in Node.js environment via either transpilation or type-stripping.
1
2
  {
2
3
  "extends": "@tsconfig/node24/tsconfig.json",
3
4
  "include": [
@@ -9,11 +10,19 @@
9
10
  "eslint.config.*"
10
11
  ],
11
12
  "compilerOptions": {
13
+ // Most tools use transpilation instead of Node.js's native type-stripping.
14
+ // Bundler mode provides a smoother developer experience.
15
+ "module": "preserve",
16
+ "moduleResolution": "bundler",
17
+
18
+ // Include Node.js types and avoid accidentally including other `@types/*` packages.
19
+ "types": ["node"],
20
+
21
+ // Disable emitting output during `vue-tsc --build`, which is used for type-checking only.
12
22
  "noEmit": true,
13
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
14
23
 
15
- "module": "ESNext",
16
- "moduleResolution": "Bundler",
17
- "types": ["node"]
24
+ // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
25
+ // Specified here to keep it out of the root directory.
26
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo"
18
27
  }
19
28
  }
@@ -9,6 +9,8 @@
9
9
  ],
10
10
  "exclude": [],
11
11
  "compilerOptions": {
12
+ // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
13
+ // Specified here to keep it out of the root directory.
12
14
  "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.cypress-ct.tsbuildinfo"
13
15
  }
14
16
  }
@@ -3,10 +3,16 @@
3
3
  "include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
4
4
  "exclude": ["src/**/__tests__/*"],
5
5
  "compilerOptions": {
6
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
6
+ // Extra safety for array and object lookups, but may have false positives.
7
+ "noUncheckedIndexedAccess": true,
7
8
 
9
+ // Path mapping for cleaner imports.
8
10
  "paths": {
9
11
  "@/*": ["./src/*"]
10
- }
12
+ },
13
+
14
+ // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
15
+ // Specified here to keep it out of the root directory.
16
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo"
11
17
  }
12
18
  }
@@ -1,11 +1,19 @@
1
1
  {
2
2
  "extends": "./tsconfig.app.json",
3
+
4
+ // Override to include only test files and clear exclusions.
5
+ // Application code imported in tests is automatically included via module resolution.
3
6
  "include": ["src/**/__tests__/*", "env.d.ts"],
4
7
  "exclude": [],
5
- "compilerOptions": {
6
- "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo",
7
8
 
9
+ "compilerOptions": {
10
+ // Vitest runs in a different environment than the application code.
11
+ // Adjust lib and types accordingly.
8
12
  "lib": [],
9
- "types": ["node", "jsdom"]
13
+ "types": ["node", "jsdom"],
14
+
15
+ // `vue-tsc --build` produces a .tsbuildinfo file for incremental type-checking.
16
+ // Specified here to keep it out of the root directory.
17
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.vitest.tsbuildinfo"
10
18
  }
11
19
  }