zmp-cli 3.15.6 → 3.15.8

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 (225) hide show
  1. package/README.md +37 -0
  2. package/build/index.js +1 -184
  3. package/config/index.js +1 -44
  4. package/create/index.js +1 -230
  5. package/create/utils/generate-app-config.js +1 -34
  6. package/create/utils/generate-npm-scripts.js +1 -26
  7. package/create/utils/get-options.js +1 -204
  8. package/create/utils/npm-scripts.js +1 -62
  9. package/deploy/index.js +1 -149
  10. package/deploy/utils/get-options.js +1 -69
  11. package/deploy/utils/request-upload.js +1 -34
  12. package/deploy/utils/upload-app.js +1 -82
  13. package/index.js +1 -319
  14. package/login/index.js +1 -169
  15. package/login/utils/get-options.js +1 -58
  16. package/login/utils/zalo-login.js +1 -32
  17. package/migrate/icons/update-icon-v3.js +1 -19
  18. package/migrate/index.js +1 -60
  19. package/migrate/utils/get-options.js +1 -46
  20. package/migrate/utils/migrate-react.js +1 -33
  21. package/package.json +13 -40
  22. package/start/frame/index.html +264 -254
  23. package/start/index.js +1 -382
  24. package/sync/index-to-app-config.js +1 -146
  25. package/sync/index.js +1 -55
  26. package/utils/axios.js +1 -15
  27. package/utils/check-update.js +1 -53
  28. package/utils/constants.js +1 -20
  29. package/utils/env.js +1 -39
  30. package/utils/error.js +1 -16
  31. package/utils/find-files-by-ext.js +1 -27
  32. package/utils/find-free-port.js +1 -11
  33. package/utils/fs-extra.js +1 -90
  34. package/utils/generate-pages-map.js +1 -17
  35. package/utils/get-app-info.js +1 -22
  36. package/utils/get-current-project.js +1 -25
  37. package/utils/get-ip.js +1 -19
  38. package/utils/log.js +1 -19
  39. package/utils/node-blob.js +1 -106
  40. package/utils/resumable.d.js +1 -0
  41. package/utils/resumable.js +1 -1204
  42. package/utils/spinner.js +1 -25
  43. package/utils/tunnel.js +1 -36
  44. package/.editorconfig +0 -15
  45. package/.eslintignore +0 -8
  46. package/.eslintrc.js +0 -10
  47. package/.vscode/launch.json +0 -23
  48. package/LICENSE +0 -21
  49. package/README.git.md +0 -37
  50. package/assets/index.js +0 -147
  51. package/build/dist/index.dev.js +0 -217
  52. package/config/dist/index.dev.js +0 -48
  53. package/create/init-zmp-ui.js +0 -216
  54. package/create/templates/app-parameters.js +0 -33
  55. package/create/templates/common/css/icons.css +0 -60
  56. package/create/templates/common/icons/512x512.png +0 -0
  57. package/create/templates/common/icons/apple-touch-icon.png +0 -0
  58. package/create/templates/common/icons/favicon.png +0 -0
  59. package/create/templates/common/postcss.config.js +0 -5
  60. package/create/templates/common/splash-2732x2732.png +0 -0
  61. package/create/templates/common/tailwind/postcss.config.js +0 -5
  62. package/create/templates/common/tailwind/tailwind.config.js +0 -9
  63. package/create/templates/common/tailwind/tailwind.css +0 -3
  64. package/create/templates/common/webpack/build.js +0 -41
  65. package/create/templates/copy-assets.js +0 -158
  66. package/create/templates/core/babel.config.js +0 -11
  67. package/create/templates/core/copy-assets.js +0 -83
  68. package/create/templates/core/generate-home-page.js +0 -143
  69. package/create/templates/core/generate-root.js +0 -283
  70. package/create/templates/core/generate-routes.js +0 -155
  71. package/create/templates/core/generate-scripts.js +0 -94
  72. package/create/templates/core/pages/404.html +0 -20
  73. package/create/templates/core/pages/about.html +0 -26
  74. package/create/templates/core/pages/catalog.html +0 -40
  75. package/create/templates/core/pages/dynamic-route.html +0 -115
  76. package/create/templates/core/pages/form.html +0 -258
  77. package/create/templates/core/pages/left-page-1.html +0 -24
  78. package/create/templates/core/pages/left-page-2.html +0 -23
  79. package/create/templates/core/pages/product.html +0 -36
  80. package/create/templates/core/pages/request-and-load.html +0 -35
  81. package/create/templates/core/pages/settings.html +0 -252
  82. package/create/templates/create-folders.js +0 -30
  83. package/create/templates/dist/generate-styles.dev.js +0 -46
  84. package/create/templates/generate-config-xml.js +0 -18
  85. package/create/templates/generate-index.js +0 -49
  86. package/create/templates/generate-manifest.js +0 -49
  87. package/create/templates/generate-recoil.js +0 -56
  88. package/create/templates/generate-routes.js +0 -16
  89. package/create/templates/generate-scripts.js +0 -16
  90. package/create/templates/generate-service-worker.js +0 -126
  91. package/create/templates/generate-store.js +0 -88
  92. package/create/templates/generate-styles.js +0 -110
  93. package/create/templates/generate-webpack-config.js +0 -335
  94. package/create/templates/generate-zmp-custom.js +0 -81
  95. package/create/templates/react/babel.config.js +0 -12
  96. package/create/templates/react/components/app-items.jsx +0 -44
  97. package/create/templates/react/components/navbar-back.jsx +0 -25
  98. package/create/templates/react/components/user-card.jsx +0 -18
  99. package/create/templates/react/copy-assets.js +0 -85
  100. package/create/templates/react/dist/generate-scripts.dev.js +0 -23
  101. package/create/templates/react/generate-home-page.js +0 -111
  102. package/create/templates/react/generate-root.js +0 -84
  103. package/create/templates/react/generate-routes.js +0 -16
  104. package/create/templates/react/generate-scripts.js +0 -68
  105. package/create/templates/react/pages/404.js +0 -27
  106. package/create/templates/react/pages/about.js +0 -52
  107. package/create/templates/react/pages/catalog.js +0 -112
  108. package/create/templates/react/pages/dynamic-route.js +0 -80
  109. package/create/templates/react/pages/form.js +0 -152
  110. package/create/templates/react/pages/index copy.js +0 -17
  111. package/create/templates/react/pages/index.js +0 -17
  112. package/create/templates/react/pages/settings.js +0 -76
  113. package/create/templates/react/pages/user.js +0 -56
  114. package/create/templates/react/vite.config.js +0 -11
  115. package/create/templates/react-typescript/_tsconfig.json +0 -33
  116. package/create/templates/react-typescript/components/app-items.js +0 -53
  117. package/create/templates/react-typescript/components/index.js +0 -9
  118. package/create/templates/react-typescript/components/navbar-back.js +0 -40
  119. package/create/templates/react-typescript/components/user-card.js +0 -32
  120. package/create/templates/react-typescript/copy-assets.js +0 -94
  121. package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
  122. package/create/templates/react-typescript/generate-home-page.js +0 -113
  123. package/create/templates/react-typescript/generate-root.js +0 -81
  124. package/create/templates/react-typescript/generate-routes.js +0 -12
  125. package/create/templates/react-typescript/generate-scripts.js +0 -67
  126. package/create/templates/react-typescript/pages/404.js +0 -27
  127. package/create/templates/react-typescript/pages/about.js +0 -52
  128. package/create/templates/react-typescript/pages/catalog.js +0 -112
  129. package/create/templates/react-typescript/pages/dynamic-route.js +0 -80
  130. package/create/templates/react-typescript/pages/form.js +0 -152
  131. package/create/templates/react-typescript/pages/index.js +0 -17
  132. package/create/templates/react-typescript/pages/settings.js +0 -76
  133. package/create/templates/react-typescript/pages/user.js +0 -56
  134. package/create/templates/react-typescript/vite.config.js +0 -21
  135. package/create/templates/svelte/babel.config.js +0 -10
  136. package/create/templates/svelte/copy-assets.js +0 -47
  137. package/create/templates/svelte/generate-home-page.js +0 -158
  138. package/create/templates/svelte/generate-root.js +0 -235
  139. package/create/templates/svelte/generate-routes.js +0 -91
  140. package/create/templates/svelte/generate-scripts.js +0 -47
  141. package/create/templates/svelte/pages/404.svelte +0 -10
  142. package/create/templates/svelte/pages/about.svelte +0 -16
  143. package/create/templates/svelte/pages/catalog.svelte +0 -31
  144. package/create/templates/svelte/pages/dynamic-route.svelte +0 -34
  145. package/create/templates/svelte/pages/form.svelte +0 -175
  146. package/create/templates/svelte/pages/left-page-1.svelte +0 -13
  147. package/create/templates/svelte/pages/left-page-2.svelte +0 -12
  148. package/create/templates/svelte/pages/product.svelte +0 -21
  149. package/create/templates/svelte/pages/request-and-load.svelte +0 -21
  150. package/create/templates/svelte/pages/settings.svelte +0 -175
  151. package/create/templates/vue/babel.config.js +0 -10
  152. package/create/templates/vue/components/header.vue +0 -28
  153. package/create/templates/vue/components/sun-and-moon.vue +0 -34
  154. package/create/templates/vue/copy-assets.js +0 -67
  155. package/create/templates/vue/generate-home-page.js +0 -56
  156. package/create/templates/vue/generate-root.js +0 -50
  157. package/create/templates/vue/generate-routes.js +0 -7
  158. package/create/templates/vue/generate-scripts.js +0 -63
  159. package/create/templates/vue/global-components.d.ts +0 -121
  160. package/create/templates/vue/icons/moon.svg +0 -3
  161. package/create/templates/vue/icons/sun.svg +0 -3
  162. package/create/templates/vue/pages/404.vue +0 -12
  163. package/create/templates/vue/pages/about.vue +0 -15
  164. package/create/templates/vue/pages/catalog.vue +0 -39
  165. package/create/templates/vue/pages/dynamic-route.vue +0 -34
  166. package/create/templates/vue/pages/form.vue +0 -162
  167. package/create/templates/vue/pages/left-page-1.vue +0 -14
  168. package/create/templates/vue/pages/left-page-2.vue +0 -11
  169. package/create/templates/vue/pages/product.vue +0 -31
  170. package/create/templates/vue/pages/request-and-load.vue +0 -25
  171. package/create/templates/vue/pages/settings.vue +0 -18
  172. package/create/templates/vue/vite.config.js +0 -11
  173. package/create/templates/zaui/_tsconfig.json +0 -33
  174. package/create/templates/zaui/babel.config.js +0 -12
  175. package/create/templates/zaui/components/user-card.jsx +0 -16
  176. package/create/templates/zaui/copy-assets.js +0 -90
  177. package/create/templates/zaui/generate-home-page.js +0 -117
  178. package/create/templates/zaui/generate-root.js +0 -53
  179. package/create/templates/zaui/generate-routes.js +0 -10
  180. package/create/templates/zaui/generate-scripts.js +0 -39
  181. package/create/templates/zaui/generate-user-card.js +0 -55
  182. package/create/templates/zaui/pages/about.js +0 -129
  183. package/create/templates/zaui/pages/form.js +0 -123
  184. package/create/templates/zaui/pages/index.js +0 -9
  185. package/create/templates/zaui/pages/user.js +0 -109
  186. package/create/templates/zaui/vite.config.js +0 -11
  187. package/create/utils/colors.js +0 -94
  188. package/create/utils/dist/get-options.dev.js +0 -277
  189. package/create/utils/generate-gitignore.js +0 -43
  190. package/create/utils/generate-package-json.js +0 -132
  191. package/create/utils/generate-readme.js +0 -28
  192. package/create/utils/indent.js +0 -31
  193. package/create/utils/string.js +0 -13
  194. package/create/utils/styles-extension.js +0 -9
  195. package/create/utils/template-if.js +0 -9
  196. package/deploy/dist/index.dev.js +0 -227
  197. package/deploy/utils/dist/request-upload.dev.js +0 -62
  198. package/deploy/utils/dist/upload-app.dev.js +0 -113
  199. package/dist/bundle.js +0 -1
  200. package/dist/index.dev.js +0 -352
  201. package/jsconfig.json +0 -8
  202. package/login/dist/index.dev.js +0 -223
  203. package/login/utils/dist/zalo-login.dev.js +0 -41
  204. package/screenshots/wellcome.jpg +0 -0
  205. package/show-qr-app/assets/css/style.css +0 -87
  206. package/show-qr-app/assets/js/qrcode.min.js +0 -1
  207. package/show-qr-app/index.html +0 -57
  208. package/show-qr-app/package.json +0 -14
  209. package/start/dist/index.dev.js +0 -312
  210. package/start/generate-hr-config.js +0 -59
  211. package/ui/server.js +0 -194
  212. package/ui/www/css/app.css +0 -1
  213. package/ui/www/css/app.css.map +0 -1
  214. package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
  215. package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
  216. package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
  217. package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
  218. package/ui/www/images/logo.png +0 -0
  219. package/ui/www/index.html +0 -1
  220. package/ui/www/js/app.js +0 -3
  221. package/ui/www/js/app.js.LICENSE.txt +0 -20
  222. package/ui/www/js/app.js.map +0 -1
  223. package/ui/www/static/icons/apple-touch-icon.png +0 -0
  224. package/ui/www/static/icons/favicon.png +0 -0
  225. package/utils/dist/get-app-info.dev.js +0 -54
