@vc-shell/create-vc-app 1.0.189 → 1.0.191

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/index.js +476 -114
  3. package/dist/templates/base/_env +1 -1
  4. package/dist/templates/base/{package.json → _package.json} +6 -7
  5. package/dist/templates/base/_vscode/extensions.json +0 -2
  6. package/dist/templates/base/index.html +1 -1
  7. package/dist/templates/base/src/composables/index.ts +1 -1
  8. package/dist/templates/base/src/locales/en.json +1 -9
  9. package/dist/templates/{variants/dynamic → base}/src/main.ts +3 -6
  10. package/dist/templates/base/src/pages/App.vue +4 -14
  11. package/dist/templates/base/src/router/routes.ts +8 -12
  12. package/dist/templates/base/vite.config.mts +3 -3
  13. package/dist/templates/modules/classic-module/composables/index.ts +2 -2
  14. package/dist/templates/modules/classic-module/composables/{useDetails → use{{ModuleNamePascalCase}}Details}/index.ts +4 -5
  15. package/dist/templates/modules/classic-module/composables/{useList → use{{ModuleNamePascalCase}}List}/index.ts +4 -6
  16. package/dist/templates/modules/classic-module/index.ts +0 -1
  17. package/dist/templates/modules/classic-module/locales/en.json +8 -26
  18. package/dist/templates/modules/classic-module/pages/details.vue +9 -34
  19. package/dist/templates/modules/classic-module/pages/list.vue +16 -111
  20. package/dist/templates/modules/dynamic-module/composables/index.ts +2 -2
  21. package/dist/templates/modules/dynamic-module/composables/{useDetails → use{{ModuleNamePascalCase}}Details}/index.ts +5 -16
  22. package/dist/templates/modules/dynamic-module/composables/{useList → use{{ModuleNamePascalCase}}List}/index.ts +14 -9
  23. package/dist/templates/modules/dynamic-module/index.ts +2 -3
  24. package/dist/templates/modules/dynamic-module/locales/en.json +4 -18
  25. package/dist/templates/modules/dynamic-module/pages/details.ts +5 -24
  26. package/dist/templates/modules/dynamic-module/pages/index.ts +3 -3
  27. package/dist/templates/modules/dynamic-module/pages/list.ts +8 -38
  28. package/package.json +2 -2
  29. package/dist/templates/base/src/bootstrap.ts +0 -15
  30. package/dist/templates/base/src/composables/useLogin/index.ts +0 -17
  31. package/dist/templates/base/src/modules/mocks.ts +0 -50
  32. package/dist/templates/base/src/pages/Dashboard.vue +0 -38
  33. package/dist/templates/modules/classic-module/components/index.ts +0 -1
  34. package/dist/templates/modules/dynamic-module/components/DynamicItemsMobileGridView.vue +0 -39
  35. package/dist/templates/modules/dynamic-module/components/index.ts +0 -3
  36. package/dist/templates/variants/both/src/main.ts +0 -56
  37. package/dist/templates/variants/classic/src/main.ts +0 -53
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [1.0.191](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.190...v1.0.191) (2024-04-09)
2
+
3
+
4
+
5
+ ## [1.0.190](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.189...v1.0.190) (2024-04-03)
6
+
7
+
8
+ ### Features
9
+
10
+ * **create-vc-app:** updated scaffold app, new prompts and removed redundant mocks ([e7a5b98](https://github.com/VirtoCommerce/vc-shell/commit/e7a5b98e8dcaf417841819677b0f4af0ee8ca0a9))
11
+
12
+
13
+
1
14
  ## [1.0.189](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.188...v1.0.189) (2024-03-26)
2
15
 
3
16
 
package/dist/index.js CHANGED
@@ -1,46 +1,380 @@
1
1
  #!/usr/bin/env node
2
- import $ from "prompts";
3
- import x from "mri";
4
- import o from "chalk";
5
- import s from "node:path";
6
- import i from "node:fs";
7
- import { fileURLToPath as C } from "node:url";
8
- import { cwd as N, argv as D, exit as P } from "node:process";
9
- const F = "@vc-shell/create-vc-app", z = "Application scaffolding", E = "1.0.189", M = "module", R = "./dist/index.js", A = [
2
+ import Se from "prompts";
3
+ import he from "mri";
4
+ import u from "chalk";
5
+ import i from "node:path";
6
+ import s from "node:fs";
7
+ import { fileURLToPath as Ce } from "node:url";
8
+ import { cwd as $e, argv as Re, exit as je } from "node:process";
9
+ const Ae = "@vc-shell/create-vc-app", we = "Application scaffolding", ke = "1.0.191", Oe = "module", Ne = "./dist/index.js", Me = [
10
10
  "dist"
11
- ], O = {
11
+ ], Te = {
12
12
  build: "vite build && yarn postbuild",
13
13
  postbuild: "shx cp -R src/templates dist/"
14
- }, V = {
14
+ }, Ue = {
15
15
  "@types/prompts": "^2.4.4",
16
- "@vc-shell/ts-config": "^1.0.189",
16
+ "@vc-shell/ts-config": "^1.0.191",
17
17
  copyfiles: "^2.4.1",
18
18
  "cross-env": "^7.0.3",
19
19
  shx: "^0.3.4",
20
20
  typescript: "^5.3.3"
21
- }, J = {
21
+ }, Ee = {
22
22
  chalk: "^2.4.2",
23
23
  mri: "^1.2.0",
24
24
  prompts: "^2.4.2",
25
25
  tslib: "^2.5.3",
26
26
  vite: "^5.0.11",
27
27
  "vite-plugin-dts": "^3.6.4"
28
- }, L = {
28
+ }, Le = {
29
29
  access: "public",
30
30
  registry: "https://registry.npmjs.org/"
31
- }, T = "yarn@4.0.2", I = {
32
- name: F,
33
- description: z,
34
- version: E,
35
- type: M,
36
- bin: R,
37
- files: A,
38
- scripts: O,
39
- devDependencies: V,
40
- dependencies: J,
41
- publishConfig: L,
42
- packageManager: T
43
- }, k = {
31
+ }, _e = "yarn@4.0.2", Pe = {
32
+ name: Ae,
33
+ description: we,
34
+ version: ke,
35
+ type: Oe,
36
+ bin: Ne,
37
+ files: Me,
38
+ scripts: Te,
39
+ devDependencies: Ue,
40
+ dependencies: Ee,
41
+ publishConfig: Le,
42
+ packageManager: _e
43
+ };
44
+ var ze = typeof global == "object" && global && global.Object === Object && global, De = typeof self == "object" && self && self.Object === Object && self, Fe = ze || De || Function("return this")(), p = Fe.Symbol, V = Object.prototype, Ie = V.hasOwnProperty, Ze = V.toString, x = p ? p.toStringTag : void 0;
45
+ function Ve(e) {
46
+ var n = Ie.call(e, x), r = e[x];
47
+ try {
48
+ e[x] = void 0;
49
+ var a = !0;
50
+ } catch {
51
+ }
52
+ var t = Ze.call(e);
53
+ return a && (n ? e[x] = r : delete e[x]), t;
54
+ }
55
+ var We = Object.prototype, He = We.toString;
56
+ function Be(e) {
57
+ return He.call(e);
58
+ }
59
+ var Je = "[object Null]", Ge = "[object Undefined]", E = p ? p.toStringTag : void 0;
60
+ function Ye(e) {
61
+ return e == null ? e === void 0 ? Ge : Je : E && E in Object(e) ? Ve(e) : Be(e);
62
+ }
63
+ function qe(e) {
64
+ return e != null && typeof e == "object";
65
+ }
66
+ var Ke = "[object Symbol]";
67
+ function Qe(e) {
68
+ return typeof e == "symbol" || qe(e) && Ye(e) == Ke;
69
+ }
70
+ function Xe(e, n) {
71
+ for (var r = -1, a = e == null ? 0 : e.length, t = Array(a); ++r < a; )
72
+ t[r] = n(e[r], r, e);
73
+ return t;
74
+ }
75
+ var er = Array.isArray, rr = 1 / 0, L = p ? p.prototype : void 0, _ = L ? L.toString : void 0;
76
+ function W(e) {
77
+ if (typeof e == "string")
78
+ return e;
79
+ if (er(e))
80
+ return Xe(e, W) + "";
81
+ if (Qe(e))
82
+ return _ ? _.call(e) : "";
83
+ var n = e + "";
84
+ return n == "0" && 1 / e == -rr ? "-0" : n;
85
+ }
86
+ function S(e) {
87
+ return e == null ? "" : W(e);
88
+ }
89
+ function nr(e, n, r) {
90
+ var a = -1, t = e.length;
91
+ n < 0 && (n = -n > t ? 0 : t + n), r = r > t ? t : r, r < 0 && (r += t), t = n > r ? 0 : r - n >>> 0, n >>>= 0;
92
+ for (var c = Array(t); ++a < t; )
93
+ c[a] = e[a + n];
94
+ return c;
95
+ }
96
+ function tr(e, n, r) {
97
+ var a = e.length;
98
+ return r = r === void 0 ? a : r, !n && r >= a ? e : nr(e, n, r);
99
+ }
100
+ var or = "\\ud800-\\udfff", ar = "\\u0300-\\u036f", ur = "\\ufe20-\\ufe2f", sr = "\\u20d0-\\u20ff", ir = ar + ur + sr, cr = "\\ufe0e\\ufe0f", fr = "\\u200d", lr = RegExp("[" + fr + or + ir + cr + "]");
101
+ function H(e) {
102
+ return lr.test(e);
103
+ }
104
+ function dr(e) {
105
+ return e.split("");
106
+ }
107
+ var B = "\\ud800-\\udfff", pr = "\\u0300-\\u036f", gr = "\\ufe20-\\ufe2f", mr = "\\u20d0-\\u20ff", xr = pr + gr + mr, br = "\\ufe0e\\ufe0f", yr = "[" + B + "]", w = "[" + xr + "]", k = "\\ud83c[\\udffb-\\udfff]", vr = "(?:" + w + "|" + k + ")", J = "[^" + B + "]", G = "(?:\\ud83c[\\udde6-\\uddff]){2}", Y = "[\\ud800-\\udbff][\\udc00-\\udfff]", Sr = "\\u200d", q = vr + "?", K = "[" + br + "]?", hr = "(?:" + Sr + "(?:" + [J, G, Y].join("|") + ")" + K + q + ")*", Cr = K + q + hr, $r = "(?:" + [J + w + "?", w, G, Y, yr].join("|") + ")", Rr = RegExp(k + "(?=" + k + ")|" + $r + Cr, "g");
108
+ function jr(e) {
109
+ return e.match(Rr) || [];
110
+ }
111
+ function Ar(e) {
112
+ return H(e) ? jr(e) : dr(e);
113
+ }
114
+ function Q(e) {
115
+ return function(n) {
116
+ n = S(n);
117
+ var r = H(n) ? Ar(n) : void 0, a = r ? r[0] : n.charAt(0), t = r ? tr(r, 1).join("") : n.slice(1);
118
+ return a[e]() + t;
119
+ };
120
+ }
121
+ var wr = Q("toUpperCase");
122
+ const O = wr;
123
+ function kr(e) {
124
+ return O(S(e).toLowerCase());
125
+ }
126
+ function Or(e, n, r, a) {
127
+ var t = -1, c = e == null ? 0 : e.length;
128
+ for (a && c && (r = e[++t]); ++t < c; )
129
+ r = n(r, e[t], t, e);
130
+ return r;
131
+ }
132
+ function Nr(e) {
133
+ return function(n) {
134
+ return e?.[n];
135
+ };
136
+ }
137
+ var Mr = {
138
+ // Latin-1 Supplement block.
139
+ À: "A",
140
+ Á: "A",
141
+ Â: "A",
142
+ Ã: "A",
143
+ Ä: "A",
144
+ Å: "A",
145
+ à: "a",
146
+ á: "a",
147
+ â: "a",
148
+ ã: "a",
149
+ ä: "a",
150
+ å: "a",
151
+ Ç: "C",
152
+ ç: "c",
153
+ Ð: "D",
154
+ ð: "d",
155
+ È: "E",
156
+ É: "E",
157
+ Ê: "E",
158
+ Ë: "E",
159
+ è: "e",
160
+ é: "e",
161
+ ê: "e",
162
+ ë: "e",
163
+ Ì: "I",
164
+ Í: "I",
165
+ Î: "I",
166
+ Ï: "I",
167
+ ì: "i",
168
+ í: "i",
169
+ î: "i",
170
+ ï: "i",
171
+ Ñ: "N",
172
+ ñ: "n",
173
+ Ò: "O",
174
+ Ó: "O",
175
+ Ô: "O",
176
+ Õ: "O",
177
+ Ö: "O",
178
+ Ø: "O",
179
+ ò: "o",
180
+ ó: "o",
181
+ ô: "o",
182
+ õ: "o",
183
+ ö: "o",
184
+ ø: "o",
185
+ Ù: "U",
186
+ Ú: "U",
187
+ Û: "U",
188
+ Ü: "U",
189
+ ù: "u",
190
+ ú: "u",
191
+ û: "u",
192
+ ü: "u",
193
+ Ý: "Y",
194
+ ý: "y",
195
+ ÿ: "y",
196
+ Æ: "Ae",
197
+ æ: "ae",
198
+ Þ: "Th",
199
+ þ: "th",
200
+ ß: "ss",
201
+ // Latin Extended-A block.
202
+ Ā: "A",
203
+ Ă: "A",
204
+ Ą: "A",
205
+ ā: "a",
206
+ ă: "a",
207
+ ą: "a",
208
+ Ć: "C",
209
+ Ĉ: "C",
210
+ Ċ: "C",
211
+ Č: "C",
212
+ ć: "c",
213
+ ĉ: "c",
214
+ ċ: "c",
215
+ č: "c",
216
+ Ď: "D",
217
+ Đ: "D",
218
+ ď: "d",
219
+ đ: "d",
220
+ Ē: "E",
221
+ Ĕ: "E",
222
+ Ė: "E",
223
+ Ę: "E",
224
+ Ě: "E",
225
+ ē: "e",
226
+ ĕ: "e",
227
+ ė: "e",
228
+ ę: "e",
229
+ ě: "e",
230
+ Ĝ: "G",
231
+ Ğ: "G",
232
+ Ġ: "G",
233
+ Ģ: "G",
234
+ ĝ: "g",
235
+ ğ: "g",
236
+ ġ: "g",
237
+ ģ: "g",
238
+ Ĥ: "H",
239
+ Ħ: "H",
240
+ ĥ: "h",
241
+ ħ: "h",
242
+ Ĩ: "I",
243
+ Ī: "I",
244
+ Ĭ: "I",
245
+ Į: "I",
246
+ İ: "I",
247
+ ĩ: "i",
248
+ ī: "i",
249
+ ĭ: "i",
250
+ į: "i",
251
+ ı: "i",
252
+ Ĵ: "J",
253
+ ĵ: "j",
254
+ Ķ: "K",
255
+ ķ: "k",
256
+ ĸ: "k",
257
+ Ĺ: "L",
258
+ Ļ: "L",
259
+ Ľ: "L",
260
+ Ŀ: "L",
261
+ Ł: "L",
262
+ ĺ: "l",
263
+ ļ: "l",
264
+ ľ: "l",
265
+ ŀ: "l",
266
+ ł: "l",
267
+ Ń: "N",
268
+ Ņ: "N",
269
+ Ň: "N",
270
+ Ŋ: "N",
271
+ ń: "n",
272
+ ņ: "n",
273
+ ň: "n",
274
+ ŋ: "n",
275
+ Ō: "O",
276
+ Ŏ: "O",
277
+ Ő: "O",
278
+ ō: "o",
279
+ ŏ: "o",
280
+ ő: "o",
281
+ Ŕ: "R",
282
+ Ŗ: "R",
283
+ Ř: "R",
284
+ ŕ: "r",
285
+ ŗ: "r",
286
+ ř: "r",
287
+ Ś: "S",
288
+ Ŝ: "S",
289
+ Ş: "S",
290
+ Š: "S",
291
+ ś: "s",
292
+ ŝ: "s",
293
+ ş: "s",
294
+ š: "s",
295
+ Ţ: "T",
296
+ Ť: "T",
297
+ Ŧ: "T",
298
+ ţ: "t",
299
+ ť: "t",
300
+ ŧ: "t",
301
+ Ũ: "U",
302
+ Ū: "U",
303
+ Ŭ: "U",
304
+ Ů: "U",
305
+ Ű: "U",
306
+ Ų: "U",
307
+ ũ: "u",
308
+ ū: "u",
309
+ ŭ: "u",
310
+ ů: "u",
311
+ ű: "u",
312
+ ų: "u",
313
+ Ŵ: "W",
314
+ ŵ: "w",
315
+ Ŷ: "Y",
316
+ ŷ: "y",
317
+ Ÿ: "Y",
318
+ Ź: "Z",
319
+ Ż: "Z",
320
+ Ž: "Z",
321
+ ź: "z",
322
+ ż: "z",
323
+ ž: "z",
324
+ IJ: "IJ",
325
+ ij: "ij",
326
+ Œ: "Oe",
327
+ œ: "oe",
328
+ ʼn: "'n",
329
+ ſ: "s"
330
+ }, Tr = Nr(Mr);
331
+ const Ur = Tr;
332
+ var 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 + "]", Fr = RegExp(Dr, "g");
333
+ function Ir(e) {
334
+ return e = S(e), e && e.replace(Er, Ur).replace(Fr, "");
335
+ }
336
+ var Zr = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
337
+ function Vr(e) {
338
+ return e.match(Zr) || [];
339
+ }
340
+ 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 ]/;
341
+ function Hr(e) {
342
+ return Wr.test(e);
343
+ }
344
+ var X = "\\ud800-\\udfff", Br = "\\u0300-\\u036f", Jr = "\\ufe20-\\ufe2f", Gr = "\\u20d0-\\u20ff", Yr = Br + Jr + Gr, ee = "\\u2700-\\u27bf", re = "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", ne = "A-Z\\xc0-\\xd6\\xd8-\\xde", en = "\\ufe0e\\ufe0f", te = qr + Kr + Qr + Xr, oe = "['’]", P = "[" + te + "]", rn = "[" + Yr + "]", ae = "\\d+", nn = "[" + ee + "]", ue = "[" + re + "]", se = "[^" + X + te + ae + ee + re + ne + "]", tn = "\\ud83c[\\udffb-\\udfff]", on = "(?:" + rn + "|" + tn + ")", an = "[^" + X + "]", ie = "(?:\\ud83c[\\udde6-\\uddff]){2}", ce = "[\\ud800-\\udbff][\\udc00-\\udfff]", d = "[" + ne + "]", un = "\\u200d", z = "(?:" + ue + "|" + se + ")", sn = "(?:" + d + "|" + se + ")", D = "(?:" + oe + "(?:d|ll|m|re|s|t|ve))?", F = "(?:" + oe + "(?:D|LL|M|RE|S|T|VE))?", fe = on + "?", le = "[" + en + "]?", cn = "(?:" + un + "(?:" + [an, ie, ce].join("|") + ")" + le + fe + ")*", fn = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", ln = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", dn = le + fe + cn, pn = "(?:" + [nn, ie, ce].join("|") + ")" + dn, gn = RegExp([
345
+ d + "?" + ue + "+" + D + "(?=" + [P, d, "$"].join("|") + ")",
346
+ sn + "+" + F + "(?=" + [P, d + z, "$"].join("|") + ")",
347
+ d + "?" + z + "+" + D,
348
+ d + "+" + F,
349
+ ln,
350
+ fn,
351
+ ae,
352
+ pn
353
+ ].join("|"), "g");
354
+ function mn(e) {
355
+ return e.match(gn) || [];
356
+ }
357
+ function xn(e, n, r) {
358
+ return e = S(e), n = r ? void 0 : n, n === void 0 ? Hr(e) ? mn(e) : Vr(e) : e.match(n) || [];
359
+ }
360
+ var bn = "['’]", yn = RegExp(bn, "g");
361
+ function N(e) {
362
+ return function(n) {
363
+ return Or(xn(Ir(n).replace(yn, "")), e, "");
364
+ };
365
+ }
366
+ var vn = N(function(e, n, r) {
367
+ return n = n.toLowerCase(), e + (r ? kr(n) : n);
368
+ });
369
+ const I = vn;
370
+ var Sn = Q("toLowerCase");
371
+ const hn = Sn;
372
+ var Cn = N(function(e, n, r) {
373
+ return e + (r ? "_" : "") + n.toLowerCase();
374
+ }), A = N(function(e, n, r) {
375
+ return e + (r ? " " : "") + O(n);
376
+ });
377
+ const $n = {
44
378
  _gitignore: ".gitignore",
45
379
  "_yarnrc.yml": ".yarnrc.yml",
46
380
  _browserslistrc: ".browserslistrc",
@@ -54,141 +388,169 @@ const F = "@vc-shell/create-vc-app", z = "Application scaffolding", E = "1.0.189
54
388
  _github: ".github",
55
389
  _husky: ".husky",
56
390
  _vscode: ".vscode",
57
- _yarn: ".yarn"
391
+ _yarn: ".yarn",
392
+ "_package.json": "package.json"
58
393
  };
59
- function _(t) {
60
- return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(t);
61
- }
62
- function f(t) {
63
- return t.trim().toLowerCase().replace(/\s+/g, "-").replace(/^[._]/, "").replace(/[^a-z0-9-~]+/g, "-");
394
+ function Z(e) {
395
+ return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(e);
64
396
  }
65
- function U(t) {
66
- i.existsSync(t);
397
+ function b(e) {
398
+ return e.trim().toLowerCase().replace(/\s+/g, "-").replace(/^[._]/, "").replace(/[^a-z0-9-~]+/g, "-");
67
399
  }
68
- function Y(t) {
69
- const r = i.readdirSync(t);
70
- return r.length === 0 || r.length === 1 && r[0] === ".git";
400
+ function Rn(e) {
401
+ return e.trim().toLowerCase().replace(/\/+/g, "/").replace(/[^a-z0-9/-]+/g, "/").replace(/\/?$/, "/");
71
402
  }
72
- function u(t, r) {
73
- i.statSync(t).isDirectory() ? q(t, r) : i.copyFileSync(t, r);
403
+ function de(e) {
404
+ if (s.existsSync(e))
405
+ s.readdirSync(e).forEach((n) => {
406
+ const r = i.join(e, n);
407
+ s.lstatSync(r).isDirectory() ? de(r) : s.unlinkSync(r);
408
+ });
409
+ else
410
+ return;
74
411
  }
75
- function q(t, r) {
76
- i.mkdirSync(r, { recursive: !0 });
77
- for (const n of i.readdirSync(t)) {
78
- const y = s.resolve(t, n), m = s.resolve(r, n);
79
- u(y, m);
80
- }
412
+ function jn(e) {
413
+ const n = s.readdirSync(e);
414
+ return n.length === 0 || n.length === 1 && n[0] === ".git";
81
415
  }
82
- const B = [
83
- {
84
- name: "classic",
85
- display: "Classic modules boilerplate"
86
- },
416
+ const An = [
87
417
  {
88
418
  name: "dynamic",
89
- display: "Dynamic modules boilerplate"
419
+ display: "Dynamic view modules boilerplate"
90
420
  },
91
421
  {
92
- name: "both",
93
- display: "Classic modules + Dynamic modules boilerplate"
422
+ name: "classic",
423
+ display: "Classic view modules boilerplate"
94
424
  }
95
- ], G = {
96
- both: "variants/both",
97
- classic: "variants/classic",
98
- dynamic: "variants/dynamic"
99
- }, H = {
100
- both: ["classic-module", "dynamic-module"],
425
+ ], wn = {
101
426
  classic: ["classic-module"],
102
427
  dynamic: ["dynamic-module"]
103
428
  };
104
- async function K() {
105
- console.log(` ${o.bold(o.green(`
106
- create-vc-app version: ${I.version}
429
+ async function kn() {
430
+ console.log(` ${u.bold(u.green(`
431
+ create-vc-app version: ${Pe.version}
107
432
  `))}`);
108
- const t = N();
109
- let n = x(D.slice(2))._[0];
110
- const y = n || "vc-app", m = () => n === "." ? s.basename(s.resolve()) : n;
111
- let v;
433
+ const e = $e();
434
+ let r = he(Re.slice(2))._[0];
435
+ const a = r || "vc-app", t = () => r === "." ? i.basename(i.resolve()) : r;
436
+ let c;
112
437
  try {
113
- v = await $(
438
+ c = await Se(
114
439
  [
115
440
  {
116
441
  name: "appName",
117
- type: n ? null : "text",
118
- message: o.reset("Project name:"),
119
- initial: y,
120
- onState: (e) => n = f(String(e.value).trim()) || y,
121
- format: (e) => f(String(e).trim())
442
+ type: r ? null : "text",
443
+ message: u.reset("Project name:"),
444
+ initial: a,
445
+ onState: (o) => r = b(String(o.value).trim()) || a,
446
+ format: (o) => b(String(o).trim())
122
447
  },
123
448
  {
124
- type: () => !i.existsSync(n) || Y(n) ? null : "confirm",
449
+ type: () => !s.existsSync(r) || jn(r) ? null : "confirm",
125
450
  name: "overwrite",
126
- message: () => (n === "." ? "Current directory" : `Target directory "${n}"`) + " is not empty. Remove existing files and continue?"
451
+ message: () => (r === "." ? "Current directory" : `Target directory "${r}"`) + " is not empty. Remove existing files and continue?"
127
452
  },
128
453
  {
129
- type: (e, { overwrite: l }) => {
130
- if (l === !1)
131
- throw new Error(o.red("✖") + " Operation cancelled");
454
+ type: (o, { overwrite: y }) => {
455
+ if (y === !1)
456
+ throw new Error(u.red("✖") + " Operation cancelled");
132
457
  return null;
133
458
  },
134
459
  name: "overwriteChecker"
135
460
  },
136
461
  {
137
462
  name: "packageName",
138
- type: () => _(m()) ? null : "text",
139
- message: o.reset("Package name:"),
140
- initial: () => f(m()),
141
- validate: (e) => _(e) || "Invalid package.json name"
463
+ type: () => Z(t()) ? null : "text",
464
+ message: u.reset("Package name:"),
465
+ initial: () => b(t()),
466
+ validate: (o) => Z(o) || "Invalid package.json name"
467
+ },
468
+ {
469
+ name: "basePath",
470
+ type: "text",
471
+ message: u.reset("Base path:"),
472
+ initial: () => "/apps/" + b(t()) + "/",
473
+ format: (o) => Rn(String(o).trim())
142
474
  },
143
475
  {
144
476
  type: "select",
145
477
  name: "variant",
146
- message: o.reset("Select module variant:"),
147
- choices: B.map((e) => ({
148
- title: e.display,
149
- value: e.name
478
+ message: u.reset("Select module variant:"),
479
+ choices: An.map((o) => ({
480
+ title: o.display,
481
+ value: o.name
150
482
  }))
483
+ },
484
+ {
485
+ name: "moduleName",
486
+ type: "text",
487
+ message: u.reset("Module name:"),
488
+ initial: () => A(t()),
489
+ format: (o) => String(o).trim()
151
490
  }
152
491
  ],
153
492
  {
154
493
  onCancel: () => {
155
- throw new Error(o.red("✖") + " Creation cancelled");
494
+ throw new Error(u.red("✖") + " Creation cancelled");
156
495
  }
157
496
  }
158
497
  );
159
- } catch (e) {
160
- console.log(e.message), P(1);
498
+ } catch (o) {
499
+ console.log(o.message), je(1);
161
500
  }
162
- const { packageName: w, variant: h } = v, c = s.join(t, n);
163
- i.existsSync(c) ? U(c) : i.existsSync(c) || i.mkdirSync(c), console.log(`
164
- Scaffolding app in ${c}...`);
165
- const d = s.resolve(C(import.meta.url), "..", "templates"), b = (e, l, p) => {
166
- const a = s.join(c, k[e] ?? e);
167
- p ? i.writeFileSync(a, p) : u(s.join(d, l, e), a);
168
- }, S = (e) => {
169
- const l = s.resolve(d, e), p = i.readdirSync(l);
170
- for (const a of p.filter((g) => g !== "package.json"))
171
- b(a, e);
172
- };
173
- S("base"), S(G[h]), H[h].forEach((e) => {
174
- const l = s.resolve(d, `modules/${e}`), p = i.readdirSync(l);
175
- for (const a of p.filter((g) => g !== "package.json")) {
176
- const g = s.join(c, "src", "modules", e, k[a] ?? a);
177
- u(s.join(d, `modules/${e}`, a), g);
501
+ const { packageName: pe, variant: ge, moduleName: l, appName: M, basePath: me } = c, h = /* @__PURE__ */ new Map([
502
+ ["{{ModuleName}}", b(l)],
503
+ ["{{ModuleNamePascalCase}}", O(I(l))],
504
+ ["{{ModuleNameUppercase}}", l.toUpperCase()],
505
+ ["{{ModuleNameUppercaseSnakeCase}}", Cn(l).toUpperCase()],
506
+ ["{{ModuleNameExports}}", hn(I(l))],
507
+ ["{{ModuleNameSentenceCase}}", A(l)],
508
+ ["{{AppName}}", M],
509
+ ["{{AppNameSentenceCase}}", A(M)],
510
+ ["{{BasePath}}", me],
511
+ ["{{PackageName}}", pe || t()]
512
+ ]), f = i.join(e, r);
513
+ s.existsSync(f) ? de(f) : s.existsSync(f) || s.mkdirSync(f), console.log(`
514
+ Scaffolding app in ${f}...`);
515
+ const xe = i.resolve(Ce(import.meta.url), "..", "templates");
516
+ function C(o, y = "") {
517
+ const T = i.resolve(xe, o), be = s.readdirSync(T);
518
+ for (const g of be) {
519
+ const $ = i.join(T, g);
520
+ let v = $n[g] ?? g;
521
+ for (const [U, m] of h.entries()) {
522
+ const j = new RegExp(U, "g");
523
+ v = v.replace(j, m);
524
+ }
525
+ const R = i.join(f, y, v);
526
+ if (s.statSync($).isDirectory())
527
+ s.mkdirSync(R, { recursive: !0 }), C(i.join(o, g), i.join(y, v));
528
+ else if ([".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".pdf", ".zip"].includes(
529
+ i.extname(g).toLowerCase()
530
+ ))
531
+ s.copyFileSync($, R);
532
+ else {
533
+ let m = s.readFileSync($, "utf-8");
534
+ for (const [j, ye] of h.entries()) {
535
+ const ve = new RegExp(j, "g");
536
+ m = m.replace(ve, ye);
537
+ }
538
+ s.writeFileSync(R, m);
539
+ }
178
540
  }
179
- });
180
- const j = JSON.parse(i.readFileSync(s.join(d, "./base/package.json"), "utf-8"));
181
- if (j.name = w || m(), b("package.json", "", JSON.stringify(j, null, 2) + `
182
- `), console.log(`
541
+ }
542
+ if (C("base"), wn[ge].forEach((o) => {
543
+ C(`modules/${o}`, "src/modules/" + h.get("{{ModuleName}}"));
544
+ }), console.log(`
183
545
  Done. You can now run application:
184
- `), c !== t) {
185
- const e = s.relative(t, c);
546
+ `), f !== e) {
547
+ const o = i.relative(e, f);
186
548
  console.log(
187
- ` ${o.bold(o.green(`cd ${e.includes(" ") ? `"${e}"` : e}`))}`
549
+ ` ${u.bold(u.green(`cd ${o.includes(" ") ? `"${o}"` : o}`))}`
188
550
  );
189
551
  }
190
- console.log(` ${o.bold(o.green("yarn"))}`), console.log(` ${o.bold(o.green("yarn serve"))}`);
552
+ console.log(` ${u.bold(u.green("yarn"))}`), console.log(` ${u.bold(u.green("yarn serve"))}`);
191
553
  }
192
- K().catch((t) => {
193
- console.error(t);
554
+ kn().catch((e) => {
555
+ console.error(e);
194
556
  });