@vc-shell/create-vc-app 1.0.222 → 1.0.224
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/CHANGELOG.md +18 -0
- package/dist/index.js +116 -123
- package/dist/templates/base/_env +0 -1
- package/dist/templates/base/_env.local +1 -0
- package/dist/templates/base/_package.json +5 -5
- package/dist/templates/modules/dynamic-module/composables/use{{ModuleNamePascalCase}}Details/index.ts +2 -6
- package/dist/templates/modules/dynamic-module/composables/use{{ModuleNamePascalCase}}List/index.ts +2 -6
- package/dist/templates/sample/dynamic-module/composables/useDetails/index.ts +2 -6
- package/dist/templates/sample/dynamic-module/composables/useList/index.ts +2 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## [1.0.224](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.223...v1.0.224) (2024-06-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## [1.0.223](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.222...v1.0.223) (2024-05-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **dynamic:** refactoring of scope, composable args interface, dynamic hint for some components ([e6b8099](https://github.com/VirtoCommerce/vc-shell/commit/e6b8099a120cef9429896904947e13fdae670541))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### BREAKING CHANGES
|
|
14
|
+
|
|
15
|
+
* **dynamic:** change scope in composables to be plain object instead refs. Also, if you want to extend scope, use lodash's merge method like: _.merge(scope, {})
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
1
19
|
## [1.0.222](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.221...v1.0.222) (2024-05-28)
|
|
2
20
|
|
|
3
21
|
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import Ce from "prompts";
|
|
3
|
-
import
|
|
3
|
+
import Re from "mri";
|
|
4
4
|
import s from "chalk";
|
|
5
5
|
import i from "node:path";
|
|
6
6
|
import u from "node:fs";
|
|
7
|
-
import { fileURLToPath as
|
|
8
|
-
import { cwd as je, argv as Ae, exit as
|
|
9
|
-
const
|
|
7
|
+
import { fileURLToPath as $e } from "node:url";
|
|
8
|
+
import { cwd as je, argv as Ae, exit as ke } from "node:process";
|
|
9
|
+
const we = "@vc-shell/create-vc-app", Oe = "Application scaffolding", Ne = "1.0.224", Me = "module", Te = "./dist/index.js", Ue = [
|
|
10
10
|
"dist"
|
|
11
11
|
], Ee = {
|
|
12
12
|
build: "vite build && yarn postbuild",
|
|
13
13
|
postbuild: "shx cp -R src/templates dist/"
|
|
14
14
|
}, Le = {
|
|
15
15
|
"@types/prompts": "^2.4.4",
|
|
16
|
-
"@vc-shell/ts-config": "^1.0.
|
|
16
|
+
"@vc-shell/ts-config": "^1.0.224",
|
|
17
17
|
copyfiles: "^2.4.1",
|
|
18
18
|
"cross-env": "^7.0.3",
|
|
19
19
|
shx: "^0.3.4",
|
|
@@ -29,7 +29,7 @@ const ke = "@vc-shell/create-vc-app", Oe = "Application scaffolding", Ne = "1.0.
|
|
|
29
29
|
access: "public",
|
|
30
30
|
registry: "https://registry.npmjs.org/"
|
|
31
31
|
}, ze = "yarn@4.0.2", De = {
|
|
32
|
-
name:
|
|
32
|
+
name: we,
|
|
33
33
|
description: Oe,
|
|
34
34
|
version: Ne,
|
|
35
35
|
type: Me,
|
|
@@ -41,16 +41,16 @@ const ke = "@vc-shell/create-vc-app", Oe = "Application scaffolding", Ne = "1.0.
|
|
|
41
41
|
publishConfig: Pe,
|
|
42
42
|
packageManager: ze
|
|
43
43
|
};
|
|
44
|
-
var
|
|
44
|
+
var Ie = typeof global == "object" && global && global.Object === Object && global, Fe = typeof self == "object" && self && self.Object === Object && self, Ze = Ie || Fe || Function("return this")(), m = Ze.Symbol, H = Object.prototype, Ve = H.hasOwnProperty, We = H.toString, y = m ? m.toStringTag : void 0;
|
|
45
45
|
function He(e) {
|
|
46
|
-
var
|
|
46
|
+
var r = Ve.call(e, y), n = e[y];
|
|
47
47
|
try {
|
|
48
48
|
e[y] = void 0;
|
|
49
49
|
var a = !0;
|
|
50
50
|
} catch {
|
|
51
51
|
}
|
|
52
52
|
var t = We.call(e);
|
|
53
|
-
return a && (
|
|
53
|
+
return a && (r ? e[y] = n : delete e[y]), t;
|
|
54
54
|
}
|
|
55
55
|
var Be = Object.prototype, Je = Be.toString;
|
|
56
56
|
function Ge(e) {
|
|
@@ -67,9 +67,9 @@ var Xe = "[object Symbol]";
|
|
|
67
67
|
function er(e) {
|
|
68
68
|
return typeof e == "symbol" || Qe(e) && Ke(e) == Xe;
|
|
69
69
|
}
|
|
70
|
-
function rr(e,
|
|
71
|
-
for (var
|
|
72
|
-
t[
|
|
70
|
+
function rr(e, r) {
|
|
71
|
+
for (var n = -1, a = e == null ? 0 : e.length, t = Array(a); ++n < a; )
|
|
72
|
+
t[n] = r(e[n], n, e);
|
|
73
73
|
return t;
|
|
74
74
|
}
|
|
75
75
|
var nr = Array.isArray, or = 1 / 0, P = m ? m.prototype : void 0, z = P ? P.toString : void 0;
|
|
@@ -80,61 +80,59 @@ function B(e) {
|
|
|
80
80
|
return rr(e, B) + "";
|
|
81
81
|
if (er(e))
|
|
82
82
|
return z ? z.call(e) : "";
|
|
83
|
-
var
|
|
84
|
-
return
|
|
83
|
+
var r = e + "";
|
|
84
|
+
return r == "0" && 1 / e == -or ? "-0" : r;
|
|
85
85
|
}
|
|
86
86
|
function C(e) {
|
|
87
87
|
return e == null ? "" : B(e);
|
|
88
88
|
}
|
|
89
|
-
function tr(e,
|
|
89
|
+
function tr(e, r, n) {
|
|
90
90
|
var a = -1, t = e.length;
|
|
91
|
-
|
|
91
|
+
r < 0 && (r = -r > t ? 0 : t + r), n = n > t ? t : n, n < 0 && (n += t), t = r > n ? 0 : n - r >>> 0, r >>>= 0;
|
|
92
92
|
for (var c = Array(t); ++a < t; )
|
|
93
|
-
c[a] = e[a +
|
|
93
|
+
c[a] = e[a + r];
|
|
94
94
|
return c;
|
|
95
95
|
}
|
|
96
|
-
function ar(e,
|
|
96
|
+
function ar(e, r, n) {
|
|
97
97
|
var a = e.length;
|
|
98
|
-
return
|
|
98
|
+
return n = n === void 0 ? a : n, !r && n >= a ? e : tr(e, r, n);
|
|
99
99
|
}
|
|
100
|
-
var sr = "\\ud800-\\udfff", ur = "\\u0300-\\u036f", ir = "\\ufe20-\\ufe2f", cr = "\\u20d0-\\u20ff",
|
|
100
|
+
var sr = "\\ud800-\\udfff", ur = "\\u0300-\\u036f", ir = "\\ufe20-\\ufe2f", cr = "\\u20d0-\\u20ff", lr = ur + ir + cr, fr = "\\ufe0e\\ufe0f", dr = "\\u200d", pr = RegExp("[" + dr + sr + lr + fr + "]");
|
|
101
101
|
function J(e) {
|
|
102
102
|
return pr.test(e);
|
|
103
103
|
}
|
|
104
104
|
function mr(e) {
|
|
105
105
|
return e.split("");
|
|
106
106
|
}
|
|
107
|
-
var G = "\\ud800-\\udfff", gr = "\\u0300-\\u036f", xr = "\\ufe20-\\ufe2f", br = "\\u20d0-\\u20ff", yr = gr + xr + br, vr = "\\ufe0e\\ufe0f", hr = "[" + G + "]", O = "[" + yr + "]", N = "\\ud83c[\\udffb-\\udfff]", Sr = "(?:" + O + "|" + N + ")", Y = "[^" + G + "]", q = "(?:\\ud83c[\\udde6-\\uddff]){2}", K = "[\\ud800-\\udbff][\\udc00-\\udfff]", Cr = "\\u200d", Q = Sr + "?", X = "[" + vr + "]?",
|
|
108
|
-
function
|
|
107
|
+
var G = "\\ud800-\\udfff", gr = "\\u0300-\\u036f", xr = "\\ufe20-\\ufe2f", br = "\\u20d0-\\u20ff", yr = gr + xr + br, vr = "\\ufe0e\\ufe0f", hr = "[" + G + "]", O = "[" + yr + "]", N = "\\ud83c[\\udffb-\\udfff]", Sr = "(?:" + O + "|" + N + ")", Y = "[^" + G + "]", q = "(?:\\ud83c[\\udde6-\\uddff]){2}", K = "[\\ud800-\\udbff][\\udc00-\\udfff]", Cr = "\\u200d", Q = Sr + "?", X = "[" + vr + "]?", Rr = "(?:" + Cr + "(?:" + [Y, q, K].join("|") + ")" + X + Q + ")*", $r = X + Q + Rr, jr = "(?:" + [Y + O + "?", O, q, K, hr].join("|") + ")", Ar = RegExp(N + "(?=" + N + ")|" + jr + $r, "g");
|
|
108
|
+
function kr(e) {
|
|
109
109
|
return e.match(Ar) || [];
|
|
110
110
|
}
|
|
111
|
-
function
|
|
112
|
-
return J(e) ?
|
|
111
|
+
function wr(e) {
|
|
112
|
+
return J(e) ? kr(e) : mr(e);
|
|
113
113
|
}
|
|
114
114
|
function ee(e) {
|
|
115
|
-
return function(
|
|
116
|
-
|
|
117
|
-
var
|
|
115
|
+
return function(r) {
|
|
116
|
+
r = C(r);
|
|
117
|
+
var n = J(r) ? wr(r) : void 0, a = n ? n[0] : r.charAt(0), t = n ? ar(n, 1).join("") : r.slice(1);
|
|
118
118
|
return a[e]() + t;
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
function Nr(e) {
|
|
121
|
+
var M = ee("toUpperCase");
|
|
122
|
+
function Or(e) {
|
|
124
123
|
return M(C(e).toLowerCase());
|
|
125
124
|
}
|
|
126
|
-
function
|
|
127
|
-
var t = -1, c = e == null ? 0 : e.length;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return r;
|
|
125
|
+
function Nr(e, r, n, a) {
|
|
126
|
+
for (var t = -1, c = e == null ? 0 : e.length; ++t < c; )
|
|
127
|
+
n = r(n, e[t], t, e);
|
|
128
|
+
return n;
|
|
131
129
|
}
|
|
132
|
-
function
|
|
133
|
-
return function(
|
|
134
|
-
return e?.[
|
|
130
|
+
function Mr(e) {
|
|
131
|
+
return function(r) {
|
|
132
|
+
return e?.[r];
|
|
135
133
|
};
|
|
136
134
|
}
|
|
137
|
-
var
|
|
135
|
+
var Tr = {
|
|
138
136
|
// Latin-1 Supplement block.
|
|
139
137
|
À: "A",
|
|
140
138
|
Á: "A",
|
|
@@ -327,60 +325,55 @@ var Ur = {
|
|
|
327
325
|
œ: "oe",
|
|
328
326
|
ʼn: "'n",
|
|
329
327
|
ſ: "s"
|
|
330
|
-
}, Er =
|
|
331
|
-
|
|
332
|
-
|
|
328
|
+
}, Ur = Mr(Tr), Er = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, Lr = "\\u0300-\\u036f", _r = "\\ufe20-\\ufe2f", Pr = "\\u20d0-\\u20ff", zr = Lr + _r + Pr, Dr = "[" + zr + "]", Ir = RegExp(Dr, "g");
|
|
329
|
+
function Fr(e) {
|
|
330
|
+
return e = C(e), e && e.replace(Er, Ur).replace(Ir, "");
|
|
331
|
+
}
|
|
332
|
+
var Zr = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
|
|
333
333
|
function Vr(e) {
|
|
334
|
-
return e
|
|
334
|
+
return e.match(Zr) || [];
|
|
335
335
|
}
|
|
336
|
-
var Wr = /[
|
|
336
|
+
var Wr = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
|
|
337
337
|
function Hr(e) {
|
|
338
|
-
return
|
|
339
|
-
}
|
|
340
|
-
var Br = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
|
|
341
|
-
function Jr(e) {
|
|
342
|
-
return Br.test(e);
|
|
338
|
+
return Wr.test(e);
|
|
343
339
|
}
|
|
344
|
-
var re = "\\ud800-\\udfff",
|
|
345
|
-
p + "?" + ie + "+" +
|
|
346
|
-
|
|
347
|
-
p + "?" +
|
|
340
|
+
var re = "\\ud800-\\udfff", Br = "\\u0300-\\u036f", Jr = "\\ufe20-\\ufe2f", Gr = "\\u20d0-\\u20ff", Yr = Br + Jr + Gr, ne = "\\u2700-\\u27bf", oe = "a-z\\xdf-\\xf6\\xf8-\\xff", qr = "\\xac\\xb1\\xd7\\xf7", Kr = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", Qr = "\\u2000-\\u206f", Xr = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", te = "A-Z\\xc0-\\xd6\\xd8-\\xde", en = "\\ufe0e\\ufe0f", ae = qr + Kr + Qr + Xr, se = "['’]", D = "[" + ae + "]", rn = "[" + Yr + "]", ue = "\\d+", nn = "[" + ne + "]", ie = "[" + oe + "]", ce = "[^" + re + ae + ue + ne + oe + te + "]", on = "\\ud83c[\\udffb-\\udfff]", tn = "(?:" + rn + "|" + on + ")", an = "[^" + re + "]", le = "(?:\\ud83c[\\udde6-\\uddff]){2}", fe = "[\\ud800-\\udbff][\\udc00-\\udfff]", p = "[" + te + "]", sn = "\\u200d", I = "(?:" + ie + "|" + ce + ")", un = "(?:" + p + "|" + ce + ")", F = "(?:" + se + "(?:d|ll|m|re|s|t|ve))?", Z = "(?:" + se + "(?:D|LL|M|RE|S|T|VE))?", de = tn + "?", pe = "[" + en + "]?", cn = "(?:" + sn + "(?:" + [an, le, fe].join("|") + ")" + pe + de + ")*", ln = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", fn = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", dn = pe + de + cn, pn = "(?:" + [nn, le, fe].join("|") + ")" + dn, mn = RegExp([
|
|
341
|
+
p + "?" + ie + "+" + F + "(?=" + [D, p, "$"].join("|") + ")",
|
|
342
|
+
un + "+" + Z + "(?=" + [D, p + I, "$"].join("|") + ")",
|
|
343
|
+
p + "?" + I + "+" + F,
|
|
348
344
|
p + "+" + Z,
|
|
349
|
-
|
|
350
|
-
|
|
345
|
+
fn,
|
|
346
|
+
ln,
|
|
351
347
|
ue,
|
|
352
|
-
|
|
348
|
+
pn
|
|
353
349
|
].join("|"), "g");
|
|
354
|
-
function
|
|
355
|
-
return e.match(
|
|
350
|
+
function gn(e) {
|
|
351
|
+
return e.match(mn) || [];
|
|
356
352
|
}
|
|
357
|
-
function
|
|
358
|
-
return e = C(e),
|
|
353
|
+
function xn(e, r, n) {
|
|
354
|
+
return e = C(e), r = r, r === void 0 ? Hr(e) ? gn(e) : Vr(e) : e.match(r) || [];
|
|
359
355
|
}
|
|
360
|
-
var
|
|
356
|
+
var bn = "['’]", yn = RegExp(bn, "g");
|
|
361
357
|
function T(e) {
|
|
362
|
-
return function(
|
|
363
|
-
return
|
|
358
|
+
return function(r) {
|
|
359
|
+
return Nr(xn(Fr(r).replace(yn, "")), e, "");
|
|
364
360
|
};
|
|
365
361
|
}
|
|
366
|
-
var
|
|
367
|
-
return
|
|
368
|
-
})
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
var Rn = T(function(e, n, r) {
|
|
373
|
-
return e + (r ? "_" : "") + n.toLowerCase();
|
|
374
|
-
}), w = T(function(e, n, r) {
|
|
375
|
-
return e + (r ? " " : "") + M(n);
|
|
362
|
+
var V = T(function(e, r, n) {
|
|
363
|
+
return r = r.toLowerCase(), e + (n ? Or(r) : r);
|
|
364
|
+
}), vn = ee("toLowerCase"), hn = T(function(e, r, n) {
|
|
365
|
+
return e + (n ? "_" : "") + r.toLowerCase();
|
|
366
|
+
}), k = T(function(e, r, n) {
|
|
367
|
+
return e + (n ? " " : "") + M(r);
|
|
376
368
|
});
|
|
377
|
-
const
|
|
369
|
+
const Sn = {
|
|
378
370
|
_gitignore: ".gitignore",
|
|
379
371
|
"_yarnrc.yml": ".yarnrc.yml",
|
|
380
372
|
_browserslistrc: ".browserslistrc",
|
|
381
373
|
"_commitlintrc.json": ".commitlintrc.json",
|
|
382
374
|
_editorconfig: ".editorconfig",
|
|
383
375
|
_env: ".env",
|
|
376
|
+
"_env.local": ".env.local",
|
|
384
377
|
_eslintignore: ".eslintignore",
|
|
385
378
|
_prettierignore: ".prettierignore",
|
|
386
379
|
_prettierrc: ".prettierrc",
|
|
@@ -397,23 +390,23 @@ function W(e) {
|
|
|
397
390
|
function v(e) {
|
|
398
391
|
return e.trim().toLowerCase().replace(/\s+/g, "-").replace(/^[._]/, "").replace(/[^a-z0-9-~]+/g, "-");
|
|
399
392
|
}
|
|
400
|
-
function
|
|
393
|
+
function Cn(e) {
|
|
401
394
|
return e.trim().toLowerCase().replace(/\/+/g, "/").replace(/[^a-z0-9/-]+/g, "/").replace(/\/?$/, "/");
|
|
402
395
|
}
|
|
403
396
|
function me(e) {
|
|
404
397
|
if (u.existsSync(e))
|
|
405
|
-
u.readdirSync(e).forEach((
|
|
406
|
-
const
|
|
407
|
-
u.lstatSync(
|
|
398
|
+
u.readdirSync(e).forEach((r) => {
|
|
399
|
+
const n = i.join(e, r);
|
|
400
|
+
u.lstatSync(n).isDirectory() ? me(n) : u.unlinkSync(n);
|
|
408
401
|
});
|
|
409
402
|
else
|
|
410
403
|
return;
|
|
411
404
|
}
|
|
412
|
-
function
|
|
413
|
-
const
|
|
414
|
-
return
|
|
405
|
+
function Rn(e) {
|
|
406
|
+
const r = u.readdirSync(e);
|
|
407
|
+
return r.length === 0 || r.length === 1 && r[0] === ".git";
|
|
415
408
|
}
|
|
416
|
-
const
|
|
409
|
+
const $n = [
|
|
417
410
|
{
|
|
418
411
|
name: "dynamic",
|
|
419
412
|
display: "Dynamic view modules boilerplate"
|
|
@@ -422,33 +415,33 @@ const kn = [
|
|
|
422
415
|
name: "classic",
|
|
423
416
|
display: "Classic view modules boilerplate"
|
|
424
417
|
}
|
|
425
|
-
],
|
|
418
|
+
], w = {
|
|
426
419
|
classic: ["classic-module"],
|
|
427
420
|
dynamic: ["dynamic-module"]
|
|
428
421
|
};
|
|
429
|
-
async function
|
|
422
|
+
async function jn() {
|
|
430
423
|
console.log(` ${s.bold(s.green(`
|
|
431
424
|
create-vc-app version: ${De.version}
|
|
432
425
|
`))}`);
|
|
433
426
|
const e = je();
|
|
434
|
-
let
|
|
435
|
-
const a =
|
|
427
|
+
let n = Re(Ae.slice(2))._[0];
|
|
428
|
+
const a = n || "vc-app", t = () => n === "." ? i.basename(i.resolve()) : n;
|
|
436
429
|
let c;
|
|
437
430
|
try {
|
|
438
431
|
c = await Ce(
|
|
439
432
|
[
|
|
440
433
|
{
|
|
441
434
|
name: "appName",
|
|
442
|
-
type:
|
|
435
|
+
type: n ? null : "text",
|
|
443
436
|
message: s.reset("Project name:"),
|
|
444
437
|
initial: a,
|
|
445
|
-
onState: (o) =>
|
|
438
|
+
onState: (o) => n = v(String(o.value).trim()) || a,
|
|
446
439
|
format: (o) => v(String(o).trim())
|
|
447
440
|
},
|
|
448
441
|
{
|
|
449
|
-
type: () => !u.existsSync(
|
|
442
|
+
type: () => !u.existsSync(n) || Rn(n) ? null : "confirm",
|
|
450
443
|
name: "overwrite",
|
|
451
|
-
message: () => (
|
|
444
|
+
message: () => (n === "." ? "Current directory" : `Target directory "${n}"`) + " is not empty. Remove existing files and continue?"
|
|
452
445
|
},
|
|
453
446
|
{
|
|
454
447
|
type: (o, { overwrite: h }) => {
|
|
@@ -470,13 +463,13 @@ create-vc-app version: ${De.version}
|
|
|
470
463
|
type: "text",
|
|
471
464
|
message: s.reset("Base path:"),
|
|
472
465
|
initial: () => "/apps/" + v(t()) + "/",
|
|
473
|
-
format: (o) =>
|
|
466
|
+
format: (o) => Cn(String(o).trim())
|
|
474
467
|
},
|
|
475
468
|
{
|
|
476
469
|
type: "select",
|
|
477
470
|
name: "variant",
|
|
478
471
|
message: s.reset("Select module variant:"),
|
|
479
|
-
choices:
|
|
472
|
+
choices: $n.map((o) => ({
|
|
480
473
|
title: o.display,
|
|
481
474
|
value: o.name
|
|
482
475
|
}))
|
|
@@ -485,7 +478,7 @@ create-vc-app version: ${De.version}
|
|
|
485
478
|
name: "moduleName",
|
|
486
479
|
type: "text",
|
|
487
480
|
message: s.reset("Module name:"),
|
|
488
|
-
initial: () =>
|
|
481
|
+
initial: () => k(t()),
|
|
489
482
|
format: (o) => String(o).trim()
|
|
490
483
|
},
|
|
491
484
|
{
|
|
@@ -502,42 +495,42 @@ create-vc-app version: ${De.version}
|
|
|
502
495
|
}
|
|
503
496
|
);
|
|
504
497
|
} catch (o) {
|
|
505
|
-
console.log(o.message),
|
|
498
|
+
console.log(o.message), ke(1);
|
|
506
499
|
}
|
|
507
|
-
const { packageName: ge, variant: g, moduleName: d, appName: U, basePath: xe, mocks: be } = c,
|
|
500
|
+
const { packageName: ge, variant: g, moduleName: d, appName: U, basePath: xe, mocks: be } = c, R = /* @__PURE__ */ new Map([
|
|
508
501
|
["{{ModuleName}}", v(d)],
|
|
509
502
|
["{{ModuleNamePascalCase}}", M(V(d))],
|
|
510
503
|
["{{ModuleNameUppercase}}", d.toUpperCase()],
|
|
511
|
-
["{{ModuleNameUppercaseSnakeCase}}",
|
|
512
|
-
["{{ModuleNameExports}}",
|
|
513
|
-
["{{ModuleNameSentenceCase}}",
|
|
504
|
+
["{{ModuleNameUppercaseSnakeCase}}", hn(d).toUpperCase()],
|
|
505
|
+
["{{ModuleNameExports}}", vn(V(d))],
|
|
506
|
+
["{{ModuleNameSentenceCase}}", k(d)],
|
|
514
507
|
["{{AppName}}", U],
|
|
515
|
-
["{{AppNameSentenceCase}}",
|
|
508
|
+
["{{AppNameSentenceCase}}", k(U)],
|
|
516
509
|
["{{BasePath}}", xe],
|
|
517
510
|
["{{PackageName}}", ge || t()]
|
|
518
|
-
]),
|
|
519
|
-
u.existsSync(
|
|
520
|
-
Scaffolding app in ${
|
|
521
|
-
const ye = i.resolve(
|
|
522
|
-
function
|
|
511
|
+
]), l = i.join(e, n);
|
|
512
|
+
u.existsSync(l) ? me(l) : u.existsSync(l) || u.mkdirSync(l), console.log(`
|
|
513
|
+
Scaffolding app in ${l}...`);
|
|
514
|
+
const ye = i.resolve($e(import.meta.url), "..", "templates");
|
|
515
|
+
function f(o, h = "") {
|
|
523
516
|
const E = i.resolve(ye, o), ve = u.readdirSync(E);
|
|
524
517
|
for (const x of ve) {
|
|
525
|
-
const
|
|
526
|
-
let S =
|
|
527
|
-
for (const [L, b] of
|
|
518
|
+
const $ = i.join(E, x);
|
|
519
|
+
let S = Sn[x] ?? x;
|
|
520
|
+
for (const [L, b] of R.entries()) {
|
|
528
521
|
const A = new RegExp(L, "g");
|
|
529
522
|
S = S.replace(A, b);
|
|
530
523
|
}
|
|
531
|
-
const j = i.join(
|
|
532
|
-
if (u.statSync(
|
|
533
|
-
u.mkdirSync(j, { recursive: !0 }),
|
|
524
|
+
const j = i.join(l, h, S);
|
|
525
|
+
if (u.statSync($).isDirectory())
|
|
526
|
+
u.mkdirSync(j, { recursive: !0 }), f(i.join(o, x), i.join(h, S));
|
|
534
527
|
else if ([".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".pdf", ".zip"].includes(
|
|
535
528
|
i.extname(x).toLowerCase()
|
|
536
529
|
))
|
|
537
|
-
u.copyFileSync(
|
|
530
|
+
u.copyFileSync($, j);
|
|
538
531
|
else {
|
|
539
|
-
let b = u.readFileSync(
|
|
540
|
-
for (const [A, he] of
|
|
532
|
+
let b = u.readFileSync($, "utf-8");
|
|
533
|
+
for (const [A, he] of R.entries()) {
|
|
541
534
|
const Se = new RegExp(A, "g");
|
|
542
535
|
b = b.replace(Se, he);
|
|
543
536
|
}
|
|
@@ -545,22 +538,22 @@ Scaffolding app in ${f}...`);
|
|
|
545
538
|
}
|
|
546
539
|
}
|
|
547
540
|
}
|
|
548
|
-
if (
|
|
549
|
-
|
|
550
|
-
}), be && (g === "dynamic" &&
|
|
551
|
-
|
|
552
|
-
}), g === "classic" &&
|
|
553
|
-
|
|
554
|
-
}),
|
|
541
|
+
if (f("base"), w[g].forEach((o) => {
|
|
542
|
+
f(`modules/${o}`, "src/modules/" + R.get("{{ModuleName}}"));
|
|
543
|
+
}), be && (g === "dynamic" && w[g].forEach((o) => {
|
|
544
|
+
f(`sample/${o}`, "src/modules/sample");
|
|
545
|
+
}), g === "classic" && w[g].forEach((o) => {
|
|
546
|
+
f(`sample/${o}`, "src/modules/sample");
|
|
547
|
+
}), f("mocks", "src/modules/sample"), f("sample/overrides", "src")), console.log(`
|
|
555
548
|
Done. You can now run application:
|
|
556
|
-
`),
|
|
557
|
-
const o = i.relative(e,
|
|
549
|
+
`), l !== e) {
|
|
550
|
+
const o = i.relative(e, l);
|
|
558
551
|
console.log(
|
|
559
552
|
` ${s.bold(s.green(`cd ${o.includes(" ") ? `"${o}"` : o}`))}`
|
|
560
553
|
);
|
|
561
554
|
}
|
|
562
555
|
console.log(` ${s.bold(s.green("yarn"))}`), console.log(` ${s.bold(s.green("yarn serve"))}`);
|
|
563
556
|
}
|
|
564
|
-
|
|
557
|
+
jn().catch((e) => {
|
|
565
558
|
console.error(e);
|
|
566
559
|
});
|
package/dist/templates/base/_env
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#APP_PLATFORM_URL=add_platform_url_here
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"@types/node": "^20.10.5",
|
|
24
24
|
"@typescript-eslint/eslint-plugin": "^6.16.0",
|
|
25
25
|
"@typescript-eslint/parser": "^6.16.0",
|
|
26
|
-
"@vc-shell/api-client-generator": "^1.0.
|
|
27
|
-
"@vc-shell/release-config": "^1.0.
|
|
28
|
-
"@vc-shell/ts-config": "^1.0.
|
|
26
|
+
"@vc-shell/api-client-generator": "^1.0.224",
|
|
27
|
+
"@vc-shell/release-config": "^1.0.224",
|
|
28
|
+
"@vc-shell/ts-config": "^1.0.224",
|
|
29
29
|
"@vitejs/plugin-vue": "^5.0.3",
|
|
30
30
|
"@vue/eslint-config-prettier": "^9.0.0",
|
|
31
31
|
"@vue/eslint-config-typescript": "^12.0.0",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@fortawesome/fontawesome-free": "^5.15.3",
|
|
58
|
-
"@vc-shell/config-generator": "^1.0.
|
|
59
|
-
"@vc-shell/framework": "^1.0.
|
|
58
|
+
"@vc-shell/config-generator": "^1.0.224",
|
|
59
|
+
"@vc-shell/framework": "^1.0.224",
|
|
60
60
|
"@vueuse/core": "^10.7.1",
|
|
61
61
|
"@vueuse/integrations": "^10.7.1",
|
|
62
62
|
"cross-spawn": "^7.0.3",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed, ref, Ref } from "vue";
|
|
2
|
-
import { DetailsBaseBladeScope,
|
|
2
|
+
import { DetailsBaseBladeScope, IBladeToolbar, useDetailsFactory, DetailsComposableArgs } from "@vc-shell/framework";
|
|
3
3
|
|
|
4
4
|
export interface DynamicItemScope extends DetailsBaseBladeScope {
|
|
5
5
|
toolbarOverrides: {
|
|
@@ -7,11 +7,7 @@ export interface DynamicItemScope extends DetailsBaseBladeScope {
|
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export default (args: {
|
|
11
|
-
props: InstanceType<typeof DynamicBladeForm>["$props"];
|
|
12
|
-
emit: InstanceType<typeof DynamicBladeForm>["$emit"];
|
|
13
|
-
mounted: Ref<boolean>;
|
|
14
|
-
}) => {
|
|
10
|
+
export default (args: DetailsComposableArgs) => {
|
|
15
11
|
const factory = useDetailsFactory({
|
|
16
12
|
load: async () => {
|
|
17
13
|
return {};
|
package/dist/templates/modules/dynamic-module/composables/use{{ModuleNamePascalCase}}List/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, ref, Ref } from "vue";
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
ListComposableArgs,
|
|
4
4
|
ListBaseBladeScope,
|
|
5
5
|
useBladeNavigation,
|
|
6
6
|
useListFactory,
|
|
@@ -10,11 +10,7 @@ import {
|
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
11
11
|
export interface DynamicItemsScope extends ListBaseBladeScope {}
|
|
12
12
|
|
|
13
|
-
export default (args: {
|
|
14
|
-
props: InstanceType<typeof DynamicBladeList>["$props"];
|
|
15
|
-
emit: InstanceType<typeof DynamicBladeList>["$emit"];
|
|
16
|
-
mounted: Ref<boolean>;
|
|
17
|
-
}) => {
|
|
13
|
+
export default (args: ListComposableArgs) => {
|
|
18
14
|
const factory = useListFactory({
|
|
19
15
|
load: async () => {
|
|
20
16
|
return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computed, ref, Ref } from "vue";
|
|
2
|
-
import { DetailsBaseBladeScope,
|
|
2
|
+
import { DetailsBaseBladeScope, DetailsComposableArgs, UseDetails, useDetailsFactory } from "@vc-shell/framework";
|
|
3
3
|
import { addNewMockItem, loadMockItem, removeMockItem, updateMockItem } from "../../sample-data/methods";
|
|
4
4
|
import { currencyOptions, MockedItem } from "../../sample-data";
|
|
5
5
|
import { useI18n } from "vue-i18n";
|
|
@@ -8,11 +8,7 @@ export interface DynamicItemScope extends DetailsBaseBladeScope {
|
|
|
8
8
|
currencyOptions: typeof currencyOptions;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
export default (args: {
|
|
12
|
-
props: InstanceType<typeof DynamicBladeForm>["$props"];
|
|
13
|
-
emit: InstanceType<typeof DynamicBladeForm>["$emit"];
|
|
14
|
-
mounted: Ref<boolean>;
|
|
15
|
-
}): UseDetails<MockedItem, DynamicItemScope> => {
|
|
11
|
+
export default (args: DetailsComposableArgs): UseDetails<MockedItem, DynamicItemScope> => {
|
|
16
12
|
const factory = useDetailsFactory<MockedItem>({
|
|
17
13
|
load: loadMockItem,
|
|
18
14
|
saveChanges: (details) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, ref, Ref } from "vue";
|
|
2
2
|
import {
|
|
3
|
-
|
|
3
|
+
ListComposableArgs,
|
|
4
4
|
ListBaseBladeScope,
|
|
5
5
|
useBladeNavigation,
|
|
6
6
|
useListFactory,
|
|
@@ -13,11 +13,7 @@ import { MockedItem, MockedQuery } from "../../sample-data";
|
|
|
13
13
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
14
14
|
export interface DynamicItemsScope extends ListBaseBladeScope {}
|
|
15
15
|
|
|
16
|
-
export default (args: {
|
|
17
|
-
props: InstanceType<typeof DynamicBladeList>["$props"];
|
|
18
|
-
emit: InstanceType<typeof DynamicBladeList>["$emit"];
|
|
19
|
-
mounted: Ref<boolean>;
|
|
20
|
-
}): UseList<MockedItem[], MockedQuery, DynamicItemsScope> => {
|
|
16
|
+
export default (args: ListComposableArgs): UseList<MockedItem[], MockedQuery, DynamicItemsScope> => {
|
|
21
17
|
const factory = useListFactory<MockedItem[], MockedQuery>({
|
|
22
18
|
load: loadMockItemsList,
|
|
23
19
|
remove: async (query, customQuery) => {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vc-shell/create-vc-app",
|
|
3
3
|
"description": "Application scaffolding",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.224",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": "./dist/index.js",
|
|
7
7
|
"files": [
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@types/prompts": "^2.4.4",
|
|
16
|
-
"@vc-shell/ts-config": "^1.0.
|
|
16
|
+
"@vc-shell/ts-config": "^1.0.224",
|
|
17
17
|
"copyfiles": "^2.4.1",
|
|
18
18
|
"cross-env": "^7.0.3",
|
|
19
19
|
"shx": "^0.3.4",
|