@@ -1,277 +0,0 @@
1
- "use strict";
2
-
3
- /* eslint no-param-reassign: ["off"] */
4
- var inquirer = require('inquirer');
5
-
6
- var chalk = require('chalk');
7
-
8
- var moreOptionsText = chalk.italic("\t- Including Tailwind CSS\n\t- Including Recoil (React only)");
9
- var questions = [{
10
- type: 'list',
11
- name: 'newProject',
12
- message: 'What action you want to do?',
13
- choices: [{
14
- name: 'Create a new ZMP project',
15
- value: true
16
- }, {
17
- name: 'Using ZMP to deploy only',
18
- value: false
19
- }]
20
- }, {
21
- type: 'input',
22
- name: 'name',
23
- message: 'App (project) name:',
24
- "default": 'My App',
25
- validate: function validate(input) {
26
- return new Promise(function (resolve, reject) {
27
- if (!input) reject(new Error('App name is required'));else resolve(true);
28
- });
29
- }
30
- }, {
31
- type: 'list',
32
- name: 'package',
33
- when: function when(opts) {
34
- return opts.newProject;
35
- },
36
- message: 'Choose an UI library / UI framework:',
37
- choices: [{
38
- name: 'zmp-ui',
39
- value: 'zmp-ui'
40
- }]
41
- }, // Framework
42
- {
43
- type: 'list',
44
- name: 'framework',
45
- when: function when(opts) {
46
- return opts["package"] == 'zmp-framework';
47
- },
48
- message: 'What type of framework do you prefer?',
49
- choices: [{
50
- name: 'ZMP with React',
51
- value: 'react'
52
- }, {
53
- name: 'ZMP with React (TypeScript)',
54
- value: 'react-typescript'
55
- }, {
56
- name: 'ZMP with Vue.js',
57
- value: 'vue'
58
- }, {
59
- name: 'ZMP Core',
60
- value: 'core',
61
- disabled: true
62
- }]
63
- }, {
64
- type: 'list',
65
- name: 'language',
66
- when: function when(opts) {
67
- return opts["package"] == 'zmp-ui';
68
- },
69
- message: 'What language do you prefer?',
70
- choices: [{
71
- name: 'ReactJS',
72
- value: 'react'
73
- }]
74
- }, {
75
- type: 'list',
76
- name: 'useUIKits',
77
- when: function when(opts) {
78
- return opts["package"] === 'zmp-framework' && opts.framework !== 'vue';
79
- },
80
- message: 'Do you want to use Zalo UI kits style?',
81
- "default": true,
82
- choices: [{
83
- name: 'Yes, i want to use UI kits style',
84
- value: true
85
- }, {
86
- name: 'No, i want to use only styles with minimal required set of components',
87
- value: false
88
- }]
89
- }, // Template
90
- {
91
- type: 'list',
92
- name: 'template',
93
- when: function when(opts) {
94
- return opts.newProject && opts["package"] === 'zmp-framework' && opts.useUIKits && opts.framework !== 'vue';
95
- },
96
- message: 'Choose starter template:',
97
- choices: [{
98
- name: 'Blank',
99
- value: 'blank'
100
- }, {
101
- name: 'Single View',
102
- value: 'single-view'
103
- }, {
104
- name: 'Tabs Layout',
105
- value: 'tabs'
106
- }]
107
- }, // Template
108
- {
109
- type: 'list',
110
- name: 'template',
111
- when: function when(opts) {
112
- return opts.newProject && opts["package"] === 'zmp-framework' && !opts.useUIKits && opts.framework !== 'vue';
113
- },
114
- message: 'Choose starter template:',
115
- choices: [{
116
- name: 'Blank',
117
- value: 'blank'
118
- }]
119
- }, {
120
- type: 'list',
121
- name: 'cssPreProcessor',
122
- when: function when(opts) {
123
- return opts.newProject;
124
- },
125
- message: 'Do you want to setup CSS Pre-Processor',
126
- "default": false,
127
- choices: [{
128
- name: 'No, i am good with CSS',
129
- value: false
130
- }, {
131
- name: 'Less',
132
- value: 'less'
133
- }, {
134
- name: 'SCSS (SASS)',
135
- value: 'scss'
136
- }, {
137
- name: 'Stylus',
138
- value: 'stylus'
139
- }]
140
- }, // Template
141
- {
142
- type: 'list',
143
- name: 'template',
144
- when: function when(opts) {
145
- return opts["package"] === 'zmp-ui';
146
- },
147
- message: 'Choose starter template:',
148
- choices: [{
149
- name: 'Blank',
150
- value: 'blank'
151
- }, {
152
- name: 'Single View',
153
- value: 'single-view'
154
- }]
155
- }, // Color
156
- {
157
- type: 'list',
158
- name: 'themingCustomColor',
159
- when: function when(opts) {
160
- return opts.newProject && opts["package"] !== 'zmp-ui';
161
- },
162
- message: 'Do you want to specify custom theme color?',
163
- choices: [{
164
- name: 'No, use default color theme',
165
- value: false
166
- }, {
167
- name: 'Yes, i want to specify my brand color',
168
- value: true
169
- }]
170
- }, {
171
- type: 'input',
172
- name: 'themingColor',
173
- message: 'Enter custom theme color in HEX format (e.g. ff0000)',
174
- when: function when(opts) {
175
- return opts.themingCustomColor === true;
176
- },
177
- validate: function validate(input) {
178
- return new Promise(function (resolve, reject) {
179
- var num = input.replace(/#/g, '');
180
- if (num.length === 3 || num.length === 6) resolve(true);else reject(new Error("It doesn't look like a correct HEX number"));
181
- });
182
- },
183
- filter: function filter(input) {
184
- return input.replace(/#/g, '');
185
- }
186
- }, {
187
- type: 'list',
188
- name: 'themingIconFonts',
189
- when: function when(opts) {
190
- return opts.newProject && opts["package"] !== 'zmp-ui';
191
- },
192
- message: 'Do you want to include ZMP Icons and Material Icons icon fonts?',
193
- "default": true,
194
- choices: [{
195
- name: 'Yes, include icon fonts',
196
- value: true
197
- }, {
198
- name: 'No, i want to use my own custom icons',
199
- value: false
200
- }]
201
- }, {
202
- type: 'list',
203
- name: 'moreOptions',
204
- when: function when(opts) {
205
- return opts.newProject;
206
- },
207
- message: "More Options?\n".concat(moreOptionsText),
208
- "default": false,
209
- choices: [{
210
- name: 'No, I want to complete initializing process now',
211
- value: false
212
- }, {
213
- name: 'Yes, I want to get more options',
214
- value: true
215
- }]
216
- }, {
217
- type: 'list',
218
- name: 'includeTailwind',
219
- when: function when(opts) {
220
- return opts.moreOptions;
221
- },
222
- message: 'Do you want to include Tailwind CSS?',
223
- "default": true,
224
- choices: [{
225
- name: 'Yes, I want to iclude Tailwind CSS',
226
- value: true
227
- }, {
228
- name: 'No',
229
- value: false
230
- }]
231
- }, {
232
- type: 'list',
233
- name: 'stateManagement',
234
- when: function when(opts) {
235
- return opts.moreOptions && (opts.framework === 'react' || opts.framework === 'react-typescript');
236
- },
237
- message: 'Which state management library would you like to use?',
238
- "default": 'store',
239
- choices: [{
240
- name: 'ZMP Store (Redux pattern)',
241
- value: 'store'
242
- }, {
243
- name: 'Recoil',
244
- value: 'recoil'
245
- }]
246
- }];
247
-
248
- module.exports = function getOptions() {
249
- var listQuestion = questions;
250
- return inquirer.prompt(listQuestion).then(function (options) {
251
- options.theming = {
252
- customColor: options.themingCustomColor,
253
- color: options.themingCustomColor && options.themingColor ? "#".concat(options.themingColor) : '#007aff',
254
- darkTheme: false,
255
- iconFonts: options.themingIconFonts,
256
- fillBars: false,
257
- useUiKits: options.useUIKits
258
- };
259
- options.customBuild = false;
260
- options.includeTailwind = options.moreOptions && options.includeTailwind;
261
-
262
- if (!options.stateManagement) {
263
- options.stateManagement = 'store';
264
- }
265
-
266
- if (options["package"] === 'zmp-ui') {
267
- options.stateManagement = 'recoil';
268
- }
269
-
270
- delete options.themingCustomColor;
271
- delete options.themingColor;
272
- delete options.themingIconFonts;
273
- delete options.useUIKits;
274
- delete options.moreOptions;
275
- return Promise.resolve(options);
276
- });
277
- };
@@ -1,43 +0,0 @@
1
- const templateIf = require('./template-if');
2
-
3
- module.exports = (options) => {
4
- return `
5
- # Logs
6
- logs
7
- *.log
8
- npm-debug.log*
9
- yarn-debug.log*
10
- yarn-error.log*
11
-
12
- # Runtime data
13
- pids
14
- *.pid
15
- *.seed
16
- *.pid.lock
17
-
18
- # Dependency directories
19
- node_modules/
20
-
21
- # Optional npm cache directory
22
- .npm
23
-
24
- # Optional eslint cache
25
- .eslintcache
26
-
27
- # Optional REPL history
28
- .node_repl_history
29
-
30
- # Yarn Integrity file
31
- .yarn-integrity
32
-
33
- # dotenv environment variables file
34
- .env
35
-
36
- # Misc
37
- .DS_Store
38
- Thumbs.db
39
-
40
- # Production build
41
- www/
42
- `;
43
- };
@@ -1,132 +0,0 @@
1
- const generateNpmScripts = require('./generate-npm-scripts');
2
- const { generateTailWindScripts } = require('./generate-npm-scripts');
3
-
4
- module.exports = function generatePackageJson(options) {
5
- const {
6
- name,
7
- package,
8
- framework,
9
- cssPreProcessor,
10
- includeTailwind,
11
- stateManagement,
12
- } = options;
13
-
14
- // Dependencies
15
- const dependencies =
16
- package === 'zmp-ui'
17
- ? ['zmp-ui', 'zmp-sdk', 'react-router-dom']
18
- : ['zmp-framework', 'zmp-sdk', 'swiper'];
19
- const dependenciesVue = ['vue@3', 'zmp-framework'];
20
- const dependenciesReact = ['react', 'react-dom', 'prop-types'];
21
- const tailwindDependencies = [
22
- 'autoprefixer',
23
- 'tailwindcss',
24
- 'postcss@^8',
25
- 'postcss-cli@^8',
26
- ];
27
- const recoilDependencies = ['recoil'];
28
-
29
- if (framework === 'vue') {
30
- dependencies.push(...dependenciesVue);
31
- } else if (framework === 'react' || framework === 'react-typescript') {
32
- dependencies.push(...dependenciesReact);
33
- if (stateManagement === 'recoil') {
34
- dependencies.push(...recoilDependencies);
35
- }
36
- }
37
-
38
- const devDependencies = [
39
- 'cross-env',
40
- 'postcss-preset-env@6.7.0',
41
- 'vite@2.6.14',
42
- ];
43
- if (framework === 'react-typescript') {
44
- devDependencies.push('@types/react', '@types/react-dom');
45
- if (package === 'zmp-ui') {
46
- devDependencies.push('@types/react-router-dom');
47
- }
48
- }
49
- // CSS PreProcessor
50
- if (cssPreProcessor === 'stylus') devDependencies.push(...['stylus']);
51
- else if (cssPreProcessor === 'less') devDependencies.push(...['less']);
52
- else if (cssPreProcessor === 'scss') devDependencies.push(...['sass']);
53
-
54
- // DevDependencies
55
- const devDependenciesCore = ['zmp-loader'];
56
- const devDependenciesReact = ['@vitejs/plugin-react-refresh'];
57
- const devDependenciesVue = ['@vitejs/plugin-vue@2.3.3', '@vue/compiler-sfc'];
58
-
59
- if (framework === 'react' || framework === 'react-typescript')
60
- devDependencies.push(
61
- ...[devDependenciesReact],
62
- ...(includeTailwind ? tailwindDependencies : [])
63
- );
64
- else if (framework === 'vue')
65
- devDependencies.push(
66
- ...devDependenciesVue,
67
- ...(includeTailwind ? tailwindDependencies : [])
68
- );
69
- else if (framework === 'core')
70
- devDependencies.push(
71
- ...devDependenciesCore,
72
- ...(includeTailwind ? tailwindDependencies : [])
73
- );
74
-
75
- if (package === 'zmp-ui') {
76
- dependencies.push('recoil');
77
- dependencies.push(...dependenciesReact);
78
- devDependencies.push(
79
- ...[devDependenciesReact],
80
- ...(includeTailwind ? tailwindDependencies : [])
81
- );
82
- }
83
- // Scripts
84
- const scripts = {};
85
- generateNpmScripts().forEach((s) => {
86
- scripts[s.name] = s.script;
87
- });
88
- if (includeTailwind) {
89
- generateTailWindScripts().forEach((s) => {
90
- scripts[s.name] = s.script;
91
- });
92
- }
93
- const postInstall = [];
94
-
95
- if (postInstall.length) {
96
- scripts.postinstall = postInstall.join(' && ');
97
- }
98
-
99
- // Content
100
- const content = `
101
- {
102
- "name": "${name
103
- .toLowerCase()
104
- .replace(/[ ]{2,}/, ' ')
105
- .replace(/ /g, '-')}",
106
- "private": true,
107
- "version": "1.0.0",
108
- "description": "${name}",
109
- "repository" : "",
110
- "license" : "UNLICENSED",
111
- "browserslist": [
112
- "Android >= 5",
113
- "IOS >= 9.3",
114
- "Edge >= 15",
115
- "Safari >= 9.1",
116
- "Chrome >= 49",
117
- "Firefox >= 31",
118
- "Samsung >= 5"
119
- ],
120
- "scripts" : ${JSON.stringify(scripts)},
121
- "dependencies": {},
122
- "devDependencies": {}
123
- }
124
- `.trim();
125
-
126
- return {
127
- content,
128
- dependencies,
129
- devDependencies,
130
- postInstall,
131
- };
132
- };
@@ -1,28 +0,0 @@
1
- const generateNpmScripts = require('./generate-npm-scripts');
2
-
3
- module.exports = (options) => {
4
- const { name } = options;
5
-
6
- const npmScripts = generateNpmScripts().map((s) => {
7
- return `* ${s.icon} \`${s.name}\` - ${s.description}`;
8
- });
9
-
10
- return `
11
-
12
- # ${name}
13
-
14
- ## ZMP CLI Options
15
-
16
- ZMP app created with following options:
17
-
18
- \`\`\`
19
- ${JSON.stringify(options, null, 2)}
20
- \`\`\`
21
-
22
- ## NPM Scripts
23
-
24
- ${npmScripts.join('\n')}
25
- `
26
- .trim()
27
- .replace(/[\n]{3,}/, '\n');
28
- };
@@ -1,31 +0,0 @@
1
- module.exports = (indent, str) => {
2
- if (typeof indent === 'undefined') return str.trim();
3
- let minIndent;
4
- str.split('\n').forEach((line) => {
5
- const match = line.match(/[ ]*/);
6
- if (match) {
7
- if (match[0].length === line.length) return;
8
- if (typeof minIndent === 'undefined') minIndent = match[0].length;
9
- else minIndent = Math.min(minIndent, match[0].length);
10
- }
11
- });
12
- if (typeof minIndent === 'undefined') return str.trim();
13
- return str
14
- .split('\n')
15
- .map((l) => {
16
- const lineIndentMatch = l.match(/[ ]*/);
17
- let lineIndent = 0;
18
- if (lineIndentMatch) lineIndent = Math.max(lineIndentMatch[0].length - minIndent, 0);
19
- return `${' '.repeat(indent + lineIndent)}${l.replace(/^\s+/, '')}`;
20
- })
21
- .map((l) => {
22
- if (!l.trim().length && l.length) return l.trim();
23
- return l;
24
- })
25
- .filter((l, index, arr) => {
26
- if (index === 0 && !l.trim().length && l.length) return false;
27
- if (index === arr.length - 1 && !l.trim().length && l.length) return false;
28
- return true;
29
- })
30
- .join('\n');
31
- };
@@ -1,13 +0,0 @@
1
- const capitalize = (string) => {
2
- if (!string) {
3
- return '';
4
- }
5
- const words = string
6
- .split(/[,.\-_\s]/)
7
- .map((word) => word[0].toUpperCase() + word.substring(1));
8
-
9
- return words.join('');
10
- };
11
- module.exports = {
12
- capitalize,
13
- };
@@ -1,9 +0,0 @@
1
- module.exports = (cssPreProcessor) => {
2
- if (!cssPreProcessor) return 'css';
3
- const exts = {
4
- less: 'less',
5
- stylus: 'styl',
6
- scss: 'scss',
7
- };
8
- return exts[cssPreProcessor];
9
- };
@@ -1,9 +0,0 @@
1
- module.exports = (condition, callback, callbackElse) => {
2
- if (condition) {
3
- return callback().trim();
4
- }
5
- if (callbackElse) {
6
- return callbackElse().trim();
7
- }
8
- return '';
9
- };