zmp-cli 3.15.6 → 3.15.7

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 (166) hide show
  1. package/README.md +1 -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/init-zmp-ui.js +1 -216
  6. package/create/templates/app-parameters.js +9 -25
  7. package/create/templates/common/webpack/build.js +2 -40
  8. package/create/templates/copy-assets.js +1 -158
  9. package/create/templates/core/copy-assets.js +14 -82
  10. package/create/templates/core/generate-home-page.js +16 -38
  11. package/create/templates/core/generate-root.js +28 -63
  12. package/create/templates/core/generate-routes.js +12 -38
  13. package/create/templates/core/generate-scripts.js +16 -65
  14. package/create/templates/create-folders.js +1 -30
  15. package/create/templates/generate-config-xml.js +2 -9
  16. package/create/templates/generate-index.js +10 -35
  17. package/create/templates/generate-manifest.js +1 -49
  18. package/create/templates/generate-recoil.js +4 -16
  19. package/create/templates/generate-routes.js +1 -16
  20. package/create/templates/generate-scripts.js +1 -16
  21. package/create/templates/generate-service-worker.js +4 -10
  22. package/create/templates/generate-store.js +4 -15
  23. package/create/templates/generate-styles.js +10 -64
  24. package/create/templates/generate-webpack-config.js +43 -125
  25. package/create/templates/generate-zmp-custom.js +14 -72
  26. package/create/templates/react/copy-assets.js +1 -85
  27. package/create/templates/react/generate-home-page.js +20 -50
  28. package/create/templates/react/generate-root.js +15 -44
  29. package/create/templates/react/generate-routes.js +1 -16
  30. package/create/templates/react/generate-scripts.js +12 -38
  31. package/create/templates/react/pages/404.js +2 -10
  32. package/create/templates/react/pages/about.js +2 -10
  33. package/create/templates/react/pages/catalog.js +3 -17
  34. package/create/templates/react/pages/dynamic-route.js +2 -10
  35. package/create/templates/react/pages/form.js +6 -26
  36. package/create/templates/react/pages/index copy.js +1 -17
  37. package/create/templates/react/pages/index.js +1 -17
  38. package/create/templates/react/pages/settings.js +3 -17
  39. package/create/templates/react/pages/user.js +8 -27
  40. package/create/templates/react-typescript/components/app-items.js +2 -9
  41. package/create/templates/react-typescript/components/index.js +1 -9
  42. package/create/templates/react-typescript/components/navbar-back.js +2 -9
  43. package/create/templates/react-typescript/components/user-card.js +2 -9
  44. package/create/templates/react-typescript/copy-assets.js +1 -94
  45. package/create/templates/react-typescript/generate-home-page.js +20 -52
  46. package/create/templates/react-typescript/generate-root.js +14 -45
  47. package/create/templates/react-typescript/generate-routes.js +1 -12
  48. package/create/templates/react-typescript/generate-scripts.js +12 -37
  49. package/create/templates/react-typescript/pages/404.js +2 -10
  50. package/create/templates/react-typescript/pages/about.js +2 -10
  51. package/create/templates/react-typescript/pages/catalog.js +3 -17
  52. package/create/templates/react-typescript/pages/dynamic-route.js +2 -10
  53. package/create/templates/react-typescript/pages/form.js +6 -26
  54. package/create/templates/react-typescript/pages/index.js +1 -17
  55. package/create/templates/react-typescript/pages/settings.js +3 -17
  56. package/create/templates/react-typescript/pages/user.js +8 -27
  57. package/create/templates/svelte/copy-assets.js +1 -47
  58. package/create/templates/svelte/generate-home-page.js +20 -56
  59. package/create/templates/svelte/generate-root.js +22 -80
  60. package/create/templates/svelte/generate-routes.js +7 -22
  61. package/create/templates/svelte/generate-scripts.js +7 -23
  62. package/create/templates/vue/copy-assets.js +1 -67
  63. package/create/templates/vue/generate-home-page.js +2 -8
  64. package/create/templates/vue/generate-root.js +3 -13
  65. package/create/templates/vue/generate-routes.js +1 -7
  66. package/create/templates/vue/generate-scripts.js +9 -26
  67. package/create/templates/vue/global-components.d.js +1 -0
  68. package/create/templates/zaui/copy-assets.js +1 -90
  69. package/create/templates/zaui/generate-home-page.js +27 -53
  70. package/create/templates/zaui/generate-root.js +14 -34
  71. package/create/templates/zaui/generate-routes.js +1 -10
  72. package/create/templates/zaui/generate-scripts.js +6 -20
  73. package/create/templates/zaui/generate-user-card.js +3 -18
  74. package/create/templates/zaui/pages/about.js +3 -20
  75. package/create/templates/zaui/pages/form.js +3 -20
  76. package/create/templates/zaui/pages/index.js +1 -9
  77. package/create/templates/zaui/pages/user.js +3 -20
  78. package/create/utils/colors.js +1 -94
  79. package/create/utils/generate-app-config.js +1 -34
  80. package/create/utils/generate-gitignore.js +1 -43
  81. package/create/utils/generate-npm-scripts.js +1 -26
  82. package/create/utils/generate-package-json.js +1 -132
  83. package/create/utils/generate-readme.js +1 -28
  84. package/create/utils/get-options.js +1 -204
  85. package/create/utils/indent.js +1 -31
  86. package/create/utils/npm-scripts.js +1 -62
  87. package/create/utils/string.js +1 -13
  88. package/create/utils/styles-extension.js +1 -9
  89. package/create/utils/template-if.js +1 -9
  90. package/deploy/index.js +1 -149
  91. package/deploy/utils/get-options.js +1 -69
  92. package/deploy/utils/request-upload.js +1 -34
  93. package/deploy/utils/upload-app.js +1 -82
  94. package/index.js +1 -319
  95. package/login/index.js +1 -169
  96. package/login/utils/get-options.js +1 -58
  97. package/login/utils/zalo-login.js +1 -32
  98. package/migrate/icons/update-icon-v3.js +1 -19
  99. package/migrate/index.js +1 -60
  100. package/migrate/utils/get-options.js +1 -46
  101. package/migrate/utils/migrate-react.js +1 -33
  102. package/package.json +11 -39
  103. package/start/generate-hr-config.js +1 -59
  104. package/start/index.js +1 -382
  105. package/sync/index-to-app-config.js +1 -146
  106. package/sync/index.js +1 -55
  107. package/utils/axios.js +1 -15
  108. package/utils/check-update.js +1 -53
  109. package/utils/constants.js +1 -20
  110. package/utils/env.js +1 -39
  111. package/utils/error.js +1 -16
  112. package/utils/find-files-by-ext.js +1 -27
  113. package/utils/find-free-port.js +1 -11
  114. package/utils/fs-extra.js +1 -90
  115. package/utils/generate-pages-map.js +1 -17
  116. package/utils/get-app-info.js +1 -22
  117. package/utils/get-current-project.js +1 -25
  118. package/utils/get-ip.js +1 -19
  119. package/utils/log.js +1 -19
  120. package/utils/node-blob.js +1 -106
  121. package/utils/resumable.d.js +1 -0
  122. package/utils/resumable.js +1 -1204
  123. package/utils/spinner.js +1 -25
  124. package/utils/tunnel.js +1 -36
  125. package/.editorconfig +0 -15
  126. package/.eslintignore +0 -8
  127. package/.eslintrc.js +0 -10
  128. package/.vscode/launch.json +0 -23
  129. package/LICENSE +0 -21
  130. package/README.git.md +0 -37
  131. package/assets/index.js +0 -147
  132. package/build/dist/index.dev.js +0 -217
  133. package/config/dist/index.dev.js +0 -48
  134. package/create/templates/dist/generate-styles.dev.js +0 -46
  135. package/create/templates/react/dist/generate-scripts.dev.js +0 -23
  136. package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
  137. package/create/utils/dist/get-options.dev.js +0 -277
  138. package/deploy/dist/index.dev.js +0 -227
  139. package/deploy/utils/dist/request-upload.dev.js +0 -62
  140. package/deploy/utils/dist/upload-app.dev.js +0 -113
  141. package/dist/bundle.js +0 -1
  142. package/dist/index.dev.js +0 -352
  143. package/jsconfig.json +0 -8
  144. package/login/dist/index.dev.js +0 -223
  145. package/login/utils/dist/zalo-login.dev.js +0 -41
  146. package/screenshots/wellcome.jpg +0 -0
  147. package/show-qr-app/assets/css/style.css +0 -87
  148. package/show-qr-app/assets/js/qrcode.min.js +0 -1
  149. package/show-qr-app/index.html +0 -57
  150. package/show-qr-app/package.json +0 -14
  151. package/start/dist/index.dev.js +0 -312
  152. package/ui/server.js +0 -194
  153. package/ui/www/css/app.css +0 -1
  154. package/ui/www/css/app.css.map +0 -1
  155. package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
  156. package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
  157. package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
  158. package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
  159. package/ui/www/images/logo.png +0 -0
  160. package/ui/www/index.html +0 -1
  161. package/ui/www/js/app.js +0 -3
  162. package/ui/www/js/app.js.LICENSE.txt +0 -20
  163. package/ui/www/js/app.js.map +0 -1
  164. package/ui/www/static/icons/apple-touch-icon.png +0 -0
  165. package/ui/www/static/icons/favicon.png +0 -0
  166. package/utils/dist/get-app-info.dev.js +0 -54
