@vc-shell/create-vc-app 1.0.113 → 1.0.115

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 (110) hide show
  1. package/CHANGELOG.md +307 -5
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +100 -90
  5. package/dist/index.js.map +1 -0
  6. package/dist/templates/base/.env +4 -0
  7. package/dist/{template → templates}/base/.eslintrc.js +1 -2
  8. package/dist/templates/base/.yarn/plugins/@yarnpkg/plugin-version.cjs +550 -0
  9. package/dist/templates/base/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +28 -0
  10. package/dist/templates/base/.yarn/releases/yarn-3.6.4.cjs +874 -0
  11. package/dist/{template/base/index.html.ejs → templates/base/index.html} +1 -1
  12. package/dist/{template/base/package.json.ejs → templates/base/package.json} +7 -7
  13. package/dist/templates/base/public/assets/1.jpeg +0 -0
  14. package/dist/templates/base/public/assets/2.jpg +0 -0
  15. package/dist/templates/base/public/assets/3.jpg +0 -0
  16. package/dist/{template/code/commonPages → templates/base}/src/composables/useLogin/index.ts +1 -0
  17. package/dist/{template/base/src/router/index.ts.ejs → templates/base/src/router/index.ts} +4 -18
  18. package/dist/{template → templates}/base/tsconfig.json +1 -1
  19. package/dist/{template/base/vite.config.ts.ejs → templates/base/vite.config.ts} +5 -2
  20. package/dist/templates/variants/both/src/main.ts +45 -0
  21. package/dist/templates/variants/both/src/modules/classic-module/composables/index.ts +2 -0
  22. package/dist/templates/variants/both/src/modules/classic-module/composables/useDetails/index.ts +52 -0
  23. package/dist/templates/variants/both/src/modules/classic-module/composables/useList/index.ts +51 -0
  24. package/dist/{template/code/blade/src/modules/default/locales/en.json.ejs → templates/variants/both/src/modules/classic-module/locales/en.json} +6 -3
  25. package/dist/templates/variants/both/src/modules/classic-module/pages/details.vue +83 -0
  26. package/dist/templates/variants/both/src/modules/classic-module/pages/index.ts +2 -0
  27. package/dist/{template/code/blade/src/modules/default/pages/default-list.vue.ejs → templates/variants/both/src/modules/classic-module/pages/list.vue} +93 -30
  28. package/dist/templates/variants/both/src/modules/dynamic-module/components/DynamicItemsMobileGridView.vue +39 -0
  29. package/dist/templates/variants/both/src/modules/dynamic-module/components/index.ts +3 -0
  30. package/dist/templates/variants/both/src/modules/dynamic-module/composables/index.ts +2 -0
  31. package/dist/templates/variants/both/src/modules/dynamic-module/composables/useDetails/index.ts +92 -0
  32. package/dist/templates/variants/both/src/modules/dynamic-module/composables/useList/index.ts +70 -0
  33. package/dist/templates/variants/both/src/modules/dynamic-module/index.ts +9 -0
  34. package/dist/templates/variants/both/src/modules/dynamic-module/locales/en.json +46 -0
  35. package/dist/templates/variants/both/src/modules/dynamic-module/locales/index.ts +2 -0
  36. package/dist/templates/variants/both/src/modules/dynamic-module/pages/details.ts +40 -0
  37. package/dist/templates/variants/both/src/modules/dynamic-module/pages/index.ts +4 -0
  38. package/dist/templates/variants/both/src/modules/dynamic-module/pages/list.ts +50 -0
  39. package/dist/{template/base/src/pages/App.vue.ejs → templates/variants/both/src/pages/App.vue} +24 -28
  40. package/dist/{template/base/src/main.ts.ejs → templates/variants/classic/src/main.ts} +6 -12
  41. package/dist/templates/variants/classic/src/modules/classic-module/components/index.ts +1 -0
  42. package/dist/templates/variants/classic/src/modules/classic-module/composables/index.ts +2 -0
  43. package/dist/templates/variants/classic/src/modules/classic-module/composables/useDetails/index.ts +52 -0
  44. package/dist/templates/variants/classic/src/modules/classic-module/composables/useList/index.ts +51 -0
  45. package/dist/templates/variants/classic/src/modules/classic-module/index.ts +9 -0
  46. package/dist/templates/variants/classic/src/modules/classic-module/locales/en.json +43 -0
  47. package/dist/templates/variants/classic/src/modules/classic-module/locales/index.ts +2 -0
  48. package/dist/templates/variants/classic/src/modules/classic-module/pages/details.vue +83 -0
  49. package/dist/templates/variants/classic/src/modules/classic-module/pages/index.ts +2 -0
  50. package/dist/templates/variants/classic/src/modules/classic-module/pages/list.vue +260 -0
  51. package/dist/templates/variants/classic/src/pages/App.vue +362 -0
  52. package/dist/templates/variants/dynamic/src/main.ts +42 -0
  53. package/dist/templates/variants/dynamic/src/modules/dynamic-module/components/DynamicItemsMobileGridView.vue +39 -0
  54. package/dist/templates/variants/dynamic/src/modules/dynamic-module/components/index.ts +3 -0
  55. package/dist/templates/variants/dynamic/src/modules/dynamic-module/composables/index.ts +2 -0
  56. package/dist/templates/variants/dynamic/src/modules/dynamic-module/composables/useDetails/index.ts +92 -0
  57. package/dist/templates/variants/dynamic/src/modules/dynamic-module/composables/useList/index.ts +70 -0
  58. package/dist/templates/variants/dynamic/src/modules/dynamic-module/index.ts +9 -0
  59. package/dist/templates/variants/dynamic/src/modules/dynamic-module/locales/en.json +46 -0
  60. package/dist/templates/variants/dynamic/src/modules/dynamic-module/locales/index.ts +2 -0
  61. package/dist/templates/variants/dynamic/src/modules/dynamic-module/pages/details.ts +40 -0
  62. package/dist/templates/variants/dynamic/src/modules/dynamic-module/pages/index.ts +4 -0
  63. package/dist/templates/variants/dynamic/src/modules/dynamic-module/pages/list.ts +50 -0
  64. package/dist/templates/variants/dynamic/src/pages/App.vue +362 -0
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +9 -8
  67. package/dist/template/base/.env.ejs +0 -6
  68. package/dist/template/code/blade/src/modules/default/composables/index.ts +0 -1
  69. package/dist/template/code/blade/src/modules/default/composables/useDefault/index.ts +0 -9
  70. package/dist/template/code/blade/src/modules/default/pages/index.ts +0 -1
  71. /package/dist/{template → templates}/base/.browserslistrc +0 -0
  72. /package/dist/{template → templates}/base/.commitlintrc.json +0 -0
  73. /package/dist/{template → templates}/base/.editorconfig +0 -0
  74. /package/dist/{template → templates}/base/.eslintignore +0 -0
  75. /package/dist/{template → templates}/base/.husky/commit-msg +0 -0
  76. /package/dist/{template → templates}/base/.husky/pre-commit +0 -0
  77. /package/dist/{template → templates}/base/.prettierignore +0 -0
  78. /package/dist/{template → templates}/base/.prettierrc +0 -0
  79. /package/dist/{template → templates}/base/.vscode/extensions.json +0 -0
  80. /package/dist/{template → templates}/base/.vscode/settings.json +0 -0
  81. /package/dist/{template → templates}/base/LICENSE +0 -0
  82. /package/dist/{template → templates}/base/README.md +0 -0
  83. /package/dist/{template → templates}/base/postcss.config.js +0 -0
  84. /package/dist/{template → templates}/base/public/assets/app-select.svg +0 -0
  85. /package/dist/{template → templates}/base/public/assets/avatar.jpg +0 -0
  86. /package/dist/{template → templates}/base/public/assets/background.jpg +0 -0
  87. /package/dist/{template → templates}/base/public/assets/empty.png +0 -0
  88. /package/dist/{template → templates}/base/public/assets/logo-white.svg +0 -0
  89. /package/dist/{template → templates}/base/public/assets/logo.svg +0 -0
  90. /package/dist/{template → templates}/base/public/img/icons/apple-touch-icon.png +0 -0
  91. /package/dist/{template → templates}/base/public/img/icons/favicon-16x16.png +0 -0
  92. /package/dist/{template → templates}/base/public/img/icons/favicon-32x32.png +0 -0
  93. /package/dist/{template → templates}/base/public/img/icons/favicon.ico +0 -0
  94. /package/dist/{template → templates}/base/public/img/icons/mstile-150x150.png +0 -0
  95. /package/dist/{template → templates}/base/public/img/icons/pwa-192x192.png +0 -0
  96. /package/dist/{template → templates}/base/public/img/icons/pwa-512x512.png +0 -0
  97. /package/dist/{template → templates}/base/public/img/icons/safari-pinned-tab.svg +0 -0
  98. /package/dist/{template → templates}/base/src/api_client/README.md +0 -0
  99. /package/dist/{template/code/commonPages → templates/base}/src/composables/index.ts +0 -0
  100. /package/dist/{template → templates}/base/src/env.d.ts +0 -0
  101. /package/dist/{template → templates}/base/src/locales/en.json +0 -0
  102. /package/dist/{template → templates}/base/src/locales/index.ts +0 -0
  103. /package/dist/{template/code/dashboard → templates/base}/src/pages/Dashboard.vue +0 -0
  104. /package/dist/{template → templates}/base/src/shims-vue.d.ts +0 -0
  105. /package/dist/{template → templates}/base/src/styles/index.scss +0 -0
  106. /package/dist/{template → templates}/base/src/types/index.ts +0 -0
  107. /package/dist/{template → templates}/base/tailwind.config.js +0 -0
  108. /package/dist/{template/code/blade/src/modules/default → templates/variants/both/src/modules/classic-module}/components/index.ts +0 -0
  109. /package/dist/{template/code/blade/src/modules/default → templates/variants/both/src/modules/classic-module}/index.ts +0 -0
  110. /package/dist/{template/code/blade/src/modules/default → templates/variants/both/src/modules/classic-module}/locales/index.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -1,15 +1,237 @@
