create-vue 3.18.0 → 3.18.2
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 +104 -126
- package/locales/en-US.json +1 -1
- package/locales/fr-FR.json +1 -1
- package/locales/tr-TR.json +1 -1
- package/locales/zh-Hans.json +1 -1
- package/locales/zh-Hant.json +1 -1
- package/package.json +8 -8
- package/template/base/_gitignore +9 -3
- package/template/base/package.json +3 -3
- package/template/code/default/src/components/TheWelcome.vue +3 -2
- package/template/code/router/src/components/TheWelcome.vue +3 -2
- package/template/code/typescript-default/src/components/TheWelcome.vue +3 -2
- package/template/code/typescript-router/src/components/TheWelcome.vue +3 -2
- package/template/config/cypress/package.json +2 -2
- package/template/config/cypress-ct/package.json +2 -2
- package/template/config/jsx/package.json +3 -3
- package/template/config/nightwatch/package.json +3 -3
- package/template/config/nightwatch-ct/package.json +1 -1
- package/template/config/pinia/package.json +1 -1
- package/template/config/playwright/package.json +1 -1
- package/template/config/router/package.json +2 -2
- package/template/config/typescript/package.json +3 -3
- package/template/config/vitest/package.json +2 -2
- package/template/eslint/package.json +3 -3
- package/template/tsconfig/base/package.json +1 -1
- package/template/tsconfig/vitest/package.json +1 -1
package/bundle.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/*! create-vue v3.18.2 | MIT */
|
|
2
3
|
import { createRequire } from "node:module";
|
|
3
4
|
import * as fs from "node:fs";
|
|
4
5
|
import * as path from "node:path";
|
|
@@ -38,7 +39,7 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
|
38
39
|
|
|
39
40
|
//#endregion
|
|
40
41
|
//#region node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js
|
|
41
|
-
var require_src = __commonJS({ "node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(exports, module) {
|
|
42
|
+
var require_src = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js": ((exports, module) => {
|
|
42
43
|
const ESC = "\x1B";
|
|
43
44
|
const CSI = `${ESC}[`;
|
|
44
45
|
const beep = "\x07";
|
|
@@ -91,11 +92,11 @@ var require_src = __commonJS({ "node_modules/.pnpm/sisteransi@1.0.5/node_modules
|
|
|
91
92
|
erase,
|
|
92
93
|
beep
|
|
93
94
|
};
|
|
94
|
-
} });
|
|
95
|
+
}) });
|
|
95
96
|
|
|
96
97
|
//#endregion
|
|
97
98
|
//#region node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
|
|
98
|
-
var require_picocolors = __commonJS({ "node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports, module) {
|
|
99
|
+
var require_picocolors = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js": ((exports, module) => {
|
|
99
100
|
let p$1 = process || {}, argv = p$1.argv || [], env = p$1.env || {};
|
|
100
101
|
let isColorSupported = !(!!env.NO_COLOR || argv.includes("--no-color")) && (!!env.FORCE_COLOR || argv.includes("--color") || p$1.platform === "win32" || (p$1.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
|
|
101
102
|
let formatter = (open, close, replace = open) => (input) => {
|
|
@@ -160,12 +161,12 @@ var require_picocolors = __commonJS({ "node_modules/.pnpm/picocolors@1.1.1/node_
|
|
|
160
161
|
};
|
|
161
162
|
module.exports = createColors();
|
|
162
163
|
module.exports.createColors = createColors;
|
|
163
|
-
} });
|
|
164
|
+
}) });
|
|
164
165
|
|
|
165
166
|
//#endregion
|
|
166
167
|
//#region node_modules/.pnpm/@clack+core@0.5.0/node_modules/@clack/core/dist/index.mjs
|
|
167
|
-
var import_src$1 = __toESM(require_src(), 1);
|
|
168
|
-
var import_picocolors$2 = __toESM(require_picocolors(), 1);
|
|
168
|
+
var import_src$1 = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
169
|
+
var import_picocolors$2 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
|
|
169
170
|
function DD({ onlyFirst: e$1 = !1 } = {}) {
|
|
170
171
|
const t = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");
|
|
171
172
|
return new RegExp(t, e$1 ? void 0 : "g");
|
|
@@ -429,16 +430,16 @@ function Y$1(e$1, u$1, t) {
|
|
|
429
430
|
`).map((F$1) => lD(F$1, u$1, t)).join(`
|
|
430
431
|
`);
|
|
431
432
|
}
|
|
432
|
-
const
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
433
|
+
const B = {
|
|
434
|
+
actions: new Set([
|
|
435
|
+
"up",
|
|
436
|
+
"down",
|
|
437
|
+
"left",
|
|
438
|
+
"right",
|
|
439
|
+
"space",
|
|
440
|
+
"enter",
|
|
441
|
+
"cancel"
|
|
442
|
+
]),
|
|
442
443
|
aliases: new Map([
|
|
443
444
|
["k", "up"],
|
|
444
445
|
["j", "down"],
|
|
@@ -478,9 +479,8 @@ function fD({ input: e$1 = stdin, output: u$1 = stdout, overwrite: t = !0, hideC
|
|
|
478
479
|
});
|
|
479
480
|
g.emitKeypressEvents(e$1, s), e$1.isTTY && e$1.setRawMode(!0);
|
|
480
481
|
const i = (D$1, { name: C$1, sequence: n }) => {
|
|
481
|
-
const E = String(D$1);
|
|
482
482
|
if ($([
|
|
483
|
-
|
|
483
|
+
String(D$1),
|
|
484
484
|
C$1,
|
|
485
485
|
n
|
|
486
486
|
], "cancel")) {
|
|
@@ -681,10 +681,7 @@ let _D = class extends x$1 {
|
|
|
681
681
|
if (u$1.group === !0) {
|
|
682
682
|
const t = u$1.value, F$1 = this.getGroupItems(t);
|
|
683
683
|
this.isGroupSelected(t) ? this.value = this.value.filter((s) => F$1.findIndex((i) => i.value === s) === -1) : this.value = [...this.value, ...F$1.map((s) => s.value)], this.value = Array.from(new Set(this.value));
|
|
684
|
-
} else
|
|
685
|
-
const t = this.value.includes(u$1.value);
|
|
686
|
-
this.value = t ? this.value.filter((F$1) => F$1 !== u$1.value) : [...this.value, u$1.value];
|
|
687
|
-
}
|
|
684
|
+
} else this.value = this.value.includes(u$1.value) ? this.value.filter((F$1) => F$1 !== u$1.value) : [...this.value, u$1.value];
|
|
688
685
|
}
|
|
689
686
|
};
|
|
690
687
|
A$1 = /* @__PURE__ */ new WeakMap();
|
|
@@ -718,12 +715,10 @@ let SD = class extends x$1 {
|
|
|
718
715
|
return this.options[this.cursor].value;
|
|
719
716
|
}
|
|
720
717
|
toggleAll() {
|
|
721
|
-
|
|
722
|
-
this.value = u$1 ? [] : this.options.map((t) => t.value);
|
|
718
|
+
this.value = this.value.length === this.options.length ? [] : this.options.map((t) => t.value);
|
|
723
719
|
}
|
|
724
720
|
toggleValue() {
|
|
725
|
-
|
|
726
|
-
this.value = u$1 ? this.value.filter((t) => t !== this._value) : [...this.value, this._value];
|
|
721
|
+
this.value = this.value.includes(this._value) ? this.value.filter((t) => t !== this._value) : [...this.value, this._value];
|
|
727
722
|
}
|
|
728
723
|
};
|
|
729
724
|
var TD = Object.defineProperty, jD = (e$1, u$1, t) => u$1 in e$1 ? TD(e$1, u$1, {
|
|
@@ -816,8 +811,8 @@ var RD = class extends x$1 {
|
|
|
816
811
|
|
|
817
812
|
//#endregion
|
|
818
813
|
//#region node_modules/.pnpm/@clack+prompts@0.11.0/node_modules/@clack/prompts/dist/index.mjs
|
|
819
|
-
var import_picocolors$1 = __toESM(require_picocolors(), 1);
|
|
820
|
-
var import_src = __toESM(require_src(), 1);
|
|
814
|
+
var import_picocolors$1 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
|
|
815
|
+
var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
|
|
821
816
|
function ce() {
|
|
822
817
|
return y.platform !== "win32" ? y.env.TERM !== "linux" : !!y.env.CI || !!y.env.WT_SESSION || !!y.env.TERMINUS_SUBLIME || y.env.ConEmuTask === "{cmd::Cmder}" || y.env.TERM_PROGRAM === "Terminus-Sublime" || y.env.TERM_PROGRAM === "vscode" || y.env.TERM === "xterm-256color" || y.env.TERM === "alacritty" || y.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
|
|
823
818
|
}
|
|
@@ -1162,8 +1157,7 @@ ${J}${i.trimStart()}`), r$1 = 3 + stripVTControlCharacters(i.trimStart()).length
|
|
|
1162
1157
|
], r$1 = V ? 80 : 120, i = process.env.CI === "true";
|
|
1163
1158
|
let s, c, a = !1, l$1 = "", $$1, g$1 = performance.now();
|
|
1164
1159
|
const p$2 = (m$1) => {
|
|
1165
|
-
|
|
1166
|
-
a && N$1(h$1, m$1);
|
|
1160
|
+
a && N$1(m$1 > 1 ? "Something went wrong" : "Canceled", m$1);
|
|
1167
1161
|
}, v$1 = () => p$2(2), f = () => p$2(1), j = () => {
|
|
1168
1162
|
process.on("uncaughtExceptionMonitor", v$1), process.on("unhandledRejection", v$1), process.on("SIGINT", f), process.on("SIGTERM", f), process.on("exit", p$2);
|
|
1169
1163
|
}, E = () => {
|
|
@@ -1233,7 +1227,7 @@ ${J}${i.trimStart()}`), r$1 = 3 + stripVTControlCharacters(i.trimStart()).length
|
|
|
1233
1227
|
|
|
1234
1228
|
//#endregion
|
|
1235
1229
|
//#region node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/utils.js
|
|
1236
|
-
var require_utils = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/utils.js"(exports) {
|
|
1230
|
+
var require_utils = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/utils.js": ((exports) => {
|
|
1237
1231
|
var regExpChars = /[|\\{}()[\]^$+*?.]/g;
|
|
1238
1232
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
1239
1233
|
var hasOwn = function(obj, key) {
|
|
@@ -1385,24 +1379,24 @@ var require_utils = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs
|
|
|
1385
1379
|
* @static
|
|
1386
1380
|
* @private
|
|
1387
1381
|
*/
|
|
1388
|
-
exports.createNullProtoObjWherePossible = function() {
|
|
1382
|
+
exports.createNullProtoObjWherePossible = (function() {
|
|
1389
1383
|
if (typeof Object.create == "function") return function() {
|
|
1390
1384
|
return Object.create(null);
|
|
1391
1385
|
};
|
|
1392
1386
|
return function() {
|
|
1393
1387
|
return {};
|
|
1394
1388
|
};
|
|
1395
|
-
}();
|
|
1389
|
+
})();
|
|
1396
1390
|
exports.hasOwnOnlyObject = function(obj) {
|
|
1397
1391
|
var o$1 = exports.createNullProtoObjWherePossible();
|
|
1398
1392
|
for (var p$2 in obj) if (hasOwn(obj, p$2)) o$1[p$2] = obj[p$2];
|
|
1399
1393
|
return o$1;
|
|
1400
1394
|
};
|
|
1401
|
-
} });
|
|
1395
|
+
}) });
|
|
1402
1396
|
|
|
1403
1397
|
//#endregion
|
|
1404
1398
|
//#region node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/package.json
|
|
1405
|
-
var require_package = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/package.json"(exports, module) {
|
|
1399
|
+
var require_package = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/package.json": ((exports, module) => {
|
|
1406
1400
|
module.exports = {
|
|
1407
1401
|
"name": "ejs",
|
|
1408
1402
|
"description": "Embedded JavaScript templates",
|
|
@@ -1437,11 +1431,11 @@ var require_package = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/e
|
|
|
1437
1431
|
"engines": { "node": ">=0.10.0" },
|
|
1438
1432
|
"scripts": { "test": "npx jake test" }
|
|
1439
1433
|
};
|
|
1440
|
-
} });
|
|
1434
|
+
}) });
|
|
1441
1435
|
|
|
1442
1436
|
//#endregion
|
|
1443
1437
|
//#region node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/ejs.js
|
|
1444
|
-
var require_ejs = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/ejs.js"(exports) {
|
|
1438
|
+
var require_ejs = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/lib/ejs.js": ((exports) => {
|
|
1445
1439
|
/**
|
|
1446
1440
|
* @file Embedded JavaScript templating engine. {@link http://ejs.co}
|
|
1447
1441
|
* @author Matthew Eernisse <mde@fleegix.org>
|
|
@@ -1540,8 +1534,7 @@ var require_ejs = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/l
|
|
|
1540
1534
|
var extname = path$2.extname;
|
|
1541
1535
|
var resolve = path$2.resolve;
|
|
1542
1536
|
var includePath = resolve(isDir ? filename : dirname(filename), name$2);
|
|
1543
|
-
|
|
1544
|
-
if (!ext) includePath += ".ejs";
|
|
1537
|
+
if (!extname(name$2)) includePath += ".ejs";
|
|
1545
1538
|
return includePath;
|
|
1546
1539
|
};
|
|
1547
1540
|
/**
|
|
@@ -1954,8 +1947,7 @@ var require_ejs = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/l
|
|
|
1954
1947
|
return returnedFn;
|
|
1955
1948
|
},
|
|
1956
1949
|
generateSource: function() {
|
|
1957
|
-
|
|
1958
|
-
if (opts.rmWhitespace) this.templateText = this.templateText.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, "");
|
|
1950
|
+
if (this.opts.rmWhitespace) this.templateText = this.templateText.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, "");
|
|
1959
1951
|
this.templateText = this.templateText.replace(/[ \t]*<%_/gm, "<%_").replace(/_%>[ \t]*/gm, "_%>");
|
|
1960
1952
|
var self = this;
|
|
1961
1953
|
var matches = this.parseTemplateText();
|
|
@@ -2107,10 +2099,11 @@ var require_ejs = __commonJS({ "node_modules/.pnpm/ejs@3.1.10/node_modules/ejs/l
|
|
|
2107
2099
|
exports.name = _NAME;
|
|
2108
2100
|
/* istanbul ignore if */
|
|
2109
2101
|
if (typeof window != "undefined") window.ejs = exports;
|
|
2110
|
-
} });
|
|
2102
|
+
}) });
|
|
2111
2103
|
|
|
2112
2104
|
//#endregion
|
|
2113
2105
|
//#region utils/banners.ts
|
|
2106
|
+
var import_ejs$1 = /* @__PURE__ */ __toESM(require_ejs(), 1);
|
|
2114
2107
|
const defaultBanner = "Vue.js - The Progressive JavaScript Framework";
|
|
2115
2108
|
const gradientBanner = "\x1B[38;2;66;211;146mV\x1B[39m\x1B[38;2;66;211;146mu\x1B[39m\x1B[38;2;66;211;146me\x1B[39m\x1B[38;2;66;211;146m.\x1B[39m\x1B[38;2;66;211;146mj\x1B[39m\x1B[38;2;67;209;149ms\x1B[39m \x1B[38;2;68;206;152m-\x1B[39m \x1B[38;2;69;204;155mT\x1B[39m\x1B[38;2;70;201;158mh\x1B[39m\x1B[38;2;71;199;162me\x1B[39m \x1B[38;2;72;196;165mP\x1B[39m\x1B[38;2;73;194;168mr\x1B[39m\x1B[38;2;74;192;171mo\x1B[39m\x1B[38;2;75;189;174mg\x1B[39m\x1B[38;2;76;187;177mr\x1B[39m\x1B[38;2;77;184;180me\x1B[39m\x1B[38;2;78;182;183ms\x1B[39m\x1B[38;2;79;179;186ms\x1B[39m\x1B[38;2;80;177;190mi\x1B[39m\x1B[38;2;81;175;193mv\x1B[39m\x1B[38;2;82;172;196me\x1B[39m \x1B[38;2;83;170;199mJ\x1B[39m\x1B[38;2;83;167;202ma\x1B[39m\x1B[38;2;84;165;205mv\x1B[39m\x1B[38;2;85;162;208ma\x1B[39m\x1B[38;2;86;160;211mS\x1B[39m\x1B[38;2;87;158;215mc\x1B[39m\x1B[38;2;88;155;218mr\x1B[39m\x1B[38;2;89;153;221mi\x1B[39m\x1B[38;2;90;150;224mp\x1B[39m\x1B[38;2;91;148;227mt\x1B[39m \x1B[38;2;92;145;230mF\x1B[39m\x1B[38;2;93;143;233mr\x1B[39m\x1B[38;2;94;141;236ma\x1B[39m\x1B[38;2;95;138;239mm\x1B[39m\x1B[38;2;96;136;243me\x1B[39m\x1B[38;2;97;133;246mw\x1B[39m\x1B[38;2;98;131;249mo\x1B[39m\x1B[38;2;99;128;252mr\x1B[39m\x1B[38;2;100;126;255mk\x1B[39m";
|
|
2116
2109
|
|
|
@@ -2139,13 +2132,12 @@ var deepMerge_default = deepMerge$1;
|
|
|
2139
2132
|
//#region utils/sortDependencies.ts
|
|
2140
2133
|
function sortDependencies(packageJson) {
|
|
2141
2134
|
const sorted = {};
|
|
2142
|
-
const
|
|
2135
|
+
for (const depType of [
|
|
2143
2136
|
"dependencies",
|
|
2144
2137
|
"devDependencies",
|
|
2145
2138
|
"peerDependencies",
|
|
2146
2139
|
"optionalDependencies"
|
|
2147
|
-
]
|
|
2148
|
-
for (const depType of depTypes) if (packageJson[depType]) {
|
|
2140
|
+
]) if (packageJson[depType]) {
|
|
2149
2141
|
sorted[depType] = {};
|
|
2150
2142
|
Object.keys(packageJson[depType]).sort().forEach((name$2) => {
|
|
2151
2143
|
sorted[depType][name$2] = packageJson[depType][name$2];
|
|
@@ -2169,8 +2161,7 @@ function sortDependencies(packageJson) {
|
|
|
2169
2161
|
* @param {string} dest destination filename of the copy operation
|
|
2170
2162
|
*/
|
|
2171
2163
|
function renderTemplate(src, dest, callbacks) {
|
|
2172
|
-
|
|
2173
|
-
if (stats.isDirectory()) {
|
|
2164
|
+
if (fs.statSync(src).isDirectory()) {
|
|
2174
2165
|
if (path.basename(src) === "node_modules") return;
|
|
2175
2166
|
fs.mkdirSync(dest, { recursive: true });
|
|
2176
2167
|
for (const file of fs.readdirSync(src)) renderTemplate(path.resolve(src, file), path.resolve(dest, file), callbacks);
|
|
@@ -2178,23 +2169,17 @@ function renderTemplate(src, dest, callbacks) {
|
|
|
2178
2169
|
}
|
|
2179
2170
|
const filename = path.basename(src);
|
|
2180
2171
|
if (filename === "package.json" && fs.existsSync(dest)) {
|
|
2181
|
-
const
|
|
2182
|
-
const newPackage = JSON.parse(fs.readFileSync(src, "utf8"));
|
|
2183
|
-
const pkg = sortDependencies(deepMerge_default(existing, newPackage));
|
|
2172
|
+
const pkg = sortDependencies(deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8"))));
|
|
2184
2173
|
fs.writeFileSync(dest, JSON.stringify(pkg, null, 2) + "\n");
|
|
2185
2174
|
return;
|
|
2186
2175
|
}
|
|
2187
2176
|
if (filename === "extensions.json" && fs.existsSync(dest)) {
|
|
2188
|
-
const
|
|
2189
|
-
const newExtensions = JSON.parse(fs.readFileSync(src, "utf8"));
|
|
2190
|
-
const extensions = deepMerge_default(existing, newExtensions);
|
|
2177
|
+
const extensions = deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
|
|
2191
2178
|
fs.writeFileSync(dest, JSON.stringify(extensions, null, 2) + "\n");
|
|
2192
2179
|
return;
|
|
2193
2180
|
}
|
|
2194
2181
|
if (filename === "settings.json" && fs.existsSync(dest)) {
|
|
2195
|
-
const
|
|
2196
|
-
const newSettings = JSON.parse(fs.readFileSync(src, "utf8"));
|
|
2197
|
-
const settings = deepMerge_default(existing, newSettings);
|
|
2182
|
+
const settings = deepMerge_default(JSON.parse(fs.readFileSync(dest, "utf8")), JSON.parse(fs.readFileSync(src, "utf8")));
|
|
2198
2183
|
fs.writeFileSync(dest, JSON.stringify(settings, null, 2) + "\n");
|
|
2199
2184
|
return;
|
|
2200
2185
|
}
|
|
@@ -2274,7 +2259,16 @@ This template should help get you started developing with Vue 3 in Vite.
|
|
|
2274
2259
|
|
|
2275
2260
|
## Recommended IDE Setup
|
|
2276
2261
|
|
|
2277
|
-
[
|
|
2262
|
+
[VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
|
|
2263
|
+
|
|
2264
|
+
## Recommended Browser Setup
|
|
2265
|
+
|
|
2266
|
+
- Chromium-based browsers (Chrome, Edge, Brave, etc.):
|
|
2267
|
+
- [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
|
|
2268
|
+
- [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
|
|
2269
|
+
- Firefox:
|
|
2270
|
+
- [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
|
|
2271
|
+
- [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
|
|
2278
2272
|
${needsTypeScript ? sfcTypeSupportDoc : ""}
|
|
2279
2273
|
## Customize configuration
|
|
2280
2274
|
|
|
@@ -2420,8 +2414,7 @@ function linkLocale(locale) {
|
|
|
2420
2414
|
return linkedLocale;
|
|
2421
2415
|
}
|
|
2422
2416
|
function getLocale() {
|
|
2423
|
-
|
|
2424
|
-
return linkLocale(shellLocale.split(".")[0].replace("_", "-"));
|
|
2417
|
+
return linkLocale((process.env.LC_ALL || process.env.LC_MESSAGES || process.env.LANG || Intl.DateTimeFormat().resolvedOptions().locale || "en-US").split(".")[0].replace("_", "-"));
|
|
2425
2418
|
}
|
|
2426
2419
|
async function loadLanguageFile(filePath) {
|
|
2427
2420
|
return await fs.promises.readFile(filePath, "utf-8").then((data) => {
|
|
@@ -2433,14 +2426,11 @@ async function getLanguage(localesRoot) {
|
|
|
2433
2426
|
const locale = getLocale();
|
|
2434
2427
|
const languageFilePath = path.resolve(localesRoot, `${locale}.json`);
|
|
2435
2428
|
const fallbackPath = path.resolve(localesRoot, "en-US.json");
|
|
2436
|
-
|
|
2437
|
-
const lang = doesLanguageExist ? await loadLanguageFile(languageFilePath) : await loadLanguageFile(fallbackPath);
|
|
2438
|
-
return lang;
|
|
2429
|
+
return fs.existsSync(languageFilePath) ? await loadLanguageFile(languageFilePath) : await loadLanguageFile(fallbackPath);
|
|
2439
2430
|
}
|
|
2440
2431
|
|
|
2441
2432
|
//#endregion
|
|
2442
|
-
//#region node_modules/.pnpm/@vue+create-eslint-config@0.
|
|
2443
|
-
var import_ejs$1 = __toESM(require_ejs(), 1);
|
|
2433
|
+
//#region node_modules/.pnpm/@vue+create-eslint-config@0.13.0/node_modules/@vue/create-eslint-config/renderEjsFile.js
|
|
2444
2434
|
const templates = {
|
|
2445
2435
|
"./templates/_editorconfig.ejs": "[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}]\ncharset = utf-8\nindent_size = 2\nindent_style = space\ninsert_final_newline = true\ntrim_trailing_whitespace = true\nend_of_line = lf\nmax_line_length = 100\n",
|
|
2446
2436
|
"./templates/_gitattributes": "* text=auto eol=lf\n",
|
|
@@ -2453,9 +2443,9 @@ function renderEjsFile(filePath, data) {
|
|
|
2453
2443
|
}
|
|
2454
2444
|
|
|
2455
2445
|
//#endregion
|
|
2456
|
-
//#region node_modules/.pnpm/@vue+create-eslint-config@0.
|
|
2446
|
+
//#region node_modules/.pnpm/@vue+create-eslint-config@0.13.0/node_modules/@vue/create-eslint-config/package.json
|
|
2457
2447
|
var name$1 = "@vue/create-eslint-config";
|
|
2458
|
-
var version$1 = "0.
|
|
2448
|
+
var version$1 = "0.13.0";
|
|
2459
2449
|
var description$1 = "Utility to setup ESLint in Vue.js projects.";
|
|
2460
2450
|
var type$1 = "module";
|
|
2461
2451
|
var main = "index.js";
|
|
@@ -2488,20 +2478,20 @@ var dependencies = {
|
|
|
2488
2478
|
"kolorist": "^1.8.0"
|
|
2489
2479
|
};
|
|
2490
2480
|
var devDependencies$2 = {
|
|
2491
|
-
"@eslint/js": "^9.
|
|
2481
|
+
"@eslint/js": "^9.37.0",
|
|
2492
2482
|
"@prettier/plugin-oxc": "^0.0.4",
|
|
2493
|
-
"@types/node": "^22.
|
|
2483
|
+
"@types/node": "^22.18.10",
|
|
2494
2484
|
"@vue/eslint-config-prettier": "^10.2.0",
|
|
2495
2485
|
"@vue/eslint-config-typescript": "^14.6.0",
|
|
2496
|
-
"eslint": "^9.
|
|
2497
|
-
"eslint-plugin-oxlint": "~1.
|
|
2498
|
-
"eslint-plugin-vue": "~10.
|
|
2499
|
-
"globals": "^16.
|
|
2500
|
-
"jiti": "^2.
|
|
2486
|
+
"eslint": "^9.37.0",
|
|
2487
|
+
"eslint-plugin-oxlint": "~1.23.0",
|
|
2488
|
+
"eslint-plugin-vue": "~10.5.0",
|
|
2489
|
+
"globals": "^16.4.0",
|
|
2490
|
+
"jiti": "^2.6.1",
|
|
2501
2491
|
"npm-run-all2": "^8.0.4",
|
|
2502
|
-
"oxlint": "~1.
|
|
2492
|
+
"oxlint": "~1.23.0",
|
|
2503
2493
|
"prettier": "3.6.2",
|
|
2504
|
-
"typescript": "~5.
|
|
2494
|
+
"typescript": "~5.9.0"
|
|
2505
2495
|
};
|
|
2506
2496
|
var package_default$2 = {
|
|
2507
2497
|
name: name$1,
|
|
@@ -2524,7 +2514,7 @@ var package_default$2 = {
|
|
|
2524
2514
|
};
|
|
2525
2515
|
|
|
2526
2516
|
//#endregion
|
|
2527
|
-
//#region node_modules/.pnpm/@vue+create-eslint-config@0.
|
|
2517
|
+
//#region node_modules/.pnpm/@vue+create-eslint-config@0.13.0/node_modules/@vue/create-eslint-config/index.js
|
|
2528
2518
|
const versionMap = package_default$2.devDependencies;
|
|
2529
2519
|
function createConfig({ styleGuide = "default", hasTypeScript = false, needsPrettier = false, needsOxlint = false, additionalConfigs = [] }) {
|
|
2530
2520
|
const pickDependencies = (keys) => pickKeysFromObject(versionMap, keys);
|
|
@@ -2553,9 +2543,9 @@ function createConfig({ styleGuide = "default", hasTypeScript = false, needsPret
|
|
|
2553
2543
|
}]
|
|
2554
2544
|
});
|
|
2555
2545
|
pkg.scripts["lint:oxlint"] = "oxlint . --fix -D correctness --ignore-path .gitignore";
|
|
2556
|
-
pkg.scripts["lint:eslint"] = "eslint . --fix";
|
|
2546
|
+
pkg.scripts["lint:eslint"] = "eslint . --fix --cache";
|
|
2557
2547
|
pkg.scripts.lint = "run-s lint:*";
|
|
2558
|
-
} else pkg.scripts.lint = "eslint . --fix";
|
|
2548
|
+
} else pkg.scripts.lint = "eslint . --fix --cache";
|
|
2559
2549
|
if (needsPrettier) {
|
|
2560
2550
|
additionalConfigs.push({
|
|
2561
2551
|
devDependencies: pickDependencies(["prettier", "@vue/eslint-config-prettier"]),
|
|
@@ -2625,9 +2615,9 @@ function deepMerge(target, obj) {
|
|
|
2625
2615
|
//#endregion
|
|
2626
2616
|
//#region template/eslint/package.json
|
|
2627
2617
|
var devDependencies$1 = {
|
|
2628
|
-
"@vitest/eslint-plugin": "^1.3.
|
|
2629
|
-
"eslint-plugin-cypress": "^5.
|
|
2630
|
-
"eslint-plugin-playwright": "^2.2.
|
|
2618
|
+
"@vitest/eslint-plugin": "^1.3.23",
|
|
2619
|
+
"eslint-plugin-cypress": "^5.2.0",
|
|
2620
|
+
"eslint-plugin-playwright": "^2.2.2"
|
|
2631
2621
|
};
|
|
2632
2622
|
var package_default$1 = { devDependencies: devDependencies$1 };
|
|
2633
2623
|
|
|
@@ -2635,23 +2625,21 @@ var package_default$1 = { devDependencies: devDependencies$1 };
|
|
|
2635
2625
|
//#region utils/renderEslint.ts
|
|
2636
2626
|
const eslintDeps = package_default$1.devDependencies;
|
|
2637
2627
|
function renderEslint(rootDir, { needsTypeScript, needsVitest, needsCypress, needsCypressCT, needsOxlint, needsPrettier, needsPlaywright }) {
|
|
2638
|
-
const additionalConfigs = getAdditionalConfigs({
|
|
2639
|
-
needsTypeScript,
|
|
2640
|
-
needsVitest,
|
|
2641
|
-
needsCypress,
|
|
2642
|
-
needsCypressCT,
|
|
2643
|
-
needsPlaywright
|
|
2644
|
-
});
|
|
2645
2628
|
const { pkg, files: files$1 } = createConfig({
|
|
2646
2629
|
styleGuide: "default",
|
|
2647
2630
|
hasTypeScript: needsTypeScript,
|
|
2648
2631
|
needsOxlint,
|
|
2649
2632
|
needsPrettier,
|
|
2650
|
-
additionalConfigs
|
|
2633
|
+
additionalConfigs: getAdditionalConfigs({
|
|
2634
|
+
needsTypeScript,
|
|
2635
|
+
needsVitest,
|
|
2636
|
+
needsCypress,
|
|
2637
|
+
needsCypressCT,
|
|
2638
|
+
needsPlaywright
|
|
2639
|
+
})
|
|
2651
2640
|
});
|
|
2652
2641
|
const packageJsonPath = path.resolve(rootDir, "package.json");
|
|
2653
|
-
const
|
|
2654
|
-
const updatedPkg = sortDependencies(deepMerge_default(existingPkg, pkg));
|
|
2642
|
+
const updatedPkg = sortDependencies(deepMerge_default(JSON.parse(fs.readFileSync(packageJsonPath, "utf8")), pkg));
|
|
2655
2643
|
fs.writeFileSync(packageJsonPath, JSON.stringify(updatedPkg, null, 2) + "\n", "utf8");
|
|
2656
2644
|
for (const [fileName, content] of Object.entries(files$1)) {
|
|
2657
2645
|
const fullPath = path.resolve(rootDir, fileName);
|
|
@@ -2722,26 +2710,21 @@ function trimBoilerplate(rootDir) {
|
|
|
2722
2710
|
}
|
|
2723
2711
|
}
|
|
2724
2712
|
function removeCSSImport(rootDir, needsTypeScript, needsCypressCT) {
|
|
2725
|
-
|
|
2726
|
-
replaceContent(
|
|
2727
|
-
if (needsCypressCT) {
|
|
2728
|
-
const ctSetupPath = path$1.resolve(rootDir, needsTypeScript ? "cypress/support/component.ts" : "cypress/support/component.js");
|
|
2729
|
-
replaceContent(ctSetupPath, (content) => content.replace("import '@/assets/main.css'", "// import '@/assets/main.css'"));
|
|
2730
|
-
}
|
|
2713
|
+
replaceContent(path$1.resolve(rootDir, needsTypeScript ? "src/main.ts" : "src/main.js"), (content) => content.replace("import './assets/main.css'\n\n", ""));
|
|
2714
|
+
if (needsCypressCT) replaceContent(path$1.resolve(rootDir, needsTypeScript ? "cypress/support/component.ts" : "cypress/support/component.js"), (content) => content.replace("import '@/assets/main.css'", "// import '@/assets/main.css'"));
|
|
2731
2715
|
}
|
|
2732
2716
|
function emptyRouterConfig(rootDir, needsTypeScript) {
|
|
2733
2717
|
const srcDir = path$1.resolve(rootDir, "src");
|
|
2734
|
-
|
|
2735
|
-
replaceContent(routerEntry, (content) => content.replace(`import HomeView from '../views/HomeView.vue'\n`, "").replace(/routes:\s*\[[\s\S]*?\],/, "routes: [],"));
|
|
2718
|
+
replaceContent(path$1.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: [],"));
|
|
2736
2719
|
}
|
|
2737
2720
|
|
|
2738
2721
|
//#endregion
|
|
2739
2722
|
//#region package.json
|
|
2740
2723
|
var name = "create-vue";
|
|
2741
|
-
var version = "3.18.
|
|
2724
|
+
var version = "3.18.2";
|
|
2742
2725
|
var description = "🛠️ The recommended way to start a Vite-powered Vue project";
|
|
2743
2726
|
var type = "module";
|
|
2744
|
-
var packageManager = "pnpm@10.
|
|
2727
|
+
var packageManager = "pnpm@10.18.3";
|
|
2745
2728
|
var bin = { "create-vue": "bundle.js" };
|
|
2746
2729
|
var files = [
|
|
2747
2730
|
"locales",
|
|
@@ -2752,7 +2735,7 @@ var files = [
|
|
|
2752
2735
|
var engines = { "node": "^20.19.0 || >=22.12.0" };
|
|
2753
2736
|
var scripts = {
|
|
2754
2737
|
"prepare": "husky",
|
|
2755
|
-
"format": "prettier --write .",
|
|
2738
|
+
"format": "prettier --write . --experimental-cli",
|
|
2756
2739
|
"build": "rolldown -c rolldown.config.ts",
|
|
2757
2740
|
"snapshot": "zx ./scripts/snapshot.mjs",
|
|
2758
2741
|
"pretest": "pnpm run build && pnpm run snapshot",
|
|
@@ -2775,19 +2758,19 @@ var devDependencies = {
|
|
|
2775
2758
|
"@clack/prompts": "^0.11.0",
|
|
2776
2759
|
"@tsconfig/node22": "^22.0.2",
|
|
2777
2760
|
"@types/eslint": "^9.6.1",
|
|
2778
|
-
"@types/node": "^22.
|
|
2761
|
+
"@types/node": "^22.18.12",
|
|
2779
2762
|
"@types/prompts": "^2.4.9",
|
|
2780
|
-
"@vue/create-eslint-config": "^0.
|
|
2781
|
-
"@vue/tsconfig": "^0.
|
|
2763
|
+
"@vue/create-eslint-config": "^0.13.0",
|
|
2764
|
+
"@vue/tsconfig": "^0.8.1",
|
|
2782
2765
|
"ejs": "^3.1.10",
|
|
2783
2766
|
"husky": "^9.1.7",
|
|
2784
|
-
"lint-staged": "^16.
|
|
2767
|
+
"lint-staged": "^16.2.5",
|
|
2785
2768
|
"picocolors": "^1.1.1",
|
|
2786
2769
|
"prettier": "3.6.2",
|
|
2787
|
-
"rolldown": "1.0.0-beta.
|
|
2770
|
+
"rolldown": "1.0.0-beta.43",
|
|
2788
2771
|
"rollup-plugin-license": "^3.6.0",
|
|
2789
2772
|
"vitest": "^3.2.4",
|
|
2790
|
-
"zx": "^8.
|
|
2773
|
+
"zx": "^8.8.5"
|
|
2791
2774
|
};
|
|
2792
2775
|
var lint_staged = { "*.{js,ts,vue,json}": ["prettier --write"] };
|
|
2793
2776
|
var publishConfig = {
|
|
@@ -2817,8 +2800,8 @@ var package_default = {
|
|
|
2817
2800
|
|
|
2818
2801
|
//#endregion
|
|
2819
2802
|
//#region index.ts
|
|
2820
|
-
var import_picocolors = __toESM(require_picocolors(), 1);
|
|
2821
|
-
var import_ejs = __toESM(require_ejs(), 1);
|
|
2803
|
+
var import_picocolors = /* @__PURE__ */ __toESM(require_picocolors(), 1);
|
|
2804
|
+
var import_ejs = /* @__PURE__ */ __toESM(require_ejs(), 1);
|
|
2822
2805
|
const language = await getLanguage(fileURLToPath(new URL("./locales", import.meta.url)));
|
|
2823
2806
|
const FEATURE_FLAGS = [
|
|
2824
2807
|
"default",
|
|
@@ -2972,10 +2955,9 @@ async function init() {
|
|
|
2972
2955
|
"help",
|
|
2973
2956
|
"version"
|
|
2974
2957
|
];
|
|
2975
|
-
const options = Object.fromEntries(flags.map((key) => [key, { type: "boolean" }]));
|
|
2976
2958
|
const { values: argv$1, positionals } = parseArgs({
|
|
2977
2959
|
args,
|
|
2978
|
-
options,
|
|
2960
|
+
options: Object.fromEntries(flags.map((key) => [key, { type: "boolean" }])),
|
|
2979
2961
|
strict: true,
|
|
2980
2962
|
allowPositionals: true
|
|
2981
2963
|
});
|
|
@@ -3001,15 +2983,12 @@ async function init() {
|
|
|
3001
2983
|
needsBareboneTemplates: false
|
|
3002
2984
|
};
|
|
3003
2985
|
Ie(process.stdout.isTTY && process.stdout.getColorDepth() > 8 ? gradientBanner : defaultBanner);
|
|
3004
|
-
if (!targetDir) {
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
}));
|
|
3011
|
-
targetDir = result.projectName = result.packageName = _result.trim();
|
|
3012
|
-
}
|
|
2986
|
+
if (!targetDir) targetDir = result.projectName = result.packageName = (await unwrapPrompt(he({
|
|
2987
|
+
message: language.projectName.message,
|
|
2988
|
+
placeholder: defaultProjectName,
|
|
2989
|
+
defaultValue: defaultProjectName,
|
|
2990
|
+
validate: (value) => value.length === 0 || value.trim().length > 0 ? void 0 : language.projectName.invalidMessage
|
|
2991
|
+
}))).trim();
|
|
3013
2992
|
if (!canSkipEmptying(targetDir) && !forceOverwrite) {
|
|
3014
2993
|
result.shouldOverwrite = await unwrapPrompt(ye({
|
|
3015
2994
|
message: `${targetDir === "." ? language.shouldOverwrite.dirForPrompts.current : `${language.shouldOverwrite.dirForPrompts.target} "${targetDir}"`} ${language.shouldOverwrite.message}`,
|
|
@@ -3093,8 +3072,7 @@ async function init() {
|
|
|
3093
3072
|
const templateRoot = fileURLToPath(new URL("./template", import.meta.url));
|
|
3094
3073
|
const callbacks = [];
|
|
3095
3074
|
const render = function render$1(templateName) {
|
|
3096
|
-
|
|
3097
|
-
renderTemplate_default(templateDir, root, callbacks);
|
|
3075
|
+
renderTemplate_default(path.resolve(templateRoot, templateName), root, callbacks);
|
|
3098
3076
|
};
|
|
3099
3077
|
const replaceVite = () => {
|
|
3100
3078
|
const content = fs.readFileSync(path.resolve(root, "package.json"), "utf-8");
|
|
@@ -3154,8 +3132,7 @@ async function init() {
|
|
|
3154
3132
|
if (needsOxlint) render("config/oxlint");
|
|
3155
3133
|
if (needsPrettier) render("config/prettier");
|
|
3156
3134
|
if (needsRolldownVite) replaceVite();
|
|
3157
|
-
|
|
3158
|
-
render(`code/${codeTemplate}`);
|
|
3135
|
+
render(`code/${(needsTypeScript ? "typescript-" : "") + (needsRouter ? "router" : "default")}`);
|
|
3159
3136
|
if (needsPinia && needsRouter) render("entry/router-and-pinia");
|
|
3160
3137
|
else if (needsPinia) render("entry/pinia");
|
|
3161
3138
|
else if (needsRouter) render("entry/router");
|
|
@@ -3230,4 +3207,5 @@ init().catch((e$1) => {
|
|
|
3230
3207
|
process.exit(1);
|
|
3231
3208
|
});
|
|
3232
3209
|
|
|
3233
|
-
//#endregion
|
|
3210
|
+
//#endregion
|
|
3211
|
+
export { };
|
package/locales/en-US.json
CHANGED
package/locales/fr-FR.json
CHANGED
package/locales/tr-TR.json
CHANGED
package/locales/zh-Hans.json
CHANGED
package/locales/zh-Hant.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-vue",
|
|
3
|
-
"version": "3.18.
|
|
3
|
+
"version": "3.18.2",
|
|
4
4
|
"description": "🛠️ The recommended way to start a Vite-powered Vue project",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -30,19 +30,19 @@
|
|
|
30
30
|
"@clack/prompts": "^0.11.0",
|
|
31
31
|
"@tsconfig/node22": "^22.0.2",
|
|
32
32
|
"@types/eslint": "^9.6.1",
|
|
33
|
-
"@types/node": "^22.
|
|
33
|
+
"@types/node": "^22.18.12",
|
|
34
34
|
"@types/prompts": "^2.4.9",
|
|
35
|
-
"@vue/create-eslint-config": "^0.
|
|
36
|
-
"@vue/tsconfig": "^0.
|
|
35
|
+
"@vue/create-eslint-config": "^0.13.0",
|
|
36
|
+
"@vue/tsconfig": "^0.8.1",
|
|
37
37
|
"ejs": "^3.1.10",
|
|
38
38
|
"husky": "^9.1.7",
|
|
39
|
-
"lint-staged": "^16.
|
|
39
|
+
"lint-staged": "^16.2.5",
|
|
40
40
|
"picocolors": "^1.1.1",
|
|
41
41
|
"prettier": "3.6.2",
|
|
42
|
-
"rolldown": "1.0.0-beta.
|
|
42
|
+
"rolldown": "1.0.0-beta.43",
|
|
43
43
|
"rollup-plugin-license": "^3.6.0",
|
|
44
44
|
"vitest": "^3.2.4",
|
|
45
|
-
"zx": "^8.
|
|
45
|
+
"zx": "^8.8.5"
|
|
46
46
|
},
|
|
47
47
|
"lint-staged": {
|
|
48
48
|
"*.{js,ts,vue,json}": [
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"provenance": true
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
|
-
"format": "prettier --write .",
|
|
57
|
+
"format": "prettier --write . --experimental-cli",
|
|
58
58
|
"build": "rolldown -c rolldown.config.ts",
|
|
59
59
|
"snapshot": "zx ./scripts/snapshot.mjs",
|
|
60
60
|
"pretest": "pnpm run build && pnpm run snapshot",
|
package/template/base/_gitignore
CHANGED
|
@@ -14,9 +14,6 @@ dist-ssr
|
|
|
14
14
|
coverage
|
|
15
15
|
*.local
|
|
16
16
|
|
|
17
|
-
/cypress/videos/
|
|
18
|
-
/cypress/screenshots/
|
|
19
|
-
|
|
20
17
|
# Editor directories and files
|
|
21
18
|
.vscode/*
|
|
22
19
|
!.vscode/extensions.json
|
|
@@ -28,3 +25,12 @@ coverage
|
|
|
28
25
|
*.sw?
|
|
29
26
|
|
|
30
27
|
*.tsbuildinfo
|
|
28
|
+
|
|
29
|
+
.eslintcache
|
|
30
|
+
|
|
31
|
+
# Cypress
|
|
32
|
+
/cypress/videos/
|
|
33
|
+
/cypress/screenshots/
|
|
34
|
+
|
|
35
|
+
# Vitest
|
|
36
|
+
__screenshots__/
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"preview": "vite preview"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"vue": "^3.5.
|
|
13
|
+
"vue": "^3.5.22"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
17
|
-
"vite": "^7.
|
|
18
|
-
"vite-plugin-vue-devtools": "^8.0.
|
|
17
|
+
"vite": "^7.1.11",
|
|
18
|
+
"vite-plugin-vue-devtools": "^8.0.3"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -32,8 +32,9 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')
|
|
|
32
32
|
recommended IDE setup is
|
|
33
33
|
<a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a>
|
|
34
34
|
+
|
|
35
|
-
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
-
|
|
35
|
+
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
+
>Vue - Official</a
|
|
37
|
+
>. If you need to test your components and web pages, check out
|
|
37
38
|
<a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a>
|
|
38
39
|
and
|
|
39
40
|
<a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
|
|
@@ -32,8 +32,9 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')
|
|
|
32
32
|
recommended IDE setup is
|
|
33
33
|
<a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a>
|
|
34
34
|
+
|
|
35
|
-
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
-
|
|
35
|
+
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
+
>Vue - Official</a
|
|
37
|
+
>. If you need to test your components and web pages, check out
|
|
37
38
|
<a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a>
|
|
38
39
|
and
|
|
39
40
|
<a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
|
|
@@ -32,8 +32,9 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')
|
|
|
32
32
|
recommended IDE setup is
|
|
33
33
|
<a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a>
|
|
34
34
|
+
|
|
35
|
-
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
-
|
|
35
|
+
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
+
>Vue - Official</a
|
|
37
|
+
>. If you need to test your components and web pages, check out
|
|
37
38
|
<a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a>
|
|
38
39
|
and
|
|
39
40
|
<a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
|
|
@@ -32,8 +32,9 @@ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')
|
|
|
32
32
|
recommended IDE setup is
|
|
33
33
|
<a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a>
|
|
34
34
|
+
|
|
35
|
-
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
-
|
|
35
|
+
<a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
|
|
36
|
+
>Vue - Official</a
|
|
37
|
+
>. If you need to test your components and web pages, check out
|
|
37
38
|
<a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a>
|
|
38
39
|
and
|
|
39
40
|
<a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
|
|
@@ -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": "^
|
|
9
|
-
"start-server-and-test": "^2.
|
|
8
|
+
"cypress": "^15.5.0",
|
|
9
|
+
"start-server-and-test": "^2.1.2"
|
|
10
10
|
}
|
|
11
11
|
}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@nightwatch/vue": "^3.1.2",
|
|
7
7
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
8
|
-
"chromedriver": "^
|
|
9
|
-
"geckodriver": "^
|
|
8
|
+
"chromedriver": "^141.0.3",
|
|
9
|
+
"geckodriver": "^6.0.2",
|
|
10
10
|
"nightwatch": "^3.12.2",
|
|
11
11
|
"ts-node": "^10.9.2",
|
|
12
|
-
"vite": "^7.
|
|
12
|
+
"vite": "^7.1.11",
|
|
13
13
|
"vite-plugin-nightwatch": "^0.4.6"
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"type-check": "vue-tsc --build"
|
|
6
6
|
},
|
|
7
7
|
"devDependencies": {
|
|
8
|
-
"@types/node": "^22.
|
|
8
|
+
"@types/node": "^22.18.11",
|
|
9
9
|
"npm-run-all2": "^8.0.4",
|
|
10
|
-
"typescript": "~5.
|
|
11
|
-
"vue-tsc": "^3.
|
|
10
|
+
"typescript": "~5.9.0",
|
|
11
|
+
"vue-tsc": "^3.1.1"
|
|
12
12
|
}
|
|
13
13
|
}
|