@@ -1,67 +1 @@
1
- const path = require('path');
2
- const generateHomePage = require('./generate-home-page');
3
- const generateRoot = require('./generate-root');
4
- const generateStore = require('../generate-store');
5
-
6
- module.exports = (options) => {
7
- const cwd = options.cwd || process.cwd();
8
- const { bundler } = options;
9
- const toCopy = [];
10
-
11
- // Copy Pages
12
- const pages = ['settings'];
13
-
14
- pages.forEach((p) => {
15
- const src = path.resolve(__dirname, 'pages', `${p}.vue`);
16
- const dest = path.resolve(cwd, 'src', 'pages', `${p}.vue`);
17
- toCopy.push({
18
- from: src,
19
- to: dest,
20
- });
21
- });
22
- toCopy.push({
23
- content: generateHomePage(options),
24
- to: path.resolve(cwd, 'src', 'pages', 'index.vue'),
25
- });
26
- toCopy.push({
27
- content: generateRoot(options),
28
- to: path.resolve(cwd, 'src', 'components', 'app.vue'),
29
- });
30
- toCopy.push({
31
- content: generateStore(options),
32
- to: path.resolve(cwd, 'src', 'store.js'),
33
- });
34
- toCopy.push({
35
- from: path.resolve(__dirname, 'vite.config.js'),
36
- to: path.resolve(cwd, 'vite.config.js'),
37
- });
38
- toCopy.push({
39
- from: path.resolve(__dirname, 'global-components.d.ts'),
40
- to: path.resolve(cwd, 'src', 'global-components.d.ts'),
41
- });
42
- toCopy.push({
43
- from: path.resolve(__dirname, 'components', 'header.vue'),
44
- to: path.resolve(cwd, 'src', 'components', 'header.vue'),
45
- });
46
- toCopy.push({
47
- from: path.resolve(__dirname, 'components', 'sun-and-moon.vue'),
48
- to: path.resolve(cwd, 'src', 'components', 'sun-and-moon.vue'),
49
- });
50
- toCopy.push({
51
- from: path.resolve(__dirname, 'icons', 'sun.svg'),
52
- to: path.resolve(cwd, 'src', 'static', 'icons', 'sun.svg'),
53
- });
54
- toCopy.push({
55
- from: path.resolve(__dirname, 'icons', 'moon.svg'),
56
- to: path.resolve(cwd, 'src', 'static', 'icons', 'moon.svg'),
57
- });
58
-
59
-
60
- if (bundler) {
61
- toCopy.push({
62
- from: path.resolve(__dirname, 'babel.config.js'),
63
- to: path.resolve(cwd, 'babel.config.js'),
64
- });
65
- }
66
- return toCopy;
67
- };
1
+ "use strict";const e=require("path"),o=require("./generate-home-page"),s=require("./generate-root"),r=require("../generate-store");module.exports=n=>{let t=n.cwd||process.cwd(),{bundler:c}=n,v=[];return["settings"].forEach(o=>{let s=e.resolve(__dirname,"pages",`${o}.vue`),r=e.resolve(t,"src","pages",`${o}.vue`);v.push({from:s,to:r})}),v.push({content:o(n),to:e.resolve(t,"src","pages","index.vue")}),v.push({content:s(n),to:e.resolve(t,"src","components","app.vue")}),v.push({content:r(n),to:e.resolve(t,"src","store.js")}),v.push({from:e.resolve(__dirname,"vite.config.js"),to:e.resolve(t,"vite.config.js")}),v.push({from:e.resolve(__dirname,"global-components.d.ts"),to:e.resolve(t,"src","global-components.d.ts")}),v.push({from:e.resolve(__dirname,"components","header.vue"),to:e.resolve(t,"src","components","header.vue")}),v.push({from:e.resolve(__dirname,"components","sun-and-moon.vue"),to:e.resolve(t,"src","components","sun-and-moon.vue")}),v.push({from:e.resolve(__dirname,"icons","sun.svg"),to:e.resolve(t,"src","static","icons","sun.svg")}),v.push({from:e.resolve(__dirname,"icons","moon.svg"),to:e.resolve(t,"src","static","icons","moon.svg")}),c&&v.push({from:e.resolve(__dirname,"babel.config.js"),to:e.resolve(t,"babel.config.js")}),v};
@@ -1,9 +1,4 @@
1
- const indent = require('../../utils/indent');
2
-
3
- module.exports = (options) => {
4
- const { name, template } = options;
5
-
6
- return indent(0, `
1
+ "use strict";const e=require("../../utils/indent");module.exports=t=>{let{name:o,template:m}=t;return e(0,`
7
2
  <template>
8
3
  <zmp-page name="home" :theme-dark="darkMode">
9
4
  <Header />
@@ -52,5 +47,4 @@ module.exports = (options) => {
52
47
 
53
48
  const darkMode = useStore('darkMode');
54
49
  </script>
55
- `).trim();
56
- };
50
+ `).trim()};
@@ -1,12 +1,4 @@
1
- const indent = require('../../utils/indent');
2
- const templateIf = require('../../utils/template-if');
3
- const appParameters = require('../app-parameters');
4
-
5
- module.exports = (options) => {
6
- const { template, type, theming, customBuild } = options;
7
-
8
- return indent(0,
9
- `
1
+ "use strict";const r=require("../../utils/indent");require("../../utils/template-if");const e=require("../app-parameters");module.exports=t=>{let{template:a,type:p,theming:s,customBuild:m}=t;return r(0,`
10
2
  <template>
11
3
  <zmp-app v-bind="zmpparams">
12
4
  <!-- Your main view, should have "view-main" class -->
@@ -23,7 +15,7 @@ module.exports = (options) => {
23
15
  setup() {
24
16
  // ZMP Parameters
25
17
  const zmpparams = {
26
- ${indent(6, appParameters(options)).trim()}
18
+ ${r(6,e(t)).trim()}
27
19
  };
28
20
 
29
21
  onMounted(() => {
@@ -45,6 +37,4 @@ module.exports = (options) => {
45
37
  }
46
38
  }
47
39
  </script>
48
- `
49
- ).trim();
50
- };
40
+ `).trim()};
@@ -1,7 +1 @@
1
- module.exports = (options) => {
2
- const { template } = options;
3
-
4
- const routes = ['settings'];
5
-
6
- return routes;
7
- };
1
+ "use strict";module.exports=t=>{let{template:e}=t;return["settings"]};
@@ -1,42 +1,28 @@
1
- const templateIf = require('../../utils/template-if');
2
- const indent = require('../../utils/indent');
3
- const stylesExtension = require('../../utils/styles-extension');
4
-
5
- module.exports = (options) => {
6
- const {
7
- cssPreProcessor,
8
- theming,
9
- customBuild,
10
- includeTailwind
11
- } = options;
12
-
13
- let scripts = '';
14
-
15
- scripts += indent(0, `
1
+ "use strict";const p=require("../../utils/template-if"),t=require("../../utils/indent"),o=require("../../utils/styles-extension");module.exports=e=>{let{cssPreProcessor:s,theming:r,customBuild:m,includeTailwind:i}=e,n="";return(n+=t(0,`
16
2
  // Import Vue
17
3
  import { createApp } from 'vue';
18
4
 
19
5
  // Import ZMP
20
- import ZMP from '${customBuild ? './zmp-custom.js' : 'zmp-framework/core/lite-bundle'}';
6
+ import ZMP from '${m?"./zmp-custom.js":"zmp-framework/core/lite-bundle"}';
21
7
 
22
8
  // Import ZMP-Vue Plugin
23
- import ZMPVue, { registerComponents } from 'zmp-vue/bundle';${includeTailwind ? `
9
+ import ZMPVue, { registerComponents } from 'zmp-vue/bundle';${i?`
24
10
 
25
11
  // Import tailwind styles
26
- import './css/tailwind.css';` : ''}
12
+ import './css/tailwind.css';`:""}
27
13
 
28
14
  // Import ZMP Styles
29
- ${templateIf(customBuild, () => `
15
+ ${p(m,()=>`
30
16
  import '../css/zmp-custom.less';
31
- `, () => `
17
+ `,()=>`
32
18
  import 'zmp-framework/zmp-bundle.min.css';
33
19
  `)}
34
20
 
35
21
  // Import Icons and App Custom Styles
36
- ${templateIf(theming.iconFonts, () => `
22
+ ${p(r.iconFonts,()=>`
37
23
  import './css/icons.css';
38
24
  `)}
39
- import './css/app.${stylesExtension(cssPreProcessor)}';
25
+ import './css/app.${o(s)}';
40
26
 
41
27
  // Import App Component
42
28
  import App from './components/app.vue';
@@ -57,7 +43,4 @@ module.exports = (options) => {
57
43
 
58
44
  // Mount the app
59
45
  app.mount('#app');
60
- `);
61
-
62
- return scripts.trim();
63
- };
46
+ `)).trim()};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -1,90 +1 @@
1
- const path = require('path');
2
- const generateHomePage = require('./generate-home-page');
3
- const generateRoot = require('./generate-root');
4
- const generateRecoil = require('../generate-recoil');
5
- const generateUserCard = require('./generate-user-card');
6
- const copyPages = require('./pages');
7
- const { projectFramework } = require('../../../utils/constants');
8
- const fse = require('../../../utils/fs-extra');
9
-
10
- module.exports = (options) => {
11
- const cwd = options.cwd || process.cwd();
12
- const { template, stateManagement, framework } = options;
13
- const toCopy = [];
14
-
15
- // Copy Pages
16
-
17
- const ext = framework === projectFramework.REACT_TYPESCRIPT ?'tsx': 'jsx'
18
-
19
- let pages = [];
20
- if (template !== 'blank')
21
- pages.push(
22
- ...[
23
- { fileName: 'about', content: 'copyAbout' },
24
- { fileName: 'user', content: 'copyUser' },
25
- { fileName: 'form', content: 'copyForm' },
26
- ]
27
- );
28
-
29
-
30
- pages.forEach(({ fileName, content }) => {
31
- const dest = path.resolve(cwd, 'src', 'pages', `${fileName}.${ext}`);
32
- toCopy.push({
33
- content: copyPages[content](options),
34
- to: dest,
35
- });
36
- });
37
-
38
-
39
- toCopy.push({
40
- content: generateHomePage(options),
41
- to: path.resolve(cwd, 'src', 'pages', `index.${ext}`),
42
- });
43
-
44
- if(template !== 'blank') {
45
- toCopy.push({
46
- content: generateUserCard(options),
47
- to: path.resolve(cwd, 'src','components', `user-card.${ext}`)
48
- })
49
- }
50
-
51
-
52
- toCopy.push({
53
- content: generateRoot(options),
54
- to: path.resolve(cwd, 'src', 'components', `app.${ext}`),
55
- });
56
-
57
- if(framework === projectFramework.REACT_TYPESCRIPT){
58
- if (stateManagement === 'recoil') {
59
- toCopy.push({
60
- content: generateRecoil(options),
61
- to: path.resolve(cwd, 'src', 'state.ts'),
62
- });
63
- }
64
-
65
-
66
- }else {
67
- if (stateManagement === 'recoil') {
68
- toCopy.push({
69
- content: generateRecoil(options),
70
- to: path.resolve(cwd, 'src', 'state.js'),
71
- });
72
- }
73
-
74
- }
75
- const isTs = framework === projectFramework.REACT_TYPESCRIPT
76
-
77
- toCopy.push({
78
- content: fse.readFileSync(path.resolve(__dirname, 'vite.config.js'),'utf8'),
79
- to: path.resolve(cwd, `vite.config.${isTs ? 'ts':'js'}`),
80
- });
81
-
82
- if(framework === projectFramework.REACT_TYPESCRIPT){
83
- toCopy.push({
84
- from: path.resolve(__dirname, '_tsconfig.json'),
85
- to: path.resolve(cwd, 'tsconfig.json')
86
- })
87
- }
88
-
89
- return toCopy;
90
- };
1
+ "use strict";const e=require("path"),t=require("./generate-home-page"),r=require("./generate-root"),o=require("../generate-recoil"),s=require("./generate-user-card"),n=require("./pages"),{projectFramework:c}=require("../../../utils/constants"),u=require("../../../utils/fs-extra");module.exports=i=>{let a=i.cwd||process.cwd(),{template:l,stateManagement:p,framework:f}=i,g=[],h=f===c.REACT_TYPESCRIPT?"tsx":"jsx",m=[];"blank"!==l&&m.push({fileName:"about",content:"copyAbout"},{fileName:"user",content:"copyUser"},{fileName:"form",content:"copyForm"}),m.forEach(({fileName:t,content:r})=>{let o=e.resolve(a,"src","pages",`${t}.${h}`);g.push({content:n[r](i),to:o})}),g.push({content:t(i),to:e.resolve(a,"src","pages",`index.${h}`)}),"blank"!==l&&g.push({content:s(i),to:e.resolve(a,"src","components",`user-card.${h}`)}),g.push({content:r(i),to:e.resolve(a,"src","components",`app.${h}`)}),f===c.REACT_TYPESCRIPT?"recoil"===p&&g.push({content:o(i),to:e.resolve(a,"src","state.ts")}):"recoil"===p&&g.push({content:o(i),to:e.resolve(a,"src","state.js")});let v=f===c.REACT_TYPESCRIPT;return g.push({content:u.readFileSync(e.resolve(__dirname,"vite.config.js"),"utf8"),to:e.resolve(a,`vite.config.${v?"ts":"js"}`)}),f===c.REACT_TYPESCRIPT&&g.push({from:e.resolve(__dirname,"_tsconfig.json"),to:e.resolve(a,"tsconfig.json")}),g};
@@ -1,41 +1,29 @@
1
- const { projectFramework } = require('../../../utils/constants');
2
- const indent = require('../../utils/indent');
3
- module.exports = (options) => {
4
- const { name, template, framework, stateManagement } = options;
5
- if(framework === projectFramework.REACT_TYPESCRIPT){
6
- return indent(
7
- 0,
8
- `
1
+ "use strict";const{projectFramework:e}=require("../../../utils/constants"),t=require("../../utils/indent");module.exports=i=>{let{name:r,template:a,framework:o,stateManagement:s}=i;return o===e.REACT_TYPESCRIPT?t(0,`
9
2
  import React from 'react';
10
- ${
11
- template === 'blank'
12
- ? `
3
+ ${"blank"===a?`
13
4
  import { Page } from 'zmp-ui';
14
- `.trim()
15
- : `
5
+ `.trim():`
16
6
  import {
17
7
  List,
18
8
  Page,
19
9
  Icon,
20
10
  useNavigate
21
- } from 'zmp-ui';${stateManagement === 'recoil' ? `
11
+ } from 'zmp-ui';${"recoil"===s?`
22
12
  import { useRecoilValue } from 'recoil';
23
13
  import { userInfo } from "zmp-sdk";
24
- import { userState } from '../state';` : ''}
25
- ${template !=='blank' ?`
14
+ import { userState } from '../state';`:""}
15
+ ${"blank"!==a?`
26
16
  import UserCard from '../components/user-card';
27
- `:''}
28
- `.trim()
29
- }
17
+ `:""}
18
+ `.trim()}
30
19
 
31
20
  const HomePage:React.FunctionComponent = () => {
32
- ${template !== 'blank' ? (stateManagement === 'recoil' ? "const user = useRecoilValue<userInfo>(userState);" : "const user = useStore('user');") : ''}
33
- ${template !=='blank' ? `const navigate = useNavigate()`:''}
21
+ ${"blank"!==a?"recoil"===s?"const user = useRecoilValue<userInfo>(userState);":"const user = useStore('user');":""}
22
+ ${"blank"!==a?"const navigate = useNavigate()":""}
34
23
  return (
35
- ${template==='blank' ?`<Page className="page">
24
+ ${"blank"===a?`<Page className="page">
36
25
  Hello Zalo Mini App
37
- </Page> `.trim():
38
- `
26
+ </Page> `.trim():`
39
27
  <Page className="page">
40
28
  <div className="section-container">
41
29
  <UserCard user={user}/>
@@ -50,48 +38,37 @@ module.exports = (options) => {
50
38
  </List.Item>
51
39
  </List>
52
40
  </div>
53
- </Page>`.trim()
54
- }
41
+ </Page>`.trim()}
55
42
  );
56
43
  }
57
44
 
58
45
  export default HomePage;
59
- `
60
- ).trim();
61
- }
62
- return indent(
63
- 0,
64
- `
46
+ `).trim():t(0,`
65
47
  import React from 'react';
66
- ${
67
- template === 'blank'
68
- ? `
48
+ ${"blank"===a?`
69
49
  import {
70
50
  Page
71
51
  } from 'zmp-ui';
72
- `.trim()
73
- : `
52
+ `.trim():`
74
53
  import {
75
54
  List,
76
55
  Page,
77
56
  Icon,useNavigate
78
- } from 'zmp-ui';${stateManagement === 'recoil' ? `
57
+ } from 'zmp-ui';${"recoil"===s?`
79
58
  import { useRecoilValue } from 'recoil';
80
- import { userState } from '../state';` : ''}
81
- ${template !=='blank' ?`
59
+ import { userState } from '../state';`:""}
60
+ ${"blank"!==a?`
82
61
  import UserCard from '../components/user-card';
83
- `:''}
84
- `.trim()
85
- }
62
+ `:""}
63
+ `.trim()}
86
64
 
87
65
  const HomePage = () => {
88
- ${template !== 'blank' ? (stateManagement === 'recoil' ? "const user = useRecoilValue(userState);" : "const user = useStore('user');") : ''}
89
- ${template !=='blank' ? `const navigate = useNavigate()`:''}
66
+ ${"blank"!==a?"recoil"===s?"const user = useRecoilValue(userState);":"const user = useStore('user');":""}
67
+ ${"blank"!==a?"const navigate = useNavigate()":""}
90
68
  return (
91
- ${template==='blank' ?`<Page className="page">
69
+ ${"blank"===a?`<Page className="page">
92
70
  Hello Zalo Mini App
93
- </Page> `.trim():
94
- `
71
+ </Page> `.trim():`
95
72
  <Page className="page">
96
73
  <div className="section-container">
97
74
  <UserCard user={user}/>
@@ -106,12 +83,9 @@ module.exports = (options) => {
106
83
  </List.Item>
107
84
  </List>
108
85
  </div>
109
- </Page>`.trim()
110
- }
86
+ </Page>`.trim()}
111
87
  );
112
88
  }
113
89
 
114
90
  export default HomePage;
115
- `
116
- ).trim();
117
- };
91
+ `).trim()};
@@ -1,53 +1,33 @@
1
- const templateIf = require('../../utils/template-if');
2
- const indent = require('../../utils/indent');
3
- const { capitalize } = require('../../utils/string')
4
- module.exports = (options) => {
5
- const { template, theming, stateManagement } = options;
6
-
7
- // Views
8
-
9
- const routes = []
10
- if(template ==='single-view'){
11
- routes.push('about','form','user')
12
- }
13
- return indent(
14
- 0,
15
- `
1
+ "use strict";const e=require("../../utils/template-if"),r=require("../../utils/indent"),{capitalize:t}=require("../../utils/string");module.exports=o=>{let{template:i,theming:m,stateManagement:u}=o,a=[];return"single-view"===i&&a.push("about","form","user"),r(0,`
16
2
  import React from 'react';
17
3
  import { Route} from 'react-router-dom'
18
- ${['blank', 'single-view'].indexOf(template) >= 0
19
- ? `
4
+ ${["blank","single-view"].indexOf(i)>=0?`
20
5
  import { App, ZMPRouter, AnimationRoutes, SnackbarProvider } from 'zmp-ui';
21
- `.trim(): ''
22
- }
23
- ${templateIf(stateManagement === 'recoil', () => `import { RecoilRoot } from 'recoil';`,'')}
6
+ `.trim():""}
7
+ ${e("recoil"===u,()=>"import { RecoilRoot } from 'recoil';","")}
24
8
  import HomePage from '../pages';
25
- ${routes.length>0 ? routes.map((route) => ` import ${capitalize(route)} from '../pages/${route}';\n`).join('').trim():''}
9
+ ${a.length>0?a.map(e=>` import ${t(e)} from '../pages/${e}';
10
+ `).join("").trim():""}
26
11
 
27
12
 
28
13
  const MyApp = () => {
29
14
  ${`
30
- return (${stateManagement === 'recoil' ? `
31
- <RecoilRoot>` : ''}
32
- ${indent(stateManagement === 'recoil' ? 2 : 0, `<App ${theming.darkTheme ? 'themeDark' : ''}>`)}
15
+ return (${"recoil"===u?`
16
+ <RecoilRoot>`:""}
17
+ ${r("recoil"===u?2:0,`<App ${m.darkTheme?"themeDark":""}>`)}
33
18
  <SnackbarProvider>
34
19
  <ZMPRouter>
35
20
  <AnimationRoutes>
36
21
  <Route path="/" element={<HomePage></HomePage>}></Route>
37
- ${routes.length>0 ? routes.map((route) =>{
38
- const pageName = capitalize(route)
39
- return ` <Route path="/${route}" element={<${pageName}></${pageName}>}></Route>\n`
40
- }).join('').trim(): ''
41
- }
22
+ ${a.length>0?a.map(e=>{let r=t(e);return` <Route path="/${e}" element={<${r}></${r}>}></Route>
23
+ `}).join("").trim():""}
42
24
  </AnimationRoutes>
43
25
  </ZMPRouter>
44
26
  </SnackbarProvider>
45
- ${indent(stateManagement === 'recoil' ? 2 : 0, `</App>`)}${stateManagement === 'recoil' ? `
46
- </RecoilRoot>` : ''}
27
+ ${r("recoil"===u?2:0,"</App>")}${"recoil"===u?`
28
+ </RecoilRoot>`:""}
47
29
  );
48
30
  `.trim()}
49
31
  }
50
32
  export default MyApp;
51
- `
52
- ).trim();
53
- };
33
+ `).trim()};
@@ -1,10 +1 @@
1
- module.exports = (options) => {
2
- const { template } = options;
3
-
4
- if (template === 'blank') {
5
- return [];
6
- }
7
- const routes = ['/user', '/form', '/dynamic-route', '/about', '/404'];
8
-
9
- return routes;
10
- };
1
+ "use strict";module.exports=e=>{let{template:r}=e;return"blank"===r?[]:["/user","/form","/dynamic-route","/about","/404"]};
@@ -1,25 +1,15 @@
1
- const indent = require('../../utils/indent');
2
- const stylesExtension = require('../../utils/styles-extension');
3
-
4
- module.exports = (options) => {
5
- const { cssPreProcessor, includeTailwind, framework } = options;
6
-
7
- let scripts = '';
8
-
9
- scripts += indent(
10
- 0,
11
- `
1
+ "use strict";const t=require("../../utils/indent"),e=require("../../utils/styles-extension");module.exports=o=>{let{cssPreProcessor:p,includeTailwind:r,framework:i}=o,n="";return(n+=t(0,`
12
2
  // Import React and ReactDOM
13
3
  import React from 'react';
14
4
  import { createRoot } from 'react-dom/client';
15
- ${includeTailwind ? `
5
+ ${r?`
16
6
 
17
7
  // Import tailwind styles
18
- import './css/tailwind.css';` : ''}
8
+ import './css/tailwind.css';`:""}
19
9
 
20
10
  import 'zmp-ui/zaui.css';
21
11
 
22
- import './css/app.${stylesExtension(cssPreProcessor)}';
12
+ import './css/app.${e(p)}';
23
13
 
24
14
  // Import App Component
25
15
  import App from './components/app';
@@ -30,10 +20,6 @@ module.exports = (options) => {
30
20
  }
31
21
 
32
22
  // Mount React App
33
- ${framework === 'react-typescript' ? "const root = createRoot(document.getElementById('app')!);" : "const root = createRoot(document.getElementById('app'));"}
23
+ ${"react-typescript"===i?"const root = createRoot(document.getElementById('app')!);":"const root = createRoot(document.getElementById('app'));"}
34
24
  root.render(React.createElement(App));
35
- `
36
- );
37
-
38
- return scripts.trim();
39
- };
25
+ `)).trim()};
@@ -1,12 +1,4 @@
1
- const indent = require('../../utils/indent');
2
- const {projectFramework} = require('../../../utils/constants')
3
- // eslint-disable-next-line no-unused-vars
4
- module.exports = (options) => {
5
- const {framework} = options
6
- if(framework === projectFramework.REACT_TYPESCRIPT){
7
- return indent(
8
- 0,
9
- `
1
+ "use strict";const r=require("../../utils/indent"),{projectFramework:t}=require("../../../utils/constants");module.exports=e=>{let{framework:a}=e;return a===t.REACT_TYPESCRIPT?r(0,`
10
2
  import React from 'react';
11
3
  import { Avatar, Box, Text } from 'zmp-ui';
12
4
  import { userInfo } from 'zmp-sdk';
@@ -28,12 +20,7 @@ module.exports = (options) => {
28
20
  };
29
21
 
30
22
  export default UserCard;
31
- `
32
- ).trim();
33
- }
34
- return indent(
35
- 0,
36
- `
23
+ `).trim():r(0,`
37
24
  import React from 'react';
38
25
  import { Avatar, Box, Text } from 'zmp-ui';
39
26
 
@@ -50,6 +37,4 @@ module.exports = (options) => {
50
37
  };
51
38
 
52
39
  export default UserCard;
53
- `
54
- ).trim();
55
- };
40
+ `).trim()};
@@ -1,14 +1,4 @@
1
- const indent = require('../../../utils/indent');
2
- const {projectFramework} = require('../../../../utils/constants')
3
-
4
- // eslint-disable-next-line no-unused-vars
5
- module.exports = (options) => {
6
- const {framework} = options
7
-
8
- if(framework === projectFramework.REACT_TYPESCRIPT){
9
- return indent(
10
- 0,
11
- `
1
+ "use strict";const e=require("../../../utils/indent"),{projectFramework:t}=require("../../../../utils/constants");module.exports=n=>{let{framework:o}=n;return o===t.REACT_TYPESCRIPT?e(0,`
12
2
  import React from "react";
13
3
  import { Sheet, Button, Page, Text, useNavigate } from "zmp-ui";
14
4
 
@@ -63,12 +53,7 @@ module.exports = (options) => {
63
53
  };
64
54
 
65
55
  export default AboutPage;
66
- `
67
- ).trim();
68
- }
69
- return indent(
70
- 0,
71
- `
56
+ `).trim():e(0,`
72
57
  import React from "react";
73
58
  import { Sheet, Button, Page, Text, useNavigate } from "zmp-ui";
74
59
 
@@ -124,6 +109,4 @@ module.exports = (options) => {
124
109
 
125
110
  export default AboutPage;
126
111
 
127
- `
128
- ).trim();
129
- };
112
+ `).trim()};
@@ -1,13 +1,4 @@
1
- const indent = require('../../../utils/indent');
2
- const {projectFramework} = require('../../../../utils/constants');
3
-
4
- module.exports = (options) => {
5
- const { framework } = options
6
-
7
- if(framework === projectFramework.REACT_TYPESCRIPT){
8
- return indent(
9
- 0,
10
- `
1
+ "use strict";const e=require("../../../utils/indent"),{projectFramework:t}=require("../../../../utils/constants");module.exports=a=>{let{framework:r}=a;return r===t.REACT_TYPESCRIPT?e(0,`
11
2
  import React from 'react';
12
3
  import { Button, Input, Box, Page, useSnackbar } from 'zmp-ui';
13
4
  import { useRecoilState } from 'recoil';
@@ -61,12 +52,7 @@ module.exports = (options) => {
61
52
  }
62
53
 
63
54
  export default FormPage;
64
- `
65
- ).trim();
66
- }
67
- return indent(
68
- 0,
69
- `
55
+ `).trim():e(0,`
70
56
  import React from 'react';
71
57
  import { Button,Input, Box, Page, useSnackbar } from 'zmp-ui';
72
58
  import { useRecoilState } from 'recoil';
@@ -117,7 +103,4 @@ module.exports = (options) => {
117
103
  }
118
104
 
119
105
  export default FormPage;
120
- `
121
- ).trim();
122
-
123
- };
106
+ `).trim()};