1
- ## [1.0.113](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.111...v1.0.113) (2023-10-25)
1
+ ## 1.0.115 (2023-11-02)
2
+
3
+
4
+ ### Features
5
+
6
+ * **@vc-shell/create-vc-app:** changed boilerplate ([740915b](https://github.com/VirtoCommerce/vc-shell/commit/740915baea40f4ac25375679dac9e9a209ae1937))
7
+ * **@vc-shell/framework:** updated tsconfigs ([921d000](https://github.com/VirtoCommerce/vc-shell/commit/921d000de8a0ca1b3eed4712eb5cc87e6d6a6616))
8
+
9
+
10
+
11
+ ## 1.0.114 (2023-10-25)
12
+
2
13
 
3
14
 
4
- ### BREAKING CHANGES
15
+ ## 1.0.113 (2023-10-25)
16
+
17
+
18
+ ### Features
19
+
20
+ * **@vc-shell/api-client:** Replace .env variables to command line args ([4bcfade](https://github.com/VirtoCommerce/vc-shell/commit/4bcfade6f0eee7f6e2b74ed898d5b90da1198da8))
21
+
22
+
23
+ ### BREAKING CHANGES
5
24
 
6
25
  * **@vc-shell/api-client:** api client generator now uses
7
26
  command line arguments instead of environment variables
8
27
 
28
+
29
+
30
+ ## 1.0.111 (2023-10-17)
31
+
32
+
33
+ ### Features
34
+
35
+ * dynamic modules ([ed4af3a](https://github.com/VirtoCommerce/vc-shell/commit/ed4af3ad65e47b0d633d6e2eb23e9c90d73ff50d))
36
+
37
+
38
+
39
+ ## 1.0.110 (2023-10-16)
40
+
41
+
42
+
43
+ ## 1.0.109 (2023-10-13)
44
+
45
+
46
+
47
+ ## 1.0.108 (2023-10-13)
48
+
49
+
50
+
51
+ ## 1.0.107 (2023-10-12)
52
+
53
+
54
+
55
+ ## 1.0.106 (2023-10-12)
56
+
57
+
58
+
59
+ ## 1.0.105 (2023-10-02)
60
+
61
+
62
+
63
+ ## 1.0.104 (2023-10-02)
64
+
65
+
66
+
67
+ ## 1.0.103 (2023-09-29)
68
+
69
+
70
+
71
+ ## 1.0.102 (2023-09-29)
72
+
73
+
74
+
75
+ ## 1.0.101 (2023-09-28)
76
+
77
+
78
+
79
+ ## 1.0.100 (2023-09-22)
80
+
81
+
82
+
83
+ ## 1.0.99 (2023-09-22)
84
+
85
+
86
+
87
+ ## 1.0.98 (2023-09-21)
88
+
89
+
90
+
91
+ ## 1.0.97 (2023-09-12)
92
+
93
+
94
+
95
+ ## 1.0.96 (2023-08-28)
96
+
97
+
98
+
99
+ ## 1.0.95 (2023-08-28)
100
+
101
+
102
+
103
+ ## 1.0.94 (2023-08-04)
104
+
105
+
106
+
107
+ ## 1.0.92 (2023-07-12)
108
+
109
+
110
+
111
+ ## 1.0.91 (2023-07-12)
112
+
113
+
114
+
115
+ ## 1.0.90 (2023-07-12)
116
+
117
+
118
+
119
+ ## 1.0.89 (2023-07-07)
120
+
121
+
122
+
123
+ ## 1.0.88 (2023-06-27)
124
+
125
+
126
+
127
+ ## 1.0.87 (2023-06-26)
128
+
129
+
130
+
131
+ ## 1.0.86 (2023-06-23)
132
+
133
+
134
+
135
+ ## 1.0.85 (2023-06-23)
136
+
137
+
138
+ ### Bug Fixes
139
+
140
+ * check permissions plugin ([cc65272](https://github.com/VirtoCommerce/vc-shell/commit/cc65272d933e29f427b1403df2bdd627b15dd1e6))
141
+
142
+
143
+
144
+ ## 1.0.84 (2023-06-23)
145
+
146
+
147
+
148
+ ## 1.0.83 (2023-06-23)
149
+
150
+
151
+
152
+ ## 1.0.82 (2023-06-23)
153
+
154
+
155
+
156
+ ## 1.0.81 (2023-06-23)
157
+
158
+
159
+
160
+ ## 1.0.80 (2023-06-22)
161
+
162
+
163
+
164
+ ## 1.0.79 (2023-06-22)
165
+
166
+
167
+
168
+ ## 1.0.78 (2023-06-22)
169
+
170
+
171
+
172
+ ## 1.0.77 (2023-06-22)
173
+
174
+
175
+
176
+ ## 1.0.76 (2023-06-22)
177
+
178
+
179
+
180
+ ## 1.0.75 (2023-06-21)
181
+
182
+
183
+
184
+ ## 1.0.74 (2023-06-21)
185
+
186
+
187
+ ### Bug Fixes
188
+
189
+ * pass platformUrl to shell ([6265790](https://github.com/VirtoCommerce/vc-shell/commit/62657901ae6738883ed785e4f54507db85ba7d66))
190
+
191
+
192
+
193
+ ## 1.0.73 (2023-06-08)
194
+
195
+
196
+
197
+ ## 1.0.72 (2023-06-07)
198
+
199
+
200
+
201
+ ## 1.0.71 (2023-06-02)
202
+
203
+
204
+ ### Bug Fixes
205
+
206
+ * fixed create-vc-app template ([f433fea](https://github.com/VirtoCommerce/vc-shell/commit/f433feaf4b75badeea427b61061a08b9a6056c8a))
207
+
208
+
209
+ ### Features
210
+
211
+ * **cli** create-vc-app scaffolding tool ([e6428ae](https://github.com/VirtoCommerce/vc-shell/commit/e6428ae654ba180971c6ab58f9abfa2452ca0e9b))
212
+ * azure active directory signin ([46cee05](https://github.com/VirtoCommerce/vc-shell/commit/46cee052064434bdd143d744ca7557f5c0fd7e84))
213
+
214
+
215
+
216
+ ## [1.0.114](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.113...v1.0.114) (2023-10-25)
217
+
218
+
219
+
220
+ ## [1.0.113](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.111...v1.0.113) (2023-10-25)
221
+
222
+
9
223
  ### Features
10
224
 
11
225
  * **@vc-shell/api-client:** Replace .env variables to command line args ([4bcfade](https://github.com/VirtoCommerce/vc-shell/commit/4bcfade6f0eee7f6e2b74ed898d5b90da1198da8))
12
226
 
227
+
228
+ ### BREAKING CHANGES
229
+
230
+ * **@vc-shell/api-client:** api client generator now uses
231
+ command line arguments instead of environment variables
232
+
233
+
234
+
13
235
  ## [1.0.111](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.110...v1.0.111) (2023-10-17)
14
236
 
15
237
 
@@ -17,54 +239,104 @@ command line arguments instead of environment variables
17
239
 
18
240
  * dynamic modules ([ed4af3a](https://github.com/VirtoCommerce/vc-shell/commit/ed4af3ad65e47b0d633d6e2eb23e9c90d73ff50d))
19
241
 
242
+
243
+
20
244
  ## [1.0.110](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.109...v1.0.110) (2023-10-16)
21
245
 
246
+
247
+
22
248
  ## [1.0.109](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.108...v1.0.109) (2023-10-13)
23
249
 
250
+
251
+
24
252
  ## [1.0.108](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.107...v1.0.108) (2023-10-13)
25
253
 
254
+
255
+
26
256
  ## [1.0.107](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.106...v1.0.107) (2023-10-12)
27
257
 
258
+
259
+
28
260
  ## [1.0.106](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.105...v1.0.106) (2023-10-12)
29
261
 
262
+
263
+
30
264
  ## [1.0.105](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.104...v1.0.105) (2023-10-02)
31
265
 
266
+
267
+
32
268
  ## [1.0.104](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.103...v1.0.104) (2023-10-02)
33
269
 
270
+
271
+
34
272
  ## [1.0.103](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.102...v1.0.103) (2023-09-29)
35
273
 
274
+
275
+
36
276
  ## [1.0.102](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.101...v1.0.102) (2023-09-29)
37
277
 
278
+
279
+
38
280
  ## [1.0.101](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.100...v1.0.101) (2023-09-28)
39
281
 
282
+
283
+
40
284
  ## [1.0.100](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.99...v1.0.100) (2023-09-22)
41
285
 
286
+
287
+
42
288
  ## [1.0.99](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.98...v1.0.99) (2023-09-22)
43
289
 
290
+
291
+
44
292
  ## [1.0.98](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.97...v1.0.98) (2023-09-21)
45
293
 
294
+
295
+
46
296
  ## [1.0.97](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.96...v1.0.97) (2023-09-12)
47
297
 
298
+
299
+
48
300
  ## [1.0.96](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.95...v1.0.96) (2023-08-28)
49
301
 
302
+
303
+
50
304
  ## [1.0.95](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.94...v1.0.95) (2023-08-28)
51
305
 
306
+
307
+
52
308
  ## [1.0.94](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.92...v1.0.94) (2023-08-04)
53
309
 
310
+
311
+
54
312
  ## [1.0.92](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.91...v1.0.92) (2023-07-12)
55
313
 
314
+
315
+
56
316
  ## [1.0.91](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.90...v1.0.91) (2023-07-12)
57
317
 
318
+
319
+
58
320
  ## [1.0.90](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.89...v1.0.90) (2023-07-12)
59
321
 
322
+
323
+
60
324
  ## [1.0.89](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.88...v1.0.89) (2023-07-07)
61
325
 
326
+
327
+
62
328
  ## [1.0.88](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.87...v1.0.88) (2023-06-27)
63
329
 
330
+
331
+
64
332
  ## [1.0.87](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.86...v1.0.87) (2023-06-26)
65
333
 
334
+
335
+
66
336
  ## [1.0.86](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.85...v1.0.86) (2023-06-23)
67
337
 
338
+
339
+
68
340
  ## [1.0.85](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.84...v1.0.85) (2023-06-23)
69
341
 
70
342
 
@@ -72,26 +344,48 @@ command line arguments instead of environment variables
72
344
 
73
345
  * check permissions plugin ([cc65272](https://github.com/VirtoCommerce/vc-shell/commit/cc65272d933e29f427b1403df2bdd627b15dd1e6))
74
346
 
347
+
348
+
75
349
  ## [1.0.84](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.83...v1.0.84) (2023-06-23)
76
350
 
351
+
352
+
77
353
  ## [1.0.83](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.82...v1.0.83) (2023-06-23)
78
354
 
355
+
356
+
79
357
  ## [1.0.82](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.81...v1.0.82) (2023-06-23)
80
358
 
359
+
360
+
81
361
  ## [1.0.81](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.80...v1.0.81) (2023-06-23)
82
362
 
363
+
364
+
83
365
  ## [1.0.80](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.79...v1.0.80) (2023-06-22)
84
366
 
367
+
368
+
85
369
  ## [1.0.79](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.78...v1.0.79) (2023-06-22)
86
370
 
371
+
372
+
87
373
  ## [1.0.78](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.77...v1.0.78) (2023-06-22)
88
374
 
375
+
376
+
89
377
  ## [1.0.77](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.76...v1.0.77) (2023-06-22)
90
378
 
379
+
380
+
91
381
  ## [1.0.76](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.75...v1.0.76) (2023-06-22)
92
382
 
383
+
384
+
93
385
  ## [1.0.75](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.74...v1.0.75) (2023-06-21)
94
386
 
387
+
388
+
95
389
  ## [1.0.74](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.73...v1.0.74) (2023-06-21)
96
390
 
97
391
 
@@ -99,20 +393,28 @@ command line arguments instead of environment variables
99
393
 
100
394
  * pass platformUrl to shell ([6265790](https://github.com/VirtoCommerce/vc-shell/commit/62657901ae6738883ed785e4f54507db85ba7d66))
101
395
 
396
+
397
+
102
398
  ## [1.0.73](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.72...v1.0.73) (2023-06-08)
103
399
 
400
+
401
+
104
402
  ## [1.0.72](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.71...v1.0.72) (2023-06-07)
105
403
 
404
+
405
+
106
406
  ## [1.0.71](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.70...v1.0.71) (2023-06-02)
107
407
 
108
408
 
409
+ ### Bug Fixes
410
+
411
+ * fixed create-vc-app template ([f433fea](https://github.com/VirtoCommerce/vc-shell/commit/f433feaf4b75badeea427b61061a08b9a6056c8a))
412
+
413
+
109
414
  ### Features
110
415
 
111
416
  * **cli** create-vc-app scaffolding tool ([e6428ae](https://github.com/VirtoCommerce/vc-shell/commit/e6428ae654ba180971c6ab58f9abfa2452ca0e9b))
112
417
  * azure active directory signin ([46cee05](https://github.com/VirtoCommerce/vc-shell/commit/46cee052064434bdd143d744ca7557f5c0fd7e84))
113
418
 
114
419
 
115
- ### Bug Fixes
116
-
117
- * fixed create-vc-app template ([f433fea](https://github.com/VirtoCommerce/vc-shell/commit/f433feaf4b75badeea427b61061a08b9a6056c8a))
118
420
 
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
  export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,13 +1,10 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- const tslib_1 = require("tslib");
5
- const prompts_1 = tslib_1.__importDefault(require("prompts"));
6
- const minimist_1 = tslib_1.__importDefault(require("minimist"));
7
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
8
- const path_1 = tslib_1.__importDefault(require("path"));
9
- const fs_1 = tslib_1.__importDefault(require("fs"));
10
- const ejs = tslib_1.__importStar(require("ejs"));
2
+ import prompts from "prompts";
3
+ import mri from "mri";
4
+ import { default as chalk } from "chalk";
5
+ import path from "path";
6
+ import fs from "fs";
7
+ import { fileURLToPath } from "node:url";
11
8
  function isValidName(appName) {
12
9
  return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(appName);
13
10
  }
@@ -20,94 +17,103 @@ function toValidName(appName) {
20
17
  .replace(/[^a-z0-9-~]+/g, "-");
21
18
  }
22
19
  function emptyDir(dir) {
23
- if (!fs_1.default.existsSync(dir)) {
20
+ if (!fs.existsSync(dir)) {
24
21
  return;
25
22
  }
26
23
  }
27
- async function renderTemplate(src, dest, config) {
28
- const stats = fs_1.default.statSync(src);
29
- if (stats.isDirectory()) {
30
- if (path_1.default.basename(src) === "node_modules") {
31
- return;
32
- }
33
- fs_1.default.mkdirSync(dest, { recursive: true });
34
- for (const file of fs_1.default.readdirSync(src)) {
35
- if (path_1.default.parse(file).ext === ".ejs") {
36
- try {
37
- const rendered = await ejs.renderFile(path_1.default.resolve(src, file), config);
38
- fs_1.default.writeFileSync(path_1.default.resolve(`${dest}/${path_1.default.parse(file).name}`), rendered);
39
- continue;
40
- }
41
- catch (e) {
42
- console.log(e);
43
- }
44
- }
45
- renderTemplate(path_1.default.resolve(src, file), path_1.default.resolve(dest, file), config);
46
- }
47
- return;
24
+ function isEmpty(path) {
25
+ const files = fs.readdirSync(path);
26
+ return files.length === 0 || (files.length === 1 && files[0] === ".git");
27
+ }
28
+ function copy(src, dest) {
29
+ const stat = fs.statSync(src);
30
+ if (stat.isDirectory()) {
31
+ copyDir(src, dest);
48
32
  }
49
- if (fs_1.default.existsSync(dest)) {
50
- fs_1.default.writeFileSync(dest, fs_1.default.readFileSync(src, "utf8"));
51
- return;
33
+ else {
34
+ fs.copyFileSync(src, dest);
52
35
  }
53
- fs_1.default.copyFileSync(src, dest);
54
36
  }
37
+ function copyDir(srcDir, destDir) {
38
+ fs.mkdirSync(destDir, { recursive: true });
39
+ for (const file of fs.readdirSync(srcDir)) {
40
+ const srcFile = path.resolve(srcDir, file);
41
+ const destFile = path.resolve(destDir, file);
42
+ copy(srcFile, destFile);
43
+ }
44
+ }
45
+ const AppVariants = [
46
+ {
47
+ name: "classic",
48
+ display: "Classic modules boilerplate",
49
+ },
50
+ {
51
+ name: "dynamic",
52
+ display: "Dynamic modules boilerplate",
53
+ },
54
+ {
55
+ name: "both",
56
+ display: "Classic modules + Dynamic modules boilerplate",
57
+ },
58
+ ];
59
+ const variantMap = {
60
+ both: "variants/both",
61
+ classic: "variants/classic",
62
+ dynamic: "variants/dynamic",
63
+ };
55
64
  async function create() {
56
65
  const cwd = process.cwd();
57
- const args = (0, minimist_1.default)(process.argv.slice(2));
66
+ const args = mri(process.argv.slice(2));
58
67
  let dir = args._[0];
59
68
  const defaultAppName = !dir ? "vc-app" : dir;
60
- let config = {};
69
+ const getProjectName = () => (dir === "." ? path.basename(path.resolve()) : dir);
70
+ let config;
61
71
  try {
62
- config = await (0, prompts_1.default)([
72
+ config = await prompts([
63
73
  {
64
74
  name: "appName",
65
75
  type: dir ? null : "text",
66
- message: "App name:",
76
+ message: chalk.reset("Project name:"),
67
77
  initial: defaultAppName,
68
78
  onState: (state) => (dir = toValidName(String(state.value).trim()) || defaultAppName),
69
79
  format: (value) => toValidName(String(value).trim()),
70
80
  },
71
81
  {
72
- name: "packageName",
73
- type: () => (isValidName(dir) ? null : "text"),
74
- message: "Package name:",
75
- initial: () => toValidName(dir),
76
- validate: (dir) => isValidName(dir) || "Invalid package.json name",
82
+ type: () => (!fs.existsSync(dir) || isEmpty(dir) ? null : "confirm"),
83
+ name: "overwrite",
84
+ message: () => (dir === "." ? "Current directory" : `Target directory "${dir}"`) +
85
+ ` is not empty. Remove existing files and continue?`,
77
86
  },
78
87
  {
79
- name: "dashboard",
80
- type: "toggle",
81
- message: "Add Dashboard page?",
82
- initial: false,
83
- active: "Yes",
84
- inactive: "No",
88
+ type: (_, { overwrite }) => {
89
+ if (overwrite === false) {
90
+ throw new Error(chalk.red("✖") + " Operation cancelled");
91
+ }
92
+ return null;
93
+ },
94
+ name: "overwriteChecker",
85
95
  },
86
96
  {
87
- name: "commonPages",
88
- type: "toggle",
89
- message: "Add Login/Invite/Reset password pages?",
90
- initial: false,
91
- active: "Yes",
92
- inactive: "No",
93
- },
94
- {
95
- name: "bladeModuleStarter",
96
- type: "toggle",
97
- message: "Add module starter?",
98
- initial: false,
99
- active: "Yes",
100
- inactive: "No",
97
+ name: "packageName",
98
+ type: () => (isValidName(getProjectName()) ? null : "text"),
99
+ message: chalk.reset("Package name:"),
100
+ initial: () => toValidName(getProjectName()),
101
+ validate: (dir) => isValidName(dir) || "Invalid package.json name",
101
102
  },
102
103
  {
103
- name: "bladeModuleName",
104
- type: (prev) => (prev ? "text" : null),
105
- message: "Module starter name:",
106
- format: (value) => String(value).trim().replace(/\s+/g, "").replace(/^[._]/, ""),
104
+ type: "select",
105
+ name: "variant",
106
+ message: chalk.reset("Select module variant:"),
107
+ choices: AppVariants.map((variant) => {
108
+ return {
109
+ title: variant.display,
110
+ value: variant.name,
111
+ };
112
+ }),
107
113
  },
108
114
  ], {
109
115
  onCancel: () => {
110
- throw new Error(chalk_1.default.red("Creation cancelled"));
116
+ throw new Error(chalk.red("✖") + " Creation cancelled");
111
117
  },
112
118
  });
113
119
  }
@@ -115,38 +121,42 @@ async function create() {
115
121
  console.log(e.message);
116
122
  process.exit(1);
117
123
  }
118
- const { dashboard, commonPages, bladeModuleStarter } = config;
119
- const root = path_1.default.join(cwd, dir);
120
- if (fs_1.default.existsSync(root)) {
124
+ const { packageName, variant } = config;
125
+ const root = path.join(cwd, dir);
126
+ if (fs.existsSync(root)) {
121
127
  emptyDir(root);
122
128
  }
123
- else if (!fs_1.default.existsSync(root)) {
124
- fs_1.default.mkdirSync(root);
129
+ else if (!fs.existsSync(root)) {
130
+ fs.mkdirSync(root);
125
131
  }
126
132
  console.log(`\nScaffolding app in ${root}...`);
127
- const templateRoot = path_1.default.resolve(__dirname, "template");
133
+ const templateRoot = path.resolve(fileURLToPath(import.meta.url), "../templates");
134
+ const write = (file, content) => {
135
+ if (content) {
136
+ fs.writeFileSync(path.join(root, file), content);
137
+ }
138
+ else {
139
+ copy(file, root);
140
+ }
141
+ };
128
142
  const render = (templateName) => {
129
- const templateDir = path_1.default.resolve(templateRoot, templateName);
130
- renderTemplate(templateDir, root, config);
143
+ const templateDir = path.resolve(templateRoot, templateName);
144
+ write(templateDir);
131
145
  };
132
146
  render("base");
133
- if (dashboard) {
134
- render("code/dashboard");
135
- }
136
- if (commonPages) {
137
- render("code/commonPages");
138
- }
139
- if (bladeModuleStarter) {
140
- render("code/blade");
141
- }
147
+ render(variantMap[variant]);
148
+ const pkg = JSON.parse(fs.readFileSync(path.join(templateRoot, `./base/package.json`), "utf-8"));
149
+ pkg.name = packageName || getProjectName();
150
+ write("package.json", JSON.stringify(pkg, null, 2) + "\n");
142
151
  console.log(`\nDone. You can now run application:\n`);
143
152
  if (root !== cwd) {
144
- const cdProjectName = path_1.default.relative(cwd, root);
145
- console.log(` ${chalk_1.default.bold(chalk_1.default.green(`cd ${cdProjectName.includes(" ") ? `"${cdProjectName}"` : cdProjectName}`))}`);
153
+ const cdProjectName = path.relative(cwd, root);
154
+ console.log(` ${chalk.bold(chalk.green(`cd ${cdProjectName.includes(" ") ? `"${cdProjectName}"` : cdProjectName}`))}`);
146
155
  }
147
- console.log(` ${chalk_1.default.bold(chalk_1.default.green("yarn"))}`);
148
- console.log(` ${chalk_1.default.bold(chalk_1.default.green("yarn serve"))}`);
156
+ console.log(` ${chalk.bold(chalk.green("yarn"))}`);
157
+ console.log(` ${chalk.bold(chalk.green("yarn serve"))}`);
149
158
  }
150
159
  create().catch((e) => {
151
160
  console.error(e);
152
161
  });
162
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}