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,31 +1 @@
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
+ 'use strict';function _0x2b64(_0xdb4cb0,_0x34071d){const _0x2d7f95=_0x2d7f();return _0x2b64=function(_0x2b644c,_0x26e701){_0x2b644c=_0x2b644c-0x183;let _0x268982=_0x2d7f95[_0x2b644c];return _0x268982;},_0x2b64(_0xdb4cb0,_0x34071d);}const _0x3216f5=_0x2b64;function _0x2d7f(){const _0x27b2a6=['4122045YWToXJ','length','repeat','1889490fGTThw','293228tdxBip','map','1NLIAKH','14rNgswj','12802190srxdPI','3619995HIFoyh','filter','max','forEach','split','543124HgUsBr','exports','2413312ZVqowN','trim','match','15xiSyvX','min','replace'];_0x2d7f=function(){return _0x27b2a6;};return _0x2d7f();}(function(_0x5ae674,_0x1e6aa9){const _0x36293c=_0x2b64,_0x3355a0=_0x5ae674();while(!![]){try{const _0x2dcdcb=parseInt(_0x36293c(0x189))/0x1*(parseInt(_0x36293c(0x187))/0x2)+-parseInt(_0x36293c(0x196))/0x3*(-parseInt(_0x36293c(0x191))/0x4)+parseInt(_0x36293c(0x18c))/0x5+-parseInt(_0x36293c(0x186))/0x6*(parseInt(_0x36293c(0x18a))/0x7)+parseInt(_0x36293c(0x193))/0x8+parseInt(_0x36293c(0x183))/0x9+-parseInt(_0x36293c(0x18b))/0xa;if(_0x2dcdcb===_0x1e6aa9)break;else _0x3355a0['push'](_0x3355a0['shift']());}catch(_0x34580a){_0x3355a0['push'](_0x3355a0['shift']());}}}(_0x2d7f,0x61722));module[_0x3216f5(0x192)]=(_0x5b6066,_0xe85355)=>{const _0x297881=_0x3216f5;let _0x48360b;return void 0x0===_0x5b6066?_0xe85355[_0x297881(0x194)]():(_0xe85355[_0x297881(0x190)]('\x0a')[_0x297881(0x18f)](_0xe4bcc7=>{const _0xb7b9b5=_0x297881;let _0x263739=_0xe4bcc7[_0xb7b9b5(0x195)](/[ ]*/);if(_0x263739){if(_0x263739[0x0][_0xb7b9b5(0x184)]===_0xe4bcc7['length'])return;_0x48360b=void 0x0===_0x48360b?_0x263739[0x0]['length']:Math[_0xb7b9b5(0x197)](_0x48360b,_0x263739[0x0][_0xb7b9b5(0x184)]);}}),void 0x0===_0x48360b)?_0xe85355[_0x297881(0x194)]():_0xe85355[_0x297881(0x190)]('\x0a')[_0x297881(0x188)](_0x2b7cdd=>{const _0x24b1df=_0x297881;let _0x32dfd9=_0x2b7cdd[_0x24b1df(0x195)](/[ ]*/),_0x6bca92=0x0;return _0x32dfd9&&(_0x6bca92=Math[_0x24b1df(0x18e)](_0x32dfd9[0x0][_0x24b1df(0x184)]-_0x48360b,0x0)),''+'\x20'[_0x24b1df(0x185)](_0x5b6066+_0x6bca92)+_0x2b7cdd[_0x24b1df(0x198)](/^\s+/,'');})[_0x297881(0x188)](_0xd2e103=>!_0xd2e103[_0x297881(0x194)]()[_0x297881(0x184)]&&_0xd2e103[_0x297881(0x184)]?_0xd2e103['trim']():_0xd2e103)[_0x297881(0x18d)]((_0x500660,_0x41908e,_0x1d7450)=>(0x0!==_0x41908e||!!_0x500660[_0x297881(0x194)]()['length']||!_0x500660['length'])&&(_0x41908e!==_0x1d7450['length']-0x1||!!_0x500660[_0x297881(0x194)]()[_0x297881(0x184)]||!_0x500660[_0x297881(0x184)]))['join']('\x0a');};
@@ -1,62 +1 @@
1
- const map = {
2
- d: 'dev',
3
- p: 'prod',
4
- s: 'start',
5
- v: 'serve',
6
- r: 'deploy',
7
- t: 'build:css',
8
- };
9
- function scriptName(tokens) {
10
- return tokens
11
- .split('_')[0]
12
- .split('')
13
- .map((token) => map[token])
14
- .join('-');
15
- }
16
-
17
- const npmScripts = {
18
- default: {
19
- s: {
20
- icon: '🔥',
21
- script: 'zmp start',
22
- description: 'run development server',
23
- },
24
- r: {
25
- icon: '🙏',
26
- script: 'zmp deploy',
27
- description: 'deploy mini app for production',
28
- },
29
- },
30
- httpServer: {
31
- v: {
32
- icon: '🔧',
33
- script: 'http-server ./www/ -o -c 1 -a localhost -p 8080',
34
- description: 'run development server',
35
- },
36
- s: {
37
- icon: '🔥',
38
- script: 'npm run serve',
39
- description: 'run development server',
40
- },
41
- },
42
- tailwind: {
43
- t: {
44
- icon: '🔧',
45
- script: 'postcss src/css/tailwind.css -o src/css/styles.css',
46
- description: 'build tailwind css',
47
- },
48
- },
49
- };
50
-
51
- Object.keys(npmScripts.default).forEach((tokens) => {
52
- npmScripts.default[tokens].name = scriptName(tokens);
53
- });
54
- Object.keys(npmScripts.httpServer).forEach((tokens) => {
55
- npmScripts.httpServer[tokens].name = scriptName(tokens);
56
- });
57
-
58
- Object.keys(npmScripts.tailwind).forEach((tokens) => {
59
- npmScripts.tailwind[tokens].name = scriptName(tokens);
60
- });
61
-
62
- module.exports = npmScripts;
1
+ 'use strict';const _0x4160c0=_0x4ed9;(function(_0x32f0bf,_0x2a7a14){const _0x14b14c=_0x4ed9,_0x22aa0d=_0x32f0bf();while(!![]){try{const _0x1d5ad2=-parseInt(_0x14b14c(0x177))/0x1*(parseInt(_0x14b14c(0x171))/0x2)+-parseInt(_0x14b14c(0x173))/0x3+parseInt(_0x14b14c(0x189))/0x4+-parseInt(_0x14b14c(0x185))/0x5*(-parseInt(_0x14b14c(0x174))/0x6)+-parseInt(_0x14b14c(0x172))/0x7+parseInt(_0x14b14c(0x180))/0x8*(-parseInt(_0x14b14c(0x17f))/0x9)+parseInt(_0x14b14c(0x176))/0xa;if(_0x1d5ad2===_0x2a7a14)break;else _0x22aa0d['push'](_0x22aa0d['shift']());}catch(_0x580a42){_0x22aa0d['push'](_0x22aa0d['shift']());}}}(_0x392b,0xc99af));function _0x4ed9(_0x55083d,_0x1e5074){const _0x392b4e=_0x392b();return _0x4ed9=function(_0x4ed95c,_0x4145de){_0x4ed95c=_0x4ed95c-0x16e;let _0x15708e=_0x392b4e[_0x4ed95c];return _0x15708e;},_0x4ed9(_0x55083d,_0x1e5074);}const e={'d':_0x4160c0(0x188),'p':_0x4160c0(0x17a),'s':_0x4160c0(0x179),'v':_0x4160c0(0x18b),'r':'deploy','t':_0x4160c0(0x17b)};function s(_0x547bdd){const _0x2fc588=_0x4160c0;return _0x547bdd[_0x2fc588(0x182)]('_')[0x0][_0x2fc588(0x182)]('')[_0x2fc588(0x17d)](_0x5d4762=>e[_0x5d4762])[_0x2fc588(0x18a)]('-');}const t={'default':{'s':{'icon':'🔥','script':'zmp\x20start','description':_0x4160c0(0x186)},'r':{'icon':'🙏','script':_0x4160c0(0x178),'description':_0x4160c0(0x187)}},'httpServer':{'v':{'icon':'🔧','script':_0x4160c0(0x17e),'description':'run\x20development\x20server'},'s':{'icon':'🔥','script':'npm\x20run\x20serve','description':_0x4160c0(0x186)}},'tailwind':{'t':{'icon':'🔧','script':_0x4160c0(0x175),'description':_0x4160c0(0x16f)}}};function _0x392b(){const _0x1d2407=['2517752XhyvED','httpServer','split','name','default','25EQaldT','run\x20development\x20server','deploy\x20mini\x20app\x20for\x20production','dev','4199364pzmaHk','join','serve','exports','build\x20tailwind\x20css','tailwind','2szOisP','5589444rgYdxL','998313MEUtpq','1259610OhlFOW','postcss\x20src/css/tailwind.css\x20-o\x20src/css/styles.css','8983550fORdGH','726114kWPWsM','zmp\x20deploy','start','prod','build:css','keys','map','http-server\x20./www/\x20-o\x20-c\x201\x20-a\x20localhost\x20-p\x208080','9ybjWmK'];_0x392b=function(){return _0x1d2407;};return _0x392b();}Object[_0x4160c0(0x17c)](t[_0x4160c0(0x184)])['forEach'](_0x4a8a97=>{const _0x68a582=_0x4160c0;t[_0x68a582(0x184)][_0x4a8a97][_0x68a582(0x183)]=s(_0x4a8a97);}),Object[_0x4160c0(0x17c)](t[_0x4160c0(0x181)])['forEach'](_0x1c08c8=>{const _0xa9844a=_0x4160c0;t[_0xa9844a(0x181)][_0x1c08c8][_0xa9844a(0x183)]=s(_0x1c08c8);}),Object[_0x4160c0(0x17c)](t[_0x4160c0(0x170)])['forEach'](_0x353693=>{const _0xd6163f=_0x4160c0;t[_0xd6163f(0x170)][_0x353693]['name']=s(_0x353693);}),module[_0x4160c0(0x16e)]=t;
@@ -1,13 +1 @@
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
+ 'use strict';var _0x1f7beb=_0x1638;(function(_0x4b5a07,_0x141cd5){var _0xa28e98=_0x1638,_0x529223=_0x4b5a07();while(!![]){try{var _0x266f94=parseInt(_0xa28e98(0x1d2))/0x1+-parseInt(_0xa28e98(0x1d5))/0x2*(-parseInt(_0xa28e98(0x1cd))/0x3)+parseInt(_0xa28e98(0x1c7))/0x4*(-parseInt(_0xa28e98(0x1d4))/0x5)+-parseInt(_0xa28e98(0x1c8))/0x6*(parseInt(_0xa28e98(0x1ce))/0x7)+-parseInt(_0xa28e98(0x1c9))/0x8*(-parseInt(_0xa28e98(0x1d1))/0x9)+-parseInt(_0xa28e98(0x1d7))/0xa+parseInt(_0xa28e98(0x1cf))/0xb;if(_0x266f94===_0x141cd5)break;else _0x529223['push'](_0x529223['shift']());}catch(_0x47f82e){_0x529223['push'](_0x529223['shift']());}}}(_0x5cda,0x67bcd));function _0x5cda(){var _0x57ee38=['116374OPcZpE','map','49085GjQbRr','20926lcXCDR','exports','1844840yAHTUi','332BLymVr','6BNJDSG','64vyFdBa','toUpperCase','split','join','105hHnZrN','236922vxuine','4897277LdcgzP','substring','596547ldZpHB'];_0x5cda=function(){return _0x57ee38;};return _0x5cda();}function _0x1638(_0x314575,_0x506781){var _0x5cda3c=_0x5cda();return _0x1638=function(_0x163852,_0x21c498){_0x163852=_0x163852-0x1c7;var _0x11b68a=_0x5cda3c[_0x163852];return _0x11b68a;},_0x1638(_0x314575,_0x506781);}module[_0x1f7beb(0x1d6)]={'capitalize':_0x421247=>_0x421247?_0x421247[_0x1f7beb(0x1cb)](/[,.\-_\s]/)[_0x1f7beb(0x1d3)](_0x61d413=>_0x61d413[0x0][_0x1f7beb(0x1ca)]()+_0x61d413[_0x1f7beb(0x1d0)](0x1))[_0x1f7beb(0x1cc)](''):''};
@@ -1,9 +1 @@
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
+ 'use strict';var _0x4ef40a=_0x218e;(function(_0x22d5ed,_0xab1ab5){var _0x1d7239=_0x218e,_0x21a5bb=_0x22d5ed();while(!![]){try{var _0x51a03f=parseInt(_0x1d7239(0xe0))/0x1+-parseInt(_0x1d7239(0xd9))/0x2*(-parseInt(_0x1d7239(0xe3))/0x3)+-parseInt(_0x1d7239(0xe1))/0x4+parseInt(_0x1d7239(0xda))/0x5*(parseInt(_0x1d7239(0xd7))/0x6)+-parseInt(_0x1d7239(0xde))/0x7*(-parseInt(_0x1d7239(0xd8))/0x8)+parseInt(_0x1d7239(0xdc))/0x9*(parseInt(_0x1d7239(0xe4))/0xa)+-parseInt(_0x1d7239(0xdf))/0xb*(parseInt(_0x1d7239(0xdd))/0xc);if(_0x51a03f===_0xab1ab5)break;else _0x21a5bb['push'](_0x21a5bb['shift']());}catch(_0x284772){_0x21a5bb['push'](_0x21a5bb['shift']());}}}(_0x4c4a,0x32b17));module[_0x4ef40a(0xe2)]=_0x440c71=>_0x440c71?{'less':'less','stylus':_0x4ef40a(0xe5),'scss':_0x4ef40a(0xdb)}[_0x440c71]:'css';function _0x218e(_0x5a7019,_0x1e428a){var _0x4c4ac7=_0x4c4a();return _0x218e=function(_0x218e45,_0x4045b3){_0x218e45=_0x218e45-0xd7;var _0x4a8502=_0x4c4ac7[_0x218e45];return _0x4a8502;},_0x218e(_0x5a7019,_0x1e428a);}function _0x4c4a(){var _0x34b9a3=['2050edJdjt','styl','10902BoXTjK','654392hnHRnb','202646ExWWWg','120rILtcg','scss','1008PdtreR','1116TYHYJw','14kdDOjJ','4829rxwiiQ','118771FTzELg','1212468MEtijN','exports','6wbjWds'];_0x4c4a=function(){return _0x34b9a3;};return _0x4c4a();}
@@ -1,9 +1 @@
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
- };
1
+ 'use strict';function _0x5f4f(_0x1ee042,_0x3256bd){var _0x3107cb=_0x3107();return _0x5f4f=function(_0x5f4fa4,_0x1ed903){_0x5f4fa4=_0x5f4fa4-0x1d5;var _0x5d3f6c=_0x3107cb[_0x5f4fa4];return _0x5d3f6c;},_0x5f4f(_0x1ee042,_0x3256bd);}var _0x26045d=_0x5f4f;(function(_0x59a474,_0x55ca28){var _0x421211=_0x5f4f,_0x3ace20=_0x59a474();while(!![]){try{var _0x5885c1=parseInt(_0x421211(0x1d7))/0x1*(parseInt(_0x421211(0x1db))/0x2)+-parseInt(_0x421211(0x1d8))/0x3+parseInt(_0x421211(0x1de))/0x4+-parseInt(_0x421211(0x1da))/0x5*(-parseInt(_0x421211(0x1d6))/0x6)+parseInt(_0x421211(0x1d9))/0x7+-parseInt(_0x421211(0x1df))/0x8+parseInt(_0x421211(0x1dd))/0x9*(parseInt(_0x421211(0x1dc))/0xa);if(_0x5885c1===_0x55ca28)break;else _0x3ace20['push'](_0x3ace20['shift']());}catch(_0x5dff19){_0x3ace20['push'](_0x3ace20['shift']());}}}(_0x3107,0xd1568));function _0x3107(){var _0x43fada=['32989RbUAxm','5030619wOPXhb','1667582FxPRWn','5HMMBSw','36SyloYm','170dbjZDP','759915WyNZwv','2425748FGLnLK','6611688MSksKd','trim','2921532JJdQyA'];_0x3107=function(){return _0x43fada;};return _0x3107();}module['exports']=(_0x23be30,_0x339762,_0x15a739)=>_0x23be30?_0x339762()[_0x26045d(0x1d5)]():_0x15a739?_0x15a739()['trim']():'';
package/deploy/index.js CHANGED
@@ -1,149 +1 @@
1
- #!/usr/bin/env node
2
- /* eslint no-console: off */
3
- const chalk = require('chalk');
4
- const path = require('path');
5
- const zipper = require('zip-local');
6
- const logSymbols = require('log-symbols');
7
- const qrcode = require('qrcode-terminal');
8
- const config = require('../config');
9
- const buildApp = require('../build/index');
10
- const envUtils = require('../utils/env');
11
- const uploadApp = require('./utils/upload-app');
12
- const fse = require('../utils/fs-extra');
13
- const requestUpload = require('./utils/request-upload');
14
-
15
- const waitText = chalk.gray('(Please wait, it can take a while)');
16
- const defaultLogger = {
17
- statusStart() {},
18
- statusDone() {},
19
- statusText() {},
20
- statusError() {},
21
- text() {},
22
- error() {},
23
- showOnUI() {},
24
- };
25
-
26
- module.exports = async (
27
- options = {},
28
- logger = defaultLogger,
29
- { exitOnError = true } = {}
30
- ) => {
31
- const cwd = options.cwd || process.cwd();
32
- const outputDir = options.outputDir || 'www';
33
- const apiDomain = config.api_domain;
34
- const resolvePath = (dir) => {
35
- return path.join(cwd, dir);
36
- };
37
- function errorExit(err) {
38
- logger.error(err.stderr || err);
39
- if (exitOnError) process.exit(1);
40
- }
41
-
42
- const token = envUtils.getEnv(config.env.token);
43
- const appConfigFilename = config.filename.appConfig;
44
- const packageJsonFilename = config.filename.packageJson;
45
-
46
- let appConfigJson;
47
- let writeAppConfig = true;
48
- try {
49
- appConfigJson = require(resolvePath(appConfigFilename));
50
- } catch (err) {
51
- try {
52
- // If app-config.json not found, try to use the one in the outputDir
53
- appConfigJson = require(resolvePath(`${outputDir}/${appConfigFilename}`));
54
- writeAppConfig = false;
55
- } catch (err) {
56
- errorExit(new Error(config.error_msg.app_config_not_found));
57
- }
58
- }
59
-
60
- let packageJson;
61
- const frameworkVersions = {};
62
- try {
63
- packageJson = require(resolvePath(packageJsonFilename));
64
- const dependencies = packageJson.dependencies;
65
- Object.entries(dependencies).forEach(([key, value]) => {
66
- if (key.includes('zmp') || key.includes('react')) {
67
- frameworkVersions[key] = value;
68
- }
69
- });
70
- } catch (err) {
71
- // pass
72
- }
73
- const dataRequest = {
74
- appName: appConfigJson.app.title,
75
- appDesc: options.desc || 'Update app with new version',
76
- appConfig: JSON.stringify(appConfigJson),
77
- frameworkVersions: JSON.stringify(frameworkVersions),
78
- };
79
-
80
- let nextVersion;
81
- let identifier;
82
- try {
83
- const urlRequestUpload = `${apiDomain}${config.path.requestUploadResumable}`;
84
- const requestUploadData = await requestUpload(
85
- urlRequestUpload,
86
- dataRequest,
87
- options.versionStatus,
88
- token
89
- );
90
- nextVersion = requestUploadData.nextVersion;
91
- identifier = requestUploadData.identifier;
92
- } catch (err) {
93
- errorExit(err);
94
- }
95
- if (options.customProject) {
96
- let flag = 0;
97
- if (appConfigJson.listSyncJS && appConfigJson.listSyncJS.length > 0)
98
- flag += 1;
99
- if (appConfigJson.listAsyncJS && appConfigJson.listAsyncJS.length > 0)
100
- flag += 1;
101
- if (flag === 0) {
102
- errorExit(
103
- new Error(
104
- 'Please define your assets output at app-config.json. Read more: https://mini.zalo.me/intro/getting-started/app-config/'
105
- )
106
- );
107
- }
108
- if (writeAppConfig) {
109
- fse.writeFileSync(
110
- resolvePath(`${outputDir}/${config.filename.appConfig}`),
111
- JSON.stringify(appConfigJson)
112
- );
113
- }
114
- } else {
115
- appConfigJson = await buildApp(
116
- { ...options, appConfigJson, nextVersion },
117
- logger
118
- );
119
- }
120
-
121
- logger.statusStart(`Deploying Your App ${waitText}`);
122
- try {
123
- const buffer = await new Promise((resolve, reject) => {
124
- zipper.zip(resolvePath(outputDir), function (zipError, zipped) {
125
- if (zipError) return reject(zipError);
126
- zipped.compress();
127
- return resolve(zipped.memory());
128
- });
129
- });
130
- const uploadData = {
131
- ...dataRequest,
132
- appBuffer: buffer,
133
- identifier,
134
- };
135
- const uploadRes = await uploadApp(uploadData, options, logger);
136
- const appURL = uploadRes && uploadRes.data && uploadRes.data.appUrl;
137
- qrcode.generate(appURL, { small: true }, function (qrcode) {
138
- const qrCode = `${chalk.bold(
139
- `${logSymbols.info} View app at:\n${qrcode}`
140
- )}`;
141
- logger.statusDone(`${chalk.bold.green('Deploy Done!')} 💪`);
142
- logger.statusDone(`${chalk.bold.green('Version:')} ${nextVersion}`);
143
- logger.text(qrCode);
144
- });
145
- } catch (err) {
146
- logger.statusError('Error deploying your app');
147
- errorExit(err);
148
- }
149
- };
1
+ 'use strict';const _0x98bc04=_0x2fa1;(function(_0x55cc49,_0x20b9b3){const _0x1f60da=_0x2fa1,_0x4a9c39=_0x55cc49();while(!![]){try{const _0x249369=-parseInt(_0x1f60da(0x144))/0x1*(-parseInt(_0x1f60da(0x10e))/0x2)+-parseInt(_0x1f60da(0x13c))/0x3*(parseInt(_0x1f60da(0x129))/0x4)+-parseInt(_0x1f60da(0x10a))/0x5*(-parseInt(_0x1f60da(0x133))/0x6)+parseInt(_0x1f60da(0x142))/0x7+parseInt(_0x1f60da(0x10b))/0x8*(parseInt(_0x1f60da(0x10c))/0x9)+parseInt(_0x1f60da(0x105))/0xa+-parseInt(_0x1f60da(0x13f))/0xb;if(_0x249369===_0x20b9b3)break;else _0x4a9c39['push'](_0x4a9c39['shift']());}catch(_0x291063){_0x4a9c39['push'](_0x4a9c39['shift']());}}}(_0x4e15,0x674da));function _0x4e15(){const _0x4b1409=['\x20View\x20app\x20at:\x0a','\x20💪','log-symbols','cwd','3SZRJEd','../utils/fs-extra','memory','13495515AwPlEN','../utils/env','Update\x20app\x20with\x20new\x20version','171206mwulPr','compress','19PBcIjz','join','www','length','listSyncJS','5894500XapPSb','./utils/upload-app','Please\x20define\x20your\x20assets\x20output\x20at\x20app-config.json.\x20Read\x20more:\x20https://mini.zalo.me/intro/getting-started/app-config/','filename','zmp','4735zpRLEJ','14848ewAKXW','2907dUIYHo','api_domain','1186mbxgZv','chalk','desc','statusError','../config','appConfig','error_msg','includes','identifier','forEach','data','Deploy\x20Done!','Version:','exit','app_config_not_found','info','Error\x20deploying\x20your\x20app','packageJson','green','nextVersion','appUrl','zip','entries','statusDone','gray','error','text','1037396JfOTbz','customProject','env','Deploying\x20Your\x20App\x20','stringify','writeFileSync','./utils/request-upload','token','title','bold','4338CtnmjO','path','zip-local','versionStatus','listAsyncJS'];_0x4e15=function(){return _0x4b1409;};return _0x4e15();}const e=require(_0x98bc04(0x10f)),t=require('path'),r=require(_0x98bc04(0x135)),i=require(_0x98bc04(0x13a)),a=require('qrcode-terminal'),s=require(_0x98bc04(0x112)),n=require('../build/index'),o=require(_0x98bc04(0x140)),p=require(_0x98bc04(0x106)),l=require(_0x98bc04(0x13d)),u=require(_0x98bc04(0x12f)),c=e[_0x98bc04(0x126)]('(Please\x20wait,\x20it\x20can\x20take\x20a\x20while)'),d={'statusStart'(){},'statusDone'(){},'statusText'(){},'statusError'(){},'text'(){},'error'(){},'showOnUI'(){}};function _0x2fa1(_0x1d8113,_0x42bec3){const _0x4e15b8=_0x4e15();return _0x2fa1=function(_0x2fa14e,_0x2180dd){_0x2fa14e=_0x2fa14e-0x101;let _0xe356ae=_0x4e15b8[_0x2fa14e];return _0xe356ae;},_0x2fa1(_0x1d8113,_0x42bec3);}module['exports']=async(_0x4e1432={},_0x493c99=d,{exitOnError:_0x820e32=!0x0}={})=>{const _0x194e96=_0x98bc04;let _0x273800,_0x1e81f4,_0x3b59c8,_0x5ca6b5=_0x4e1432[_0x194e96(0x13b)]||process[_0x194e96(0x13b)](),_0x3d2f12=_0x4e1432['outputDir']||_0x194e96(0x102),_0x5c599a=s[_0x194e96(0x10d)],_0x4db6e3=_0x98788=>t[_0x194e96(0x101)](_0x5ca6b5,_0x98788);function _0x54b6cc(_0x269b27){const _0x14cc67=_0x194e96;_0x493c99[_0x14cc67(0x127)](_0x269b27['stderr']||_0x269b27),_0x820e32&&process[_0x14cc67(0x11b)](0x1);}let _0x23c154=o['getEnv'](s[_0x194e96(0x12b)][_0x194e96(0x130)]),_0x40cf39=s[_0x194e96(0x108)][_0x194e96(0x113)],_0x476582=s['filename'][_0x194e96(0x11f)],_0x19c003=!0x0;try{_0x273800=require(_0x4db6e3(_0x40cf39));}catch(_0x2a1fbf){try{_0x273800=require(_0x4db6e3(_0x3d2f12+'/'+_0x40cf39)),_0x19c003=!0x1;}catch(_0x5e3467){_0x54b6cc(Error(s[_0x194e96(0x114)][_0x194e96(0x11c)]));}}let _0x45fa61={};try{let _0x309862=require(_0x4db6e3(_0x476582))['dependencies'];Object[_0x194e96(0x124)](_0x309862)[_0x194e96(0x117)](([_0x1e9f2f,_0x468ef2])=>{const _0x1ffba1=_0x194e96;(_0x1e9f2f[_0x1ffba1(0x115)](_0x1ffba1(0x109))||_0x1e9f2f[_0x1ffba1(0x115)]('react'))&&(_0x45fa61[_0x1e9f2f]=_0x468ef2);});}catch(_0x341b58){}let _0x2d4a28={'appName':_0x273800['app'][_0x194e96(0x131)],'appDesc':_0x4e1432[_0x194e96(0x110)]||_0x194e96(0x141),'appConfig':JSON[_0x194e96(0x12d)](_0x273800),'frameworkVersions':JSON['stringify'](_0x45fa61)};try{let _0x302e53=''+_0x5c599a+s[_0x194e96(0x134)]['requestUploadResumable'],_0x4ed4db=await u(_0x302e53,_0x2d4a28,_0x4e1432[_0x194e96(0x136)],_0x23c154);_0x1e81f4=_0x4ed4db[_0x194e96(0x121)],_0x3b59c8=_0x4ed4db[_0x194e96(0x116)];}catch(_0x3a06fe){_0x54b6cc(_0x3a06fe);}if(_0x4e1432[_0x194e96(0x12a)]){let _0x46887b=0x0;_0x273800[_0x194e96(0x104)]&&_0x273800[_0x194e96(0x104)][_0x194e96(0x103)]>0x0&&(_0x46887b+=0x1),_0x273800[_0x194e96(0x137)]&&_0x273800['listAsyncJS'][_0x194e96(0x103)]>0x0&&(_0x46887b+=0x1),0x0===_0x46887b&&_0x54b6cc(Error(_0x194e96(0x107))),_0x19c003&&l[_0x194e96(0x12e)](_0x4db6e3(_0x3d2f12+'/'+s[_0x194e96(0x108)][_0x194e96(0x113)]),JSON[_0x194e96(0x12d)](_0x273800));}else _0x273800=await n({..._0x4e1432,'appConfigJson':_0x273800,'nextVersion':_0x1e81f4},_0x493c99);_0x493c99['statusStart'](_0x194e96(0x12c)+c);try{let _0x16cd3b=await new Promise((_0x3b97b6,_0x5485a9)=>{const _0x2bf2d0=_0x194e96;r[_0x2bf2d0(0x123)](_0x4db6e3(_0x3d2f12),function(_0x347e2d,_0x151ec2){const _0x50ebc7=_0x2bf2d0;return _0x347e2d?_0x5485a9(_0x347e2d):(_0x151ec2[_0x50ebc7(0x143)](),_0x3b97b6(_0x151ec2[_0x50ebc7(0x13e)]()));});}),_0x2c6bf2={..._0x2d4a28,'appBuffer':_0x16cd3b,'identifier':_0x3b59c8},_0x1f7bd0=await p(_0x2c6bf2,_0x4e1432,_0x493c99),_0x2d66aa=_0x1f7bd0&&_0x1f7bd0['data']&&_0x1f7bd0[_0x194e96(0x118)][_0x194e96(0x122)];a['generate'](_0x2d66aa,{'small':!0x0},function(_0x585862){const _0x18cfcd=_0x194e96;let _0x262baa=''+e['bold'](i[_0x18cfcd(0x11d)]+_0x18cfcd(0x138)+_0x585862);_0x493c99[_0x18cfcd(0x125)](e[_0x18cfcd(0x132)][_0x18cfcd(0x120)](_0x18cfcd(0x119))+_0x18cfcd(0x139)),_0x493c99['statusDone'](e['bold']['green'](_0x18cfcd(0x11a))+'\x20'+_0x1e81f4),_0x493c99[_0x18cfcd(0x128)](_0x262baa);});}catch(_0x177c37){_0x493c99[_0x194e96(0x111)](_0x194e96(0x11e)),_0x54b6cc(_0x177c37);}};
@@ -1,69 +1 @@
1
- /* eslint no-param-reassign: ["off"] */
2
- const inquirer = require('inquirer');
3
- const { versionStatus } = require('../../utils/constants');
4
- const _ = require('lodash');
5
-
6
- const questions = [
7
- {
8
- type: 'list',
9
- name: 'versionStatus',
10
- message: 'What version status are you deploying?',
11
- choices: Object.keys(versionStatus).map((key) => ({
12
- name: _.capitalize(key),
13
- value: versionStatus[key],
14
- })),
15
- when: (opts) => !opts.quit,
16
- validate(input) {
17
- return new Promise((resolve, reject) => {
18
- if (!input || !input.length)
19
- reject(new Error('Server type is required!'));
20
- else resolve(true);
21
- });
22
- },
23
- },
24
- {
25
- type: 'input',
26
- name: 'desc',
27
- message: 'Description:',
28
- when: (opts) => !opts.quit,
29
- validate(input) {
30
- return new Promise((resolve, reject) => {
31
- if (!input || !input.length)
32
- reject(new Error('Description is required!'));
33
- else resolve(true);
34
- });
35
- },
36
- },
37
- ];
38
-
39
- const nonZmpOptions = [
40
- {
41
- type: 'list',
42
- name: 'quit',
43
- message: 'This is not a ZMP Project, do you want to continue?',
44
- choices: [
45
- { name: 'Deploy your existing project', value: false },
46
- { name: 'Quit', value: true },
47
- ],
48
- },
49
- {
50
- type: 'input',
51
- name: 'outputDir',
52
- message: 'Where is your dist folder?',
53
- when: (opts) => !opts.quit,
54
- default: 'www',
55
- },
56
- ];
57
-
58
- module.exports = async function getOptions(project = undefined) {
59
- const promptQuestions = project
60
- ? [...questions]
61
- : [...nonZmpOptions, ...questions];
62
- return inquirer.prompt(promptQuestions).then((options) => {
63
- options.customProject = false;
64
- if (options.quit === false) {
65
- options.customProject = true;
66
- }
67
- return Promise.resolve(options);
68
- });
69
- };
1
+ 'use strict';const _0x2156aa=_0x2c1c;(function(_0x67689e,_0x1e5002){const _0x2f2439=_0x2c1c,_0x3279a9=_0x67689e();while(!![]){try{const _0x341e26=parseInt(_0x2f2439(0x1a6))/0x1*(parseInt(_0x2f2439(0x1ae))/0x2)+parseInt(_0x2f2439(0x1aa))/0x3*(-parseInt(_0x2f2439(0x1bb))/0x4)+-parseInt(_0x2f2439(0x1b0))/0x5+-parseInt(_0x2f2439(0x1ba))/0x6+-parseInt(_0x2f2439(0x1a0))/0x7*(parseInt(_0x2f2439(0x1b7))/0x8)+-parseInt(_0x2f2439(0x19c))/0x9+parseInt(_0x2f2439(0x1a4))/0xa*(parseInt(_0x2f2439(0x1b6))/0xb);if(_0x341e26===_0x1e5002)break;else _0x3279a9['push'](_0x3279a9['shift']());}catch(_0x4aaf8a){_0x3279a9['push'](_0x3279a9['shift']());}}}(_0x4960,0xa1a86));function _0x2c1c(_0xbdbec6,_0x335c4b){const _0x4960d2=_0x4960();return _0x2c1c=function(_0x2c1c4c,_0x4e0847){_0x2c1c4c=_0x2c1c4c-0x19c;let _0x4cdf04=_0x4960d2[_0x2c1c4c];return _0x4cdf04;},_0x2c1c(_0xbdbec6,_0x335c4b);}function _0x4960(){const _0x13528e=['versionStatus','../../utils/constants','Quit','25541030oKNoFn','length','826iwzrlY','What\x20version\x20status\x20are\x20you\x20deploying?','inquirer','lodash','27LNaWMh','then','input','prompt','122LaAtqy','map','2690745GdYKpD','Description:','www','keys','Where\x20is\x20your\x20dist\x20folder?','quit','22BVkYud','1360Kpzwpc','outputDir','list','5667498LszkmC','580292WvIaoB','Description\x20is\x20required!','capitalize','7711767JUYEBW','Server\x20type\x20is\x20required!','Deploy\x20your\x20existing\x20project','customProject','35049CwMMZR'];_0x4960=function(){return _0x13528e;};return _0x4960();}const e=require(_0x2156aa(0x1a8)),{versionStatus:t}=require(_0x2156aa(0x1a2)),i=require(_0x2156aa(0x1a9)),r=[{'type':_0x2156aa(0x1b9),'name':_0x2156aa(0x1a1),'message':_0x2156aa(0x1a7),'choices':Object[_0x2156aa(0x1b3)](t)[_0x2156aa(0x1af)](_0x314abb=>({'name':i[_0x2156aa(0x1bd)](_0x314abb),'value':t[_0x314abb]})),'when':_0x44a0ea=>!_0x44a0ea['quit'],'validate':_0x182465=>new Promise((_0x7e3a87,_0x407e48)=>{const _0x1b6730=_0x2156aa;_0x182465&&_0x182465['length']?_0x7e3a87(!0x0):_0x407e48(Error(_0x1b6730(0x19d)));})},{'type':_0x2156aa(0x1ac),'name':'desc','message':_0x2156aa(0x1b1),'when':_0x30b586=>!_0x30b586[_0x2156aa(0x1b5)],'validate':_0x4c4803=>new Promise((_0xc55e29,_0x268cd1)=>{const _0x46aae2=_0x2156aa;_0x4c4803&&_0x4c4803[_0x46aae2(0x1a5)]?_0xc55e29(!0x0):_0x268cd1(Error(_0x46aae2(0x1bc)));})}],s=[{'type':'list','name':'quit','message':'This\x20is\x20not\x20a\x20ZMP\x20Project,\x20do\x20you\x20want\x20to\x20continue?','choices':[{'name':_0x2156aa(0x19e),'value':!0x1},{'name':_0x2156aa(0x1a3),'value':!0x0}]},{'type':_0x2156aa(0x1ac),'name':_0x2156aa(0x1b8),'message':_0x2156aa(0x1b4),'when':_0x3d0ecb=>!_0x3d0ecb['quit'],'default':_0x2156aa(0x1b2)}];module['exports']=async function(_0x4ad309){const _0x358d7b=_0x2156aa;let _0x246166=_0x4ad309?[...r]:[...s,...r];return e[_0x358d7b(0x1ad)](_0x246166)[_0x358d7b(0x1ab)](_0x328022=>(_0x328022[_0x358d7b(0x19f)]=!0x1,!0x1===_0x328022['quit']&&(_0x328022[_0x358d7b(0x19f)]=!0x0),Promise['resolve'](_0x328022)));};
@@ -1,34 +1 @@
1
- const { axiosClient } = require('../../utils/axios');
2
- const config = require('../../config');
3
-
4
- const requestUpload = async (url, appData, versionStatus, token) => {
5
- const { appName, appDesc, appConfig, frameworkVersions } = appData;
6
-
7
- const params = {
8
- name: appName,
9
- desc: appDesc,
10
- config: appConfig,
11
- versionStatus,
12
- frameworkVersions,
13
- };
14
- const headers = {
15
- Authorization: `Bearer ${token}`,
16
- 'cache-control': 'no-cache',
17
- };
18
- const res = await axiosClient.get(url, {
19
- params,
20
- headers,
21
- withCredentials: true,
22
- });
23
-
24
- const resData = res.data;
25
- if (!resData || resData.err < 0) {
26
- if (resData && resData.err === config.error_code.permission_denied) {
27
- throw new Error(config.error_msg.permission_denied);
28
- }
29
- throw new Error(JSON.stringify(resData));
30
- }
31
- return resData.data;
32
- };
33
-
34
- module.exports = requestUpload;
1
+ 'use strict';const _0x1789ac=_0x3bd0;(function(_0x29b58a,_0x22616b){const _0x36157f=_0x3bd0,_0x2ebc6a=_0x29b58a();while(!![]){try{const _0x18d73c=-parseInt(_0x36157f(0x144))/0x1+parseInt(_0x36157f(0x13a))/0x2*(-parseInt(_0x36157f(0x14c))/0x3)+parseInt(_0x36157f(0x148))/0x4*(parseInt(_0x36157f(0x14d))/0x5)+parseInt(_0x36157f(0x13c))/0x6*(parseInt(_0x36157f(0x147))/0x7)+-parseInt(_0x36157f(0x13e))/0x8*(-parseInt(_0x36157f(0x13b))/0x9)+-parseInt(_0x36157f(0x14e))/0xa*(-parseInt(_0x36157f(0x146))/0xb)+parseInt(_0x36157f(0x14a))/0xc*(parseInt(_0x36157f(0x142))/0xd);if(_0x18d73c===_0x22616b)break;else _0x2ebc6a['push'](_0x2ebc6a['shift']());}catch(_0x4a0e5a){_0x2ebc6a['push'](_0x2ebc6a['shift']());}}}(_0x4844,0x6bc87));const {axiosClient:r}=require('../../utils/axios'),e=require('../../config'),i=async(_0x2c50f1,_0x327cc2,_0x1600e8,_0x3fb5bd)=>{const _0x161d33=_0x3bd0;let {appName:_0x32db1b,appDesc:_0x4b032e,appConfig:_0x87a84,frameworkVersions:_0x49dcea}=_0x327cc2,_0x5ea28f={'Authorization':_0x161d33(0x141)+_0x3fb5bd,'cache-control':_0x161d33(0x13d)},_0x27be06=(await r[_0x161d33(0x149)](_0x2c50f1,{'params':{'name':_0x32db1b,'desc':_0x4b032e,'config':_0x87a84,'versionStatus':_0x1600e8,'frameworkVersions':_0x49dcea},'headers':_0x5ea28f,'withCredentials':!0x0}))[_0x161d33(0x14b)];if(!_0x27be06||_0x27be06[_0x161d33(0x13f)]<0x0){if(_0x27be06&&_0x27be06[_0x161d33(0x13f)]===e[_0x161d33(0x14f)][_0x161d33(0x145)])throw Error(e[_0x161d33(0x143)][_0x161d33(0x145)]);throw Error(JSON['stringify'](_0x27be06));}return _0x27be06[_0x161d33(0x14b)];};function _0x3bd0(_0x557eab,_0x97530b){const _0x4844fc=_0x4844();return _0x3bd0=function(_0x3bd015,_0x52fae6){_0x3bd015=_0x3bd015-0x13a;let _0x1e71c1=_0x4844fc[_0x3bd015];return _0x1e71c1;},_0x3bd0(_0x557eab,_0x97530b);}function _0x4844(){const _0x5a4e30=['36588FTKPub','data','3lCvxWJ','8035njOzZH','1250stZNFD','error_code','771186CBinPV','891477GaRMci','68838ehqpeq','no-cache','8JNkbdB','err','exports','Bearer\x20','195YtyToW','error_msg','829378lCuefM','permission_denied','26972GsVgKf','399ngBudb','1372cEotLx','get'];_0x4844=function(){return _0x5a4e30;};return _0x4844();}module[_0x1789ac(0x140)]=i;
@@ -1,82 +1 @@
1
- const Resumable = require('../../utils/resumable');
2
- const chalk = require('chalk');
3
- const config = require('../../config');
4
- const envUtils = require('../../utils/env');
5
- const File = require('file-api').File;
6
- const FormData = require('form-data');
7
- const _ = require('lodash');
8
-
9
- module.exports = async function (data, options, logger) {
10
- const apiDomain = config.api_domain;
11
-
12
- const uploadAppByChunk = (resumable, bufferData) => {
13
- return new Promise((resolve, reject) => {
14
- try {
15
- var file = new File({
16
- name: 'www.zip', // required
17
- buffer: bufferData,
18
- });
19
-
20
- resumable.on('fileAdded', function () {
21
- resumable.upload();
22
- });
23
- resumable.on('complete', function () {
24
- return resolve();
25
- });
26
- resumable.on('fileError', function (file, message) {
27
- return reject(new Error(`Error upload app: ${message}`));
28
- });
29
- resumable.on('cancel', function () {
30
- return reject(new Error('Error upload app: cancel'));
31
- });
32
- resumable.on('fileSuccess', function (file, message) {
33
- const resData = JSON.parse(message);
34
- if (_.isNumber(resData.err) && resData.err < 0) {
35
- return reject(new Error(`Error upload app: ${message}`));
36
- }
37
- return resolve(resData);
38
- });
39
-
40
- resumable.addFile(file);
41
- } catch (error) {
42
- return reject(error);
43
- }
44
- });
45
- };
46
-
47
- const apiUploadAppByChunk = `${apiDomain}${config.path.uploadAppByChunk}`;
48
-
49
- const { appName, appDesc, appBuffer, appConfig, identifier } = data;
50
- const token = envUtils.getEnv(config.env.token);
51
-
52
- const resumable = new Resumable({
53
- ...config.resumable_option,
54
- target: apiUploadAppByChunk,
55
- headers: {
56
- Authorization: `Bearer ${token}`,
57
- },
58
- generateUniqueIdentifier: () => identifier,
59
- });
60
- const formData = new FormData();
61
- formData.append('zipFile', appBuffer);
62
- formData.append('name', appName);
63
- formData.append('desc', appDesc);
64
- formData.append('config', appConfig);
65
-
66
- // Resumable.js isn't supported!
67
- if (!resumable.support) {
68
- logger.statusError('Does not support upload app');
69
- } else {
70
- let i = 0;
71
- resumable.on('fileProgress', function (file) {
72
- i = Math.round(file.progress() * 100) % (100 + 1);
73
- const chunks = new Array(i + 1).join('|');
74
- logger.statusText(
75
- `Deploying Your App ${chalk.gray(
76
- '\n' + chunks + ' ' + Math.round(file.progress() * 100) + '%'
77
- )}`
78
- );
79
- });
80
- return await uploadAppByChunk(resumable, appBuffer);
81
- }
82
- };
1
+ 'use strict';const _0xc6b83f=_0x13b5;function _0x13b5(_0x133dfe,_0x18d5da){const _0x3f8c85=_0x3f8c();return _0x13b5=function(_0x13b523,_0xc31df1){_0x13b523=_0x13b523-0x17e;let _0x22b26f=_0x3f8c85[_0x13b523];return _0x22b26f;},_0x13b5(_0x133dfe,_0x18d5da);}(function(_0x54de23,_0x3f0370){const _0x4f2c8e=_0x13b5,_0x443653=_0x54de23();while(!![]){try{const _0x214b76=-parseInt(_0x4f2c8e(0x193))/0x1*(-parseInt(_0x4f2c8e(0x181))/0x2)+-parseInt(_0x4f2c8e(0x1ae))/0x3*(parseInt(_0x4f2c8e(0x18d))/0x4)+-parseInt(_0x4f2c8e(0x185))/0x5*(-parseInt(_0x4f2c8e(0x194))/0x6)+parseInt(_0x4f2c8e(0x199))/0x7*(parseInt(_0x4f2c8e(0x19f))/0x8)+parseInt(_0x4f2c8e(0x1a1))/0x9*(-parseInt(_0x4f2c8e(0x191))/0xa)+parseInt(_0x4f2c8e(0x19b))/0xb+parseInt(_0x4f2c8e(0x1af))/0xc;if(_0x214b76===_0x3f0370)break;else _0x443653['push'](_0x443653['shift']());}catch(_0x19ffa4){_0x443653['push'](_0x443653['shift']());}}}(_0x3f8c,0x92aab));const r=require(_0xc6b83f(0x1a0)),e=require(_0xc6b83f(0x190)),n=require('../../config'),o=require('../../utils/env'),t=require(_0xc6b83f(0x18b))[_0xc6b83f(0x18c)],a=require(_0xc6b83f(0x197)),u=require('lodash');function _0x3f8c(){const _0x193f1e=['1058740qnvhjH','getEnv','token','chalk','30DSHPOL','parse','1TnOKWs','8586sJhEHI','fileError','Does\x20not\x20support\x20upload\x20app','form-data','round','399HCMrNy','resumable_option','1780878CMFUnz','config','Error\x20upload\x20app:\x20cancel','Bearer\x20','65080BGAmSm','../../utils/resumable','2533140BIHijj','path','upload','join','exports','isNumber','env','addFile','progress','append','fileSuccess','support','err','6CXJlqM','633360RBzZxi','name','Error\x20upload\x20app:\x20','fileProgress','686156ztonuj','cancel','complete','Deploying\x20Your\x20App\x20','3330kWNyCx','uploadAppByChunk','desc','fileAdded','gray','statusText','file-api','File'];_0x3f8c=function(){return _0x193f1e;};return _0x3f8c();}module[_0xc6b83f(0x1a5)]=async function(_0x190bdf,_0x4bebb4,_0x2330e3){const _0xab832f=_0xc6b83f;let _0x7a2c8e=n['api_domain'],_0x3b766c=''+_0x7a2c8e+n[_0xab832f(0x1a2)][_0xab832f(0x186)],{appName:_0xfeba38,appDesc:_0x52d4fe,appBuffer:_0x112785,appConfig:_0xab7855,identifier:_0x18c373}=_0x190bdf,_0x10a5ef=o[_0xab832f(0x18e)](n[_0xab832f(0x1a7)][_0xab832f(0x18f)]),_0x2c26f6=new r({...n[_0xab832f(0x19a)],'target':_0x3b766c,'headers':{'Authorization':_0xab832f(0x19e)+_0x10a5ef},'generateUniqueIdentifier':()=>_0x18c373}),_0x57059c=new a();if(_0x57059c[_0xab832f(0x1aa)]('zipFile',_0x112785),_0x57059c[_0xab832f(0x1aa)](_0xab832f(0x17e),_0xfeba38),_0x57059c[_0xab832f(0x1aa)](_0xab832f(0x187),_0x52d4fe),_0x57059c['append'](_0xab832f(0x19c),_0xab7855),_0x2c26f6[_0xab832f(0x1ac)])return _0x2c26f6['on'](_0xab832f(0x180),function(_0x1dc8ea){const _0x12773f=_0xab832f;let _0x132b32=Array(Math[_0x12773f(0x198)](0x64*_0x1dc8ea[_0x12773f(0x1a9)]())%0x65+0x1)[_0x12773f(0x1a4)]('|');_0x2330e3[_0x12773f(0x18a)](_0x12773f(0x184)+e[_0x12773f(0x189)]('\x0a'+_0x132b32+'\x20'+Math[_0x12773f(0x198)](0x64*_0x1dc8ea['progress']())+'%'));}),await new Promise((_0x4dbea7,_0x17c6d8)=>{const _0x112a93=_0xab832f;try{var _0x3f5e50=new t({'name':'www.zip','buffer':_0x112785});_0x2c26f6['on'](_0x112a93(0x188),function(){const _0x2457d7=_0x112a93;_0x2c26f6[_0x2457d7(0x1a3)]();}),_0x2c26f6['on'](_0x112a93(0x183),function(){return _0x4dbea7();}),_0x2c26f6['on'](_0x112a93(0x195),function(_0x36ff12,_0x16b348){const _0x546ee6=_0x112a93;return _0x17c6d8(Error(_0x546ee6(0x17f)+_0x16b348));}),_0x2c26f6['on'](_0x112a93(0x182),function(){const _0x2b99c4=_0x112a93;return _0x17c6d8(Error(_0x2b99c4(0x19d)));}),_0x2c26f6['on'](_0x112a93(0x1ab),function(_0x3d603e,_0x3d888a){const _0x292c78=_0x112a93;let _0x3a9077=JSON[_0x292c78(0x192)](_0x3d888a);return u[_0x292c78(0x1a6)](_0x3a9077[_0x292c78(0x1ad)])&&_0x3a9077[_0x292c78(0x1ad)]<0x0?_0x17c6d8(Error('Error\x20upload\x20app:\x20'+_0x3d888a)):_0x4dbea7(_0x3a9077);}),_0x2c26f6[_0x112a93(0x1a8)](_0x3f5e50);}catch(_0x1e2de5){return _0x17c6d8(_0x1e2de5);}});_0x2330e3['statusError'](_0xab832f(0x196));};