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,216 +0,0 @@
1
- #!/usr/bin/env node
2
- /* eslint no-console: off */
3
- const exec = require('exec-sh');
4
- const path = require('path');
5
- const chalk = require('chalk');
6
- const logSymbols = require('log-symbols');
7
- const fse = require('../utils/fs-extra');
8
- const generatePackageJson = require('./utils/generate-package-json');
9
- const generateNpmScripts = require('./utils/generate-npm-scripts');
10
-
11
- const generateAppConfig = require('./utils/generate-app-config');
12
-
13
- const createFolders = require('./templates/create-folders');
14
- const copyAssets = require('./templates/copy-assets');
15
- const generateReadme = require('./utils/generate-readme');
16
- const generateGitignore = require('./utils/generate-gitignore');
17
- const log = require('../utils/log');
18
- const config = require('../config');
19
-
20
- const waitText = chalk.gray('(Please wait, it can take a while)');
21
-
22
- module.exports = async (
23
- options = {},
24
- logger,
25
- { exitOnError = true, iconFile = null } = {}
26
- ) => {
27
- const cwd = options.cwd || process.cwd();
28
- const isRunningInCwd = cwd === process.cwd();
29
- function errorExit(err) {
30
- log.error(err.stderr || err);
31
- if (exitOnError) process.exit(1);
32
- }
33
- if (!logger) {
34
- // eslint-disable-next-line
35
- logger = {
36
- statusStart() {},
37
- statusDone() {},
38
- statusError() {},
39
- text() {},
40
- error() {},
41
- };
42
- }
43
- // App config
44
- logger.statusStart('Generating app-config.json');
45
- const appConfig = generateAppConfig(options);
46
-
47
- fse.writeFileSync(
48
- path.join(cwd, config.filename.appConfig),
49
- appConfig.content
50
- );
51
- logger.statusDone('Generating app-config.json');
52
-
53
- if (!options.newProject) {
54
- const deployScripts = generateNpmScripts(['r']).map((s) => {
55
- return `${s.icon} Run "npm run ${s.name}" - ${s.description}`;
56
- });
57
- logger.text(deployScripts.join('\n'));
58
- process.exit(0);
59
- }
60
-
61
- // Package
62
- logger.statusStart('Generating package.json');
63
- const packageJson = generatePackageJson(options);
64
- fse.writeFileSync(path.join(cwd, 'package.json'), packageJson.content);
65
- fse.writeFileSync(
66
- path.join(cwd, config.filename.zmpConfig),
67
- JSON.stringify(options, '', 2)
68
- );
69
-
70
- logger.statusDone('Generating package.json');
71
-
72
- // Create Folders
73
- logger.statusStart('Creating required folders structure');
74
- try {
75
- createFolders(options);
76
- } catch (err) {
77
- logger.statusError('Error creating required folders structure');
78
- // if (err) logger.error(err.stderr);
79
- errorExit(err);
80
- }
81
- logger.statusDone('Creating required folders structure');
82
-
83
- // Install NPM depenencies
84
- logger.statusStart(`${'Installing NPM Dependencies'} ${waitText}`);
85
- try {
86
- if (!isRunningInCwd) {
87
- await exec.promise(
88
- `cd ${cwd.replace(
89
- / /g,
90
- '\\ '
91
- )} && npm install ${packageJson.dependencies.join(' ')} --save`,
92
- true
93
- );
94
- } else {
95
- await exec.promise(
96
- `npm install ${packageJson.dependencies.join(' ')} --save`,
97
- true
98
- );
99
- }
100
- } catch (err) {
101
- logger.statusError('Error installing NPM Dependencies');
102
- // if (err) logger.error(err.stderr);
103
- errorExit(err);
104
- return;
105
- }
106
- logger.statusDone('Installing NPM Dependencies');
107
- // Install NPM dev depenencies
108
- logger.statusStart(`${'Installing NPM Dev Dependencies'} ${waitText}`);
109
- try {
110
- if (!isRunningInCwd) {
111
- await exec.promise(
112
- `cd ${cwd.replace(
113
- / /g,
114
- '\\ '
115
- )} && npm install ${packageJson.devDependencies.join(' ')} --save-dev`,
116
- true
117
- );
118
- } else {
119
- await exec.promise(
120
- `npm install ${packageJson.devDependencies.join(' ')} --save-dev`,
121
- true
122
- );
123
- }
124
- } catch (err) {
125
- logger.statusError('Error installing NPM Dev Dependencies');
126
- // if (err) logger.error(err.stderr);
127
- errorExit(err);
128
- return;
129
- }
130
- logger.statusDone('Installing NPM Dev Dependencies');
131
-
132
- if (packageJson.postInstall && packageJson.postInstall.length) {
133
- logger.statusStart('Executing NPM Scripts');
134
- try {
135
- if (!isRunningInCwd) {
136
- await exec.promise(
137
- `cd ${cwd.replace(/ /g, '\\ ')} && npm run postinstall`,
138
- true
139
- );
140
- } else {
141
- await exec.promise('npm run postinstall', true);
142
- }
143
- } catch (err) {
144
- logger.statusError('Error executing NPM Scripts');
145
- // if (err) logger.error(err.stderr);
146
- errorExit(err);
147
- return;
148
- }
149
- logger.statusDone('Executing NPM Scripts');
150
- }
151
-
152
- // Create Project Files
153
- logger.statusStart('Creating project files');
154
- const filesToCopy = copyAssets(options, iconFile);
155
- try {
156
- // eslint-disable-next-line
157
- await Promise.all(
158
- filesToCopy.map((f) => {
159
- if (f.from) {
160
- return fse.copyFileAsync(f.from, f.to);
161
- }
162
- if (f.content) {
163
- return fse.writeFileAsync(f.to, f.content);
164
- }
165
- return Promise.resolve();
166
- })
167
- );
168
- } catch (err) {
169
- logger.statusError('Error creating project files');
170
- // if (err) logger.error(err.stderr || err);
171
- errorExit(err);
172
- return;
173
- }
174
-
175
- // Generate Readme
176
- const readMeContent = generateReadme(options);
177
- try {
178
- fse.writeFileSync(path.join(cwd, 'README.md'), readMeContent);
179
- } catch (err) {
180
- logger.statusError('Error creating project files');
181
- // if (err) logger.error(err.stderr || err);
182
- errorExit(err);
183
- return;
184
- }
185
-
186
- // Generate .gitignore
187
- const gitignoreContent = generateGitignore(options);
188
- try {
189
- fse.writeFileSync(path.join(cwd, '.gitignore'), gitignoreContent);
190
- } catch (err) {
191
- logger.statusError('Error creating project files');
192
- // if (err) logger.error(err.stderr || err);
193
- errorExit(err);
194
- return;
195
- }
196
-
197
- logger.statusDone('Creating project files');
198
-
199
- let npmScripts = generateNpmScripts(['s', 'r']).map((s) => {
200
- return `- ${s.icon} Run "npm run ${s.name}" - ${s.description}`;
201
- });
202
-
203
- // Final Text
204
- const finalText = `
205
- ${chalk.bold(logSymbols.success)} ${chalk.bold('Done!')} 💪
206
-
207
- ${chalk.bold(logSymbols.info)} ${chalk.bold('Next steps:')}
208
- ${npmScripts.join('\n ')}
209
- - 📖 Visit documentation at ${chalk.bold('https://mini.zalo.me/')}
210
- - 📖 Check ${chalk.bold(
211
- 'README.md'
212
- )} in project root folder with further instructions
213
- `;
214
-
215
- logger.text(finalText);
216
- };
@@ -1,33 +0,0 @@
1
- const indent = require('../utils/indent');
2
- const templateIf = require('../utils/template-if');
3
-
4
- module.exports = (options) => {
5
- const { framework, pkg, name, bundler, stateManagement } = options;
6
-
7
- return indent(
8
- 0,
9
- `
10
- name: '${name}', // App name
11
- theme: 'auto', // Automatic theme detection
12
- ${templateIf(stateManagement === 'store', () => `
13
- // App store
14
- store: store,
15
- `)}
16
- ${templateIf(framework === 'core', () => `el: '#app', // App root element`)}
17
- ${templateIf(
18
- framework === 'core' && bundler,
19
- () => `component: App, // App main component`
20
- )}
21
- ${templateIf(pkg, () => `id: '${pkg}', // App bundle ID`)}
22
- ${templateIf(
23
- framework === 'core',
24
- () => ` on: {
25
- init: function () {
26
- var zmp = this;
27
- },
28
- },
29
- `
30
- )}
31
- `
32
- ).trim();
33
- };
@@ -1,60 +0,0 @@
1
- /* Material Icons Font (for MD theme) */
2
- @font-face {
3
- font-family: 'Material Icons';
4
- font-style: normal;
5
- font-weight: 400;
6
- src: url(//h5.zdn.vn/static/fonts/MaterialIcons-Regular.eot);
7
- src: local('Material Icons'),
8
- local('MaterialIcons-Regular'),
9
- url(//h5.zdn.vn/static/fonts/MaterialIcons-Regular.woff2) format('woff2'),
10
- url(//h5.zdn.vn/static/fonts/MaterialIcons-Regular.woff) format('woff'),
11
- url(//h5.zdn.vn/static/fonts/MaterialIcons-Regular.ttf) format('truetype');
12
- }
13
- .material-icons {
14
- font-family: 'Material Icons';
15
- font-weight: normal;
16
- font-style: normal;
17
- font-size: 24px;
18
- display: inline-flex;
19
- line-height: 1;
20
- text-transform: none;
21
- letter-spacing: normal;
22
- word-wrap: normal;
23
- white-space: nowrap;
24
- direction: ltr;
25
- -webkit-font-smoothing: antialiased;
26
- text-rendering: optimizeLegibility;
27
- -moz-osx-font-smoothing: grayscale;
28
- font-feature-settings: 'liga';
29
- }
30
-
31
- /* ZMP Icons Font (for iOS theme) */
32
- @font-face {
33
- font-family: 'ZMP Icons';
34
- font-style: normal;
35
- font-weight: 400;
36
- src: url("//h5.zdn.vn/static/fonts/ZMPIcons-Regular-v2.woff2") format("woff2"),
37
- url("//h5.zdn.vn/static/fonts/ZMPIcons-Regular-v2.woff") format("woff"),
38
- url("//h5.zdn.vn/static/fonts/ZMPIcons-Regular-v2.ttf") format("truetype");
39
- }
40
- .zmp-icons {
41
- font-family: 'ZMP Icons';
42
- font-weight: normal;
43
- font-style: normal;
44
- font-size: 28px;
45
- line-height: 1;
46
- letter-spacing: normal;
47
- text-transform: none;
48
- display: inline-flex;
49
- white-space: nowrap;
50
- word-wrap: normal;
51
- direction: ltr;
52
- -webkit-font-smoothing: antialiased;
53
- text-rendering: optimizeLegibility;
54
- -moz-osx-font-smoothing: grayscale;
55
- -webkit-font-feature-settings: "liga";
56
- -moz-font-feature-settings: "liga=1";
57
- -moz-font-feature-settings: "liga";
58
- font-feature-settings: "liga";
59
- text-align: center;
60
- }
@@ -1,5 +0,0 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-preset-env': {},
4
- },
5
- };
@@ -1,5 +0,0 @@
1
- const tailwindcss = require('tailwindcss');
2
-
3
- module.exports = {
4
- plugins: [tailwindcss('./tailwind.config.js'), require('autoprefixer')],
5
- };
@@ -1,9 +0,0 @@
1
- module.exports = {
2
- purge: {
3
- enabled: true,
4
- content: ['./src/**/*.{js,jsx,ts,tsx,vue}'],
5
- },
6
- theme: {
7
- extend: {},
8
- },
9
- };
@@ -1,3 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
@@ -1,41 +0,0 @@
1
- const webpack = require('webpack');
2
- const ora = require('ora');
3
- const rm = require('rimraf');
4
- const chalk = require('chalk');
5
- const config = require('./webpack.config.js');
6
-
7
- const env = process.env.NODE_ENV || 'development';
8
- const target = process.env.TARGET || 'web';
9
-
10
- const spinner = ora(
11
- env === 'production'
12
- ? 'building for production...'
13
- : 'building development version...'
14
- );
15
- spinner.start();
16
-
17
- rm('./www/', (removeErr) => {
18
- if (removeErr) throw removeErr;
19
-
20
- webpack(config, (err, stats) => {
21
- if (err) throw err;
22
- spinner.stop();
23
-
24
- process.stdout.write(
25
- `${stats.toString({
26
- colors: true,
27
- modules: false,
28
- children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
29
- chunks: false,
30
- chunkModules: false,
31
- })}\n\n`
32
- );
33
-
34
- if (stats.hasErrors()) {
35
- console.log(chalk.red('Build failed with errors.\n'));
36
- process.exit(1);
37
- }
38
-
39
- console.log(chalk.cyan('Build complete.\n'));
40
- });
41
- });
@@ -1,158 +0,0 @@
1
- const path = require('path');
2
- const fse = require('../../utils/fs-extra');
3
- const stylesExtension = require('../utils/styles-extension');
4
- const copyVueAssets = require('./vue/copy-assets');
5
- const copyReactAssets = require('./react/copy-assets');
6
- const copyReactTsAssets = require('./react-typescript/copy-assets');
7
- const generateIndex = require('./generate-index');
8
- const generateStyles = require('./generate-styles');
9
- const generateScripts = require('./generate-scripts');
10
- const generateZMPCustom = require('./generate-zmp-custom');
11
- const copyZauiAssets = require('./zaui/copy-assets');
12
- const { projectFramework } = require('../../utils/constants');
13
-
14
- module.exports = (options, iconFile) => {
15
- const cwd = options.cwd || process.cwd();
16
- const {
17
- package,
18
- framework,
19
- theming,
20
- cssPreProcessor,
21
- customBuild,
22
- includeTailwind,
23
- } = options;
24
-
25
- const srcFolder = 'src';
26
-
27
- const toCopy = [];
28
- if (package !== 'zmp-ui') {
29
- if (framework === projectFramework.VUE)
30
- toCopy.push(...copyVueAssets(options));
31
- if (framework === projectFramework.REACT)
32
- toCopy.push(...copyReactAssets(options));
33
- if (framework === projectFramework.REACT_TYPESCRIPT) {
34
- toCopy.push(...copyReactTsAssets(options));
35
- }
36
- } else {
37
- toCopy.push(...copyZauiAssets(options));
38
- }
39
- if (theming.iconFonts) {
40
- // Copy Icons CSS
41
- toCopy.push({
42
- from: path.resolve(__dirname, 'common', 'css', 'icons.css'),
43
- to: path.resolve(cwd, srcFolder, 'css', 'icons.css'),
44
- });
45
- }
46
-
47
- if (includeTailwind) {
48
- toCopy.push(
49
- {
50
- from: path.resolve(__dirname, 'common', 'tailwind', 'tailwind.css'),
51
- to: path.resolve(cwd, srcFolder, 'css', 'tailwind.css'),
52
- },
53
- {
54
- from: path.resolve(
55
- __dirname,
56
- 'common',
57
- 'tailwind',
58
- 'tailwind.config.js'
59
- ),
60
- to: path.resolve(cwd, 'tailwind.config.js'),
61
- },
62
- {
63
- from: path.resolve(
64
- __dirname,
65
- 'common',
66
- 'tailwind',
67
- 'postcss.config.js'
68
- ),
69
- to: path.resolve(cwd, 'postcss.config.js'),
70
- }
71
- );
72
- }
73
-
74
- let appScriptFileName = 'app.js';
75
- if (framework === 'react-typescript') {
76
- appScriptFileName = 'app.ts';
77
- }
78
-
79
- // Copy Main Assets
80
- toCopy.push(
81
- ...[
82
- {
83
- content: generateIndex(options),
84
- to: path.resolve(cwd, 'index.html'),
85
- },
86
- {
87
- content: generateStyles(options),
88
- to: path.resolve(
89
- cwd,
90
- srcFolder,
91
- 'css',
92
- `app.${stylesExtension(cssPreProcessor)}`
93
- ),
94
- },
95
- {
96
- content: generateScripts(options),
97
- to: path.resolve(cwd, srcFolder, appScriptFileName),
98
- },
99
- ]
100
- );
101
-
102
- // Copy Custom Build
103
- if (customBuild) {
104
- const customBuildAssets = generateZMPCustom(options);
105
- toCopy.push(
106
- ...[
107
- {
108
- content: customBuildAssets.styles,
109
- to: path.resolve(cwd, srcFolder, 'css', 'zmp-custom.less'),
110
- },
111
- {
112
- content: customBuildAssets.scripts,
113
- to: path.resolve(cwd, srcFolder, 'js', 'zmp-custom.js'),
114
- },
115
- ]
116
- );
117
- }
118
-
119
- if (!includeTailwind) {
120
- // Copy PostCSS config
121
- toCopy.push({
122
- from: path.resolve(__dirname, 'common', 'postcss.config.js'),
123
- to: path.resolve(cwd, 'postcss.config.js'),
124
- });
125
- }
126
-
127
- // Copy Web Images & Icons
128
- const assetsFolder = 'static';
129
- fse.readdirSync(path.resolve(__dirname, 'common', 'icons')).forEach((f) => {
130
- if (f.indexOf('.') === 0) return;
131
- toCopy.push({
132
- from: path.resolve(__dirname, 'common', 'icons', f),
133
- to: path.resolve(cwd, srcFolder, assetsFolder, 'icons', f),
134
- });
135
- });
136
-
137
- if (iconFile) {
138
- fse.writeFileSync(
139
- path.resolve(cwd, 'assets-src', 'web-icon.png'),
140
- iconFile
141
- );
142
- fse.writeFileSync(
143
- path.resolve(cwd, 'assets-src', 'apple-touch-icon.png'),
144
- iconFile
145
- );
146
- } else {
147
- toCopy.push({
148
- from: path.resolve(__dirname, 'common', 'icons', '512x512.png'),
149
- to: path.resolve(cwd, 'assets-src', 'web-icon.png'),
150
- });
151
- toCopy.push({
152
- from: path.resolve(__dirname, 'common', 'icons', 'apple-touch-icon.png'),
153
- to: path.resolve(cwd, 'assets-src', 'apple-touch-icon.png'),
154
- });
155
- }
156
-
157
- return toCopy;
158
- };
@@ -1,11 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- '@babel/preset-react',
4
- ['@babel/preset-env', {
5
- modules: false,
6
- }],
7
- ],
8
- plugins: [
9
- '@babel/plugin-transform-runtime',
10
- ],
11
- };
@@ -1,83 +0,0 @@
1
- const path = require('path');
2
- const fse = require('../../../utils/fs-extra');
3
- const generateHomePage = require('./generate-home-page');
4
- const generateRoot = require('./generate-root');
5
- const generateStore = require('../generate-store');
6
- const indent = require('../../utils/indent');
7
-
8
- module.exports = (options) => {
9
- const cwd = options.cwd || process.cwd();
10
- const { template, bundler } = options;
11
- const toCopy = [];
12
- const srcFolder = bundler ? 'src' : 'www';
13
-
14
- // Copy Pages
15
- const pages = [
16
- ...(template !== 'blank' ? ['404', 'about', 'dynamic-route', 'form'] : []),
17
- ...(template === 'tabs' ? ['catalog', 'product', 'settings'] : []),
18
- ...(template === 'split-view' ? ['left-page-1', 'left-page-2'] : []),
19
- ];
20
-
21
- pages.forEach((p) => {
22
- const src = path.resolve(__dirname, 'pages', `${p}.html`);
23
- const dest = path.resolve(cwd, srcFolder, 'pages');
24
- if (bundler !== 'webpack') {
25
- toCopy.push({
26
- from: src,
27
- to: path.resolve(dest, `${p}.html`),
28
- });
29
- } else {
30
- let content = fse.readFileSync(src);
31
- if (content.trim().indexOf('<template') !== 0) {
32
- content = `<template>\n${content.trim()}\n</template>\n<script>\nexport default () => {\n return $render;\n};\n</script>`;
33
- }
34
- toCopy.push({
35
- content,
36
- to: path.resolve(dest, `${p}.zmp.html`),
37
- });
38
- }
39
- });
40
- toCopy.push({
41
- content: generateStore(options),
42
- to: path.resolve(cwd, srcFolder, 'store.js'),
43
- });
44
-
45
- if (bundler) {
46
- toCopy.push({
47
- content: `<template>\n${indent(
48
- 2,
49
- generateHomePage(options).trim()
50
- )}\n</template>\n<script>\nexport default () => {\n return $render;\n}\n</script>`,
51
- to: path.resolve(cwd, srcFolder, 'pages', 'home.zmp.html'),
52
- });
53
- toCopy.push({
54
- content: generateRoot(options),
55
- to: path.resolve(cwd, srcFolder, 'app.zmp.html'),
56
- });
57
-
58
- toCopy.push({
59
- from: path.resolve(__dirname, 'babel.config.js'),
60
- to: path.resolve(cwd, 'babel.config.js'),
61
- });
62
- } else {
63
- // Copy ZMP
64
- toCopy.push(...[]);
65
- fse
66
- .readdirSync(path.resolve(cwd, 'node_modules', 'zmp-framework/core'))
67
- .filter((f) => {
68
- return (
69
- f.indexOf('.js') >= 0 ||
70
- f.indexOf('.css') >= 0 ||
71
- f.indexOf('.map') >= 0
72
- );
73
- })
74
- .forEach((f) => {
75
- toCopy.push({
76
- from: path.resolve(cwd, 'node_modules', 'zmp-framework/core', f),
77
- to: path.resolve(cwd, srcFolder, 'zmp-framework/core', f),
78
- });
79
- });
80
- }
81
-
82
- return toCopy;
83
- };