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.
- package/README.md +1 -0
- package/build/index.js +1 -184
- package/config/index.js +1 -44
- package/create/index.js +1 -230
- package/create/init-zmp-ui.js +1 -216
- package/create/templates/app-parameters.js +9 -25
- package/create/templates/common/webpack/build.js +2 -40
- package/create/templates/copy-assets.js +1 -158
- package/create/templates/core/copy-assets.js +14 -82
- package/create/templates/core/generate-home-page.js +16 -38
- package/create/templates/core/generate-root.js +28 -63
- package/create/templates/core/generate-routes.js +12 -38
- package/create/templates/core/generate-scripts.js +16 -65
- package/create/templates/create-folders.js +1 -30
- package/create/templates/generate-config-xml.js +2 -9
- package/create/templates/generate-index.js +10 -35
- package/create/templates/generate-manifest.js +1 -49
- package/create/templates/generate-recoil.js +4 -16
- package/create/templates/generate-routes.js +1 -16
- package/create/templates/generate-scripts.js +1 -16
- package/create/templates/generate-service-worker.js +4 -10
- package/create/templates/generate-store.js +4 -15
- package/create/templates/generate-styles.js +10 -64
- package/create/templates/generate-webpack-config.js +43 -125
- package/create/templates/generate-zmp-custom.js +14 -72
- package/create/templates/react/copy-assets.js +1 -85
- package/create/templates/react/generate-home-page.js +20 -50
- package/create/templates/react/generate-root.js +15 -44
- package/create/templates/react/generate-routes.js +1 -16
- package/create/templates/react/generate-scripts.js +12 -38
- package/create/templates/react/pages/404.js +2 -10
- package/create/templates/react/pages/about.js +2 -10
- package/create/templates/react/pages/catalog.js +3 -17
- package/create/templates/react/pages/dynamic-route.js +2 -10
- package/create/templates/react/pages/form.js +6 -26
- package/create/templates/react/pages/index copy.js +1 -17
- package/create/templates/react/pages/index.js +1 -17
- package/create/templates/react/pages/settings.js +3 -17
- package/create/templates/react/pages/user.js +8 -27
- package/create/templates/react-typescript/components/app-items.js +2 -9
- package/create/templates/react-typescript/components/index.js +1 -9
- package/create/templates/react-typescript/components/navbar-back.js +2 -9
- package/create/templates/react-typescript/components/user-card.js +2 -9
- package/create/templates/react-typescript/copy-assets.js +1 -94
- package/create/templates/react-typescript/generate-home-page.js +20 -52
- package/create/templates/react-typescript/generate-root.js +14 -45
- package/create/templates/react-typescript/generate-routes.js +1 -12
- package/create/templates/react-typescript/generate-scripts.js +12 -37
- package/create/templates/react-typescript/pages/404.js +2 -10
- package/create/templates/react-typescript/pages/about.js +2 -10
- package/create/templates/react-typescript/pages/catalog.js +3 -17
- package/create/templates/react-typescript/pages/dynamic-route.js +2 -10
- package/create/templates/react-typescript/pages/form.js +6 -26
- package/create/templates/react-typescript/pages/index.js +1 -17
- package/create/templates/react-typescript/pages/settings.js +3 -17
- package/create/templates/react-typescript/pages/user.js +8 -27
- package/create/templates/svelte/copy-assets.js +1 -47
- package/create/templates/svelte/generate-home-page.js +20 -56
- package/create/templates/svelte/generate-root.js +22 -80
- package/create/templates/svelte/generate-routes.js +7 -22
- package/create/templates/svelte/generate-scripts.js +7 -23
- package/create/templates/vue/copy-assets.js +1 -67
- package/create/templates/vue/generate-home-page.js +2 -8
- package/create/templates/vue/generate-root.js +3 -13
- package/create/templates/vue/generate-routes.js +1 -7
- package/create/templates/vue/generate-scripts.js +9 -26
- package/create/templates/vue/global-components.d.js +1 -0
- package/create/templates/zaui/copy-assets.js +1 -90
- package/create/templates/zaui/generate-home-page.js +27 -53
- package/create/templates/zaui/generate-root.js +14 -34
- package/create/templates/zaui/generate-routes.js +1 -10
- package/create/templates/zaui/generate-scripts.js +6 -20
- package/create/templates/zaui/generate-user-card.js +3 -18
- package/create/templates/zaui/pages/about.js +3 -20
- package/create/templates/zaui/pages/form.js +3 -20
- package/create/templates/zaui/pages/index.js +1 -9
- package/create/templates/zaui/pages/user.js +3 -20
- package/create/utils/colors.js +1 -94
- package/create/utils/generate-app-config.js +1 -34
- package/create/utils/generate-gitignore.js +1 -43
- package/create/utils/generate-npm-scripts.js +1 -26
- package/create/utils/generate-package-json.js +1 -132
- package/create/utils/generate-readme.js +1 -28
- package/create/utils/get-options.js +1 -204
- package/create/utils/indent.js +1 -31
- package/create/utils/npm-scripts.js +1 -62
- package/create/utils/string.js +1 -13
- package/create/utils/styles-extension.js +1 -9
- package/create/utils/template-if.js +1 -9
- package/deploy/index.js +1 -149
- package/deploy/utils/get-options.js +1 -69
- package/deploy/utils/request-upload.js +1 -34
- package/deploy/utils/upload-app.js +1 -82
- package/index.js +1 -319
- package/login/index.js +1 -169
- package/login/utils/get-options.js +1 -58
- package/login/utils/zalo-login.js +1 -32
- package/migrate/icons/update-icon-v3.js +1 -19
- package/migrate/index.js +1 -60
- package/migrate/utils/get-options.js +1 -46
- package/migrate/utils/migrate-react.js +1 -33
- package/package.json +11 -39
- package/start/generate-hr-config.js +1 -59
- package/start/index.js +1 -382
- package/sync/index-to-app-config.js +1 -146
- package/sync/index.js +1 -55
- package/utils/axios.js +1 -15
- package/utils/check-update.js +1 -53
- package/utils/constants.js +1 -20
- package/utils/env.js +1 -39
- package/utils/error.js +1 -16
- package/utils/find-files-by-ext.js +1 -27
- package/utils/find-free-port.js +1 -11
- package/utils/fs-extra.js +1 -90
- package/utils/generate-pages-map.js +1 -17
- package/utils/get-app-info.js +1 -22
- package/utils/get-current-project.js +1 -25
- package/utils/get-ip.js +1 -19
- package/utils/log.js +1 -19
- package/utils/node-blob.js +1 -106
- package/utils/resumable.d.js +1 -0
- package/utils/resumable.js +1 -1204
- package/utils/spinner.js +1 -25
- package/utils/tunnel.js +1 -36
- package/.editorconfig +0 -15
- package/.eslintignore +0 -8
- package/.eslintrc.js +0 -10
- package/.vscode/launch.json +0 -23
- package/LICENSE +0 -21
- package/README.git.md +0 -37
- package/assets/index.js +0 -147
- package/build/dist/index.dev.js +0 -217
- package/config/dist/index.dev.js +0 -48
- package/create/templates/dist/generate-styles.dev.js +0 -46
- package/create/templates/react/dist/generate-scripts.dev.js +0 -23
- package/create/templates/react-typescript/dist/generate-scripts.dev.js +0 -23
- package/create/utils/dist/get-options.dev.js +0 -277
- package/deploy/dist/index.dev.js +0 -227
- package/deploy/utils/dist/request-upload.dev.js +0 -62
- package/deploy/utils/dist/upload-app.dev.js +0 -113
- package/dist/bundle.js +0 -1
- package/dist/index.dev.js +0 -352
- package/jsconfig.json +0 -8
- package/login/dist/index.dev.js +0 -223
- package/login/utils/dist/zalo-login.dev.js +0 -41
- package/screenshots/wellcome.jpg +0 -0
- package/show-qr-app/assets/css/style.css +0 -87
- package/show-qr-app/assets/js/qrcode.min.js +0 -1
- package/show-qr-app/index.html +0 -57
- package/show-qr-app/package.json +0 -14
- package/start/dist/index.dev.js +0 -312
- package/ui/server.js +0 -194
- package/ui/www/css/app.css +0 -1
- package/ui/www/css/app.css.map +0 -1
- package/ui/www/fonts/ZMPIcons-Regular.eot +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.ttf +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff +0 -0
- package/ui/www/fonts/ZMPIcons-Regular.woff2 +0 -0
- package/ui/www/images/logo.png +0 -0
- package/ui/www/index.html +0 -1
- package/ui/www/js/app.js +0 -3
- package/ui/www/js/app.js.LICENSE.txt +0 -20
- package/ui/www/js/app.js.map +0 -1
- package/ui/www/static/icons/apple-touch-icon.png +0 -0
- package/ui/www/static/icons/favicon.png +0 -0
- package/utils/dist/get-app-info.dev.js +0 -54
package/start/dist/index.dev.js
DELETED
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/* eslint no-console: off */
|
|
4
|
-
"use strict";
|
|
5
|
-
|
|
6
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
-
|
|
8
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
9
|
-
|
|
10
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
|
|
12
|
-
var chalk = require('chalk');
|
|
13
|
-
|
|
14
|
-
var ora = require('ora');
|
|
15
|
-
|
|
16
|
-
var path = require('path');
|
|
17
|
-
|
|
18
|
-
var qrcode = require('qrcode-terminal');
|
|
19
|
-
|
|
20
|
-
var logSymbols = require('log-symbols');
|
|
21
|
-
|
|
22
|
-
var _require = require('vite'),
|
|
23
|
-
createServer = _require.createServer;
|
|
24
|
-
|
|
25
|
-
var chii = require('chii');
|
|
26
|
-
|
|
27
|
-
var config = require('../config');
|
|
28
|
-
|
|
29
|
-
var envUtils = require('../utils/env');
|
|
30
|
-
|
|
31
|
-
var fs = require('../utils/fs-extra');
|
|
32
|
-
|
|
33
|
-
var fse = require('../utils/fs-extra');
|
|
34
|
-
|
|
35
|
-
var spinner = ora('Starting mini app...');
|
|
36
|
-
|
|
37
|
-
module.exports = function _callee() {
|
|
38
|
-
var options,
|
|
39
|
-
logger,
|
|
40
|
-
_ref,
|
|
41
|
-
_ref$exitOnError,
|
|
42
|
-
exitOnError,
|
|
43
|
-
errorExit,
|
|
44
|
-
cwd,
|
|
45
|
-
appId,
|
|
46
|
-
previewOnZalo,
|
|
47
|
-
isIOS,
|
|
48
|
-
iosHostName,
|
|
49
|
-
usingFrame,
|
|
50
|
-
host,
|
|
51
|
-
port,
|
|
52
|
-
remoteDebugPort,
|
|
53
|
-
hrConfigPath,
|
|
54
|
-
remoteDebugScript,
|
|
55
|
-
hrConfig,
|
|
56
|
-
fileData,
|
|
57
|
-
_hrConfig,
|
|
58
|
-
listJS,
|
|
59
|
-
remoteDebugScriptIndex,
|
|
60
|
-
localServer,
|
|
61
|
-
publicServer,
|
|
62
|
-
viteConfig,
|
|
63
|
-
isTypeScriptProject,
|
|
64
|
-
server,
|
|
65
|
-
app,
|
|
66
|
-
serverFrame,
|
|
67
|
-
info,
|
|
68
|
-
_info,
|
|
69
|
-
processAdbReverseRemoteDEbug,
|
|
70
|
-
_args = arguments;
|
|
71
|
-
|
|
72
|
-
return regeneratorRuntime.async(function _callee$(_context) {
|
|
73
|
-
while (1) {
|
|
74
|
-
switch (_context.prev = _context.next) {
|
|
75
|
-
case 0:
|
|
76
|
-
errorExit = function _ref2(err) {
|
|
77
|
-
logger.error(err.stderr || err);
|
|
78
|
-
if (exitOnError) process.exit(1);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
|
|
82
|
-
logger = _args.length > 1 ? _args[1] : undefined;
|
|
83
|
-
_ref = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, _ref$exitOnError = _ref.exitOnError, exitOnError = _ref$exitOnError === void 0 ? true : _ref$exitOnError;
|
|
84
|
-
|
|
85
|
-
if (!logger) {
|
|
86
|
-
// eslint-disable-next-line
|
|
87
|
-
logger = {
|
|
88
|
-
statusStart: function statusStart() {},
|
|
89
|
-
statusDone: function statusDone() {},
|
|
90
|
-
statusError: function statusError() {},
|
|
91
|
-
text: function text() {},
|
|
92
|
-
error: function error() {}
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
spinner.start();
|
|
97
|
-
cwd = options.cwd || process.cwd();
|
|
98
|
-
appId = options.appId || envUtils.getEnv(config.env.appId);
|
|
99
|
-
previewOnZalo = options.previewOnZalo;
|
|
100
|
-
isIOS = options.ios;
|
|
101
|
-
iosHostName = options.iosHostName;
|
|
102
|
-
usingFrame = options.frame;
|
|
103
|
-
host = isIOS ? iosHostName : 'localhost';
|
|
104
|
-
port = options.port;
|
|
105
|
-
remoteDebugPort = port - 2;
|
|
106
|
-
_context.prev = 15;
|
|
107
|
-
|
|
108
|
-
if (previewOnZalo) {
|
|
109
|
-
hrConfigPath = path.join(cwd, 'hr.config.json');
|
|
110
|
-
remoteDebugScript = {
|
|
111
|
-
id: 'remote-debug-script',
|
|
112
|
-
innerHTML: "(function () { var script = document.createElement('script'); script.src='http://".concat(host, ":").concat(remoteDebugPort, "/target.js'; document.body.appendChild(script); })()"),
|
|
113
|
-
type: 'text/javascript'
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
if (!fs.existsSync(hrConfigPath)) {
|
|
117
|
-
hrConfig = {
|
|
118
|
-
listCSS: [],
|
|
119
|
-
listJS: [{
|
|
120
|
-
src: '/src/app.js',
|
|
121
|
-
type: 'module',
|
|
122
|
-
async: true
|
|
123
|
-
}, remoteDebugScript]
|
|
124
|
-
};
|
|
125
|
-
fs.writeFileSync(hrConfigPath, JSON.stringify(hrConfig, undefined, 4));
|
|
126
|
-
} else {
|
|
127
|
-
fileData = fs.readFileSync(hrConfigPath);
|
|
128
|
-
_hrConfig = JSON.parse(fileData);
|
|
129
|
-
listJS = _hrConfig.listJS;
|
|
130
|
-
|
|
131
|
-
if (!Array.isArray(listJS)) {
|
|
132
|
-
listJS = [];
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
remoteDebugScriptIndex = listJS.findIndex(function (js) {
|
|
136
|
-
return js.id === 'remote-debug-script';
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
if (remoteDebugScriptIndex <= 0) {
|
|
140
|
-
listJS.push(remoteDebugScript);
|
|
141
|
-
} else {
|
|
142
|
-
listJS.splice(remoteDebugScriptIndex, 1);
|
|
143
|
-
listJS.push(remoteDebugScript);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
_hrConfig.listJS = listJS;
|
|
147
|
-
fs.writeFileSync(hrConfigPath, JSON.stringify(_hrConfig, undefined, 4));
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
localServer = {};
|
|
152
|
-
publicServer = {
|
|
153
|
-
host: '0.0.0.0',
|
|
154
|
-
https: !isIOS,
|
|
155
|
-
hmr: {
|
|
156
|
-
host: host
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
viteConfig = 'vite.config.js';
|
|
160
|
-
isTypeScriptProject = fse.existsSync(path.join(cwd, 'vite.config.ts'));
|
|
161
|
-
|
|
162
|
-
if (isTypeScriptProject) {
|
|
163
|
-
viteConfig = 'vite.config.ts';
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
_context.next = 24;
|
|
167
|
-
return regeneratorRuntime.awrap(createServer({
|
|
168
|
-
configFile: path.join(cwd, viteConfig),
|
|
169
|
-
root: cwd,
|
|
170
|
-
mode: previewOnZalo ? 'production' : 'development',
|
|
171
|
-
define: {
|
|
172
|
-
'process.env.NODE_ENV': JSON.stringify(previewOnZalo ? 'production' : 'development'),
|
|
173
|
-
'process.env.previewOnZalo': previewOnZalo
|
|
174
|
-
},
|
|
175
|
-
server: _objectSpread({
|
|
176
|
-
port: usingFrame ? port - 1 : port
|
|
177
|
-
}, previewOnZalo ? publicServer : localServer)
|
|
178
|
-
}));
|
|
179
|
-
|
|
180
|
-
case 24:
|
|
181
|
-
server = _context.sent;
|
|
182
|
-
_context.next = 27;
|
|
183
|
-
return regeneratorRuntime.awrap(server.listen());
|
|
184
|
-
|
|
185
|
-
case 27:
|
|
186
|
-
app = _context.sent;
|
|
187
|
-
|
|
188
|
-
if (previewOnZalo) {
|
|
189
|
-
_context.next = 47;
|
|
190
|
-
break;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
if (!usingFrame) {
|
|
194
|
-
_context.next = 41;
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
_context.next = 32;
|
|
199
|
-
return regeneratorRuntime.awrap(createServer({
|
|
200
|
-
// any valid user config options, plus `mode` and `configFile`
|
|
201
|
-
configFile: false,
|
|
202
|
-
root: __dirname + '/frame',
|
|
203
|
-
server: {
|
|
204
|
-
port: app.httpServer.address().port + 1,
|
|
205
|
-
strictPort: true,
|
|
206
|
-
open: true
|
|
207
|
-
}
|
|
208
|
-
}));
|
|
209
|
-
|
|
210
|
-
case 32:
|
|
211
|
-
serverFrame = _context.sent;
|
|
212
|
-
spinner.stop();
|
|
213
|
-
_context.next = 36;
|
|
214
|
-
return regeneratorRuntime.awrap(serverFrame.listen());
|
|
215
|
-
|
|
216
|
-
case 36:
|
|
217
|
-
info = serverFrame.config.logger.info;
|
|
218
|
-
info(chalk.green("Zalo Mini App dev server is running at:\n"));
|
|
219
|
-
serverFrame.printUrls();
|
|
220
|
-
_context.next = 45;
|
|
221
|
-
break;
|
|
222
|
-
|
|
223
|
-
case 41:
|
|
224
|
-
spinner.stop();
|
|
225
|
-
_info = server.config.logger.info;
|
|
226
|
-
|
|
227
|
-
_info(chalk.green("Zalo Mini App dev server is running at:\n"));
|
|
228
|
-
|
|
229
|
-
server.printUrls();
|
|
230
|
-
|
|
231
|
-
case 45:
|
|
232
|
-
_context.next = 48;
|
|
233
|
-
break;
|
|
234
|
-
|
|
235
|
-
case 47:
|
|
236
|
-
try {
|
|
237
|
-
chii.start({
|
|
238
|
-
port: remoteDebugPort
|
|
239
|
-
});
|
|
240
|
-
logger.text(chalk.green("".concat(logSymbols.info, " ").concat(chalk.bold("Remote debugging tool is running at: http://localhost:".concat(remoteDebugPort)))));
|
|
241
|
-
|
|
242
|
-
if (!isIOS) {
|
|
243
|
-
processAdbReverseRemoteDEbug = require('child_process').spawn("adb", ['reverse', "tcp:".concat(remoteDebugPort), "tcp:".concat(remoteDebugPort)]);
|
|
244
|
-
processAdbReverseRemoteDEbug.stderr.on('data', function (data) {
|
|
245
|
-
logger.error(data.toString());
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
} catch (error) {
|
|
249
|
-
logger.text("".concat(logSymbols.info, " ").concat(chalk.red("Can not start remote debug server")));
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
case 48:
|
|
253
|
-
spinner.stop();
|
|
254
|
-
_context.next = 51;
|
|
255
|
-
return regeneratorRuntime.awrap(new Promise(function () {
|
|
256
|
-
var previewOnZaloURL = "https://zalo.me/app/link/zapps/".concat(appId, "/?env=TESTING_LOCAL&clientIp=").concat(isIOS ? 'http' : 'https', "://").concat(host, ":").concat(app.config.server.port);
|
|
257
|
-
|
|
258
|
-
if (previewOnZalo) {
|
|
259
|
-
qrcode.generate(previewOnZaloURL, {
|
|
260
|
-
small: true
|
|
261
|
-
}, function (qrcode) {
|
|
262
|
-
logger.text(chalk.green("".concat(logSymbols.info, " ").concat(chalk.bold("Zalo Mini App dev server is running at: ".concat(host, ":").concat(app.config.server.port)))));
|
|
263
|
-
logger.text(chalk.green("".concat(logSymbols.info, " ").concat(chalk.bold("Trying reverse socket connection"))));
|
|
264
|
-
|
|
265
|
-
if (isIOS) {
|
|
266
|
-
var qrCode = "".concat(logSymbols.info, " ").concat(chalk.bold("Scan the QR code with Zalo app:\n".concat(qrcode)));
|
|
267
|
-
logger.text(qrCode);
|
|
268
|
-
} else {
|
|
269
|
-
var processAdbReverse = require('child_process').spawn("adb", ['reverse', "tcp:".concat(app.config.server.port), "tcp:".concat(app.config.server.port)]);
|
|
270
|
-
|
|
271
|
-
processAdbReverse.stderr.on('data', function (data) {
|
|
272
|
-
logger.error(data.toString());
|
|
273
|
-
});
|
|
274
|
-
processAdbReverse.on('exit', function (code) {
|
|
275
|
-
if (code !== 0) {
|
|
276
|
-
throw new Error("adb reverse error: ".concat(code));
|
|
277
|
-
} else {
|
|
278
|
-
var _qrCode = "".concat(logSymbols.info, " ").concat(chalk.bold("Scan the QR code with Zalo app:\n".concat(qrcode)));
|
|
279
|
-
|
|
280
|
-
logger.text(_qrCode);
|
|
281
|
-
|
|
282
|
-
var processAdbDevices = require('child_process').spawn("adb", ['devices']);
|
|
283
|
-
|
|
284
|
-
processAdbDevices.stdout.on('data', function (data) {
|
|
285
|
-
logger.text("".concat(chalk.yellow(data.toString())));
|
|
286
|
-
});
|
|
287
|
-
}
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
}
|
|
292
|
-
}));
|
|
293
|
-
|
|
294
|
-
case 51:
|
|
295
|
-
return _context.abrupt("return", _context.sent);
|
|
296
|
-
|
|
297
|
-
case 54:
|
|
298
|
-
_context.prev = 54;
|
|
299
|
-
_context.t0 = _context["catch"](15);
|
|
300
|
-
logger.statusError('Error starting project'); // if (err) logger.error(err.stderr || err);
|
|
301
|
-
|
|
302
|
-
logger.error(_context.t0);
|
|
303
|
-
errorExit(_context.t0);
|
|
304
|
-
return _context.abrupt("return");
|
|
305
|
-
|
|
306
|
-
case 60:
|
|
307
|
-
case "end":
|
|
308
|
-
return _context.stop();
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
}, null, null, [[15, 54]]);
|
|
312
|
-
};
|
package/ui/server.js
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/* eslint no-console: off */
|
|
2
|
-
/* eslint global-require: off */
|
|
3
|
-
/* eslint import/no-dynamic-require: off */
|
|
4
|
-
|
|
5
|
-
const path = require('path');
|
|
6
|
-
const express = require('express');
|
|
7
|
-
const chalk = require('chalk');
|
|
8
|
-
const opn = require('opn');
|
|
9
|
-
const bodyParser = require('body-parser');
|
|
10
|
-
const multer = require('multer');
|
|
11
|
-
const fse = require('../utils/fs-extra');
|
|
12
|
-
const createApp = require('../create/index');
|
|
13
|
-
const buildApp = require('../build/index');
|
|
14
|
-
const deployApp = require('../deploy/index');
|
|
15
|
-
// const generateAssets = require('../assets/index');
|
|
16
|
-
const getCurrentProject = require('../utils/get-current-project');
|
|
17
|
-
const { text } = require('../utils/log');
|
|
18
|
-
|
|
19
|
-
const upload = multer({ storage: multer.memoryStorage() });
|
|
20
|
-
|
|
21
|
-
module.exports = (startPage = '/', port = 3001, query='') => {
|
|
22
|
-
const app = express();
|
|
23
|
-
app.use(express.static(path.resolve(__dirname, 'www')));
|
|
24
|
-
app.use(bodyParser.json());
|
|
25
|
-
|
|
26
|
-
let log = [];
|
|
27
|
-
let done = false;
|
|
28
|
-
let error = false;
|
|
29
|
-
let pendingIconFile = false;
|
|
30
|
-
|
|
31
|
-
const logger = {
|
|
32
|
-
statusStart: (text) => log.push(text),
|
|
33
|
-
statusDone: (text) => log.push(`✔ ${text}`),
|
|
34
|
-
statusText: (text) => log.push(`${text}`),
|
|
35
|
-
statusError: (text) => log.push(`✖ ${text}`),
|
|
36
|
-
text: (text) => log.push(text),
|
|
37
|
-
error: (text) => log.push(text),
|
|
38
|
-
showOnUI: (text) => log.push(text)
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
function clearLog() {
|
|
42
|
-
log = [];
|
|
43
|
-
done = false;
|
|
44
|
-
error = false;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const cwd = process.cwd();
|
|
48
|
-
|
|
49
|
-
app.get('/cwd/*', (req, res) => {
|
|
50
|
-
const localPath = req.path.split('/cwd/')[1];
|
|
51
|
-
res.sendFile(localPath, { root: cwd });
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
app.get('/api/cwd/', (req, res) => {
|
|
55
|
-
res.json({ cwd });
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
app.get('/api/project/', (req, res) => {
|
|
59
|
-
res.json(getCurrentProject(cwd));
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
// Create App
|
|
63
|
-
app.route('/api/create/')
|
|
64
|
-
.get((req, res) => {
|
|
65
|
-
res.json({ log, done, error });
|
|
66
|
-
if (done && !pendingIconFile) {
|
|
67
|
-
clearLog();
|
|
68
|
-
process.exit(0);
|
|
69
|
-
}
|
|
70
|
-
})
|
|
71
|
-
.post(upload.any(), (req, res) => {
|
|
72
|
-
done = false;
|
|
73
|
-
clearLog();
|
|
74
|
-
const file = req.files[0];
|
|
75
|
-
const options = req.body && req.body.options && JSON.parse(req.body.options);
|
|
76
|
-
res.json({});
|
|
77
|
-
if (!options.cwd) options.cwd = cwd;
|
|
78
|
-
if (file && file.buffer) {
|
|
79
|
-
pendingIconFile = true;
|
|
80
|
-
}
|
|
81
|
-
createApp(
|
|
82
|
-
options,
|
|
83
|
-
logger,
|
|
84
|
-
{
|
|
85
|
-
exitOnError: true,
|
|
86
|
-
iconFile: file ? file.buffer : null,
|
|
87
|
-
},
|
|
88
|
-
)
|
|
89
|
-
.then(() => {
|
|
90
|
-
done = true;
|
|
91
|
-
})
|
|
92
|
-
.catch((err) => {
|
|
93
|
-
error = true;
|
|
94
|
-
console.log(err);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
// Deploy App
|
|
99
|
-
app.route('/api/deploy/')
|
|
100
|
-
.get((req, res) => {
|
|
101
|
-
res.json({ log, done, error });
|
|
102
|
-
if (done) {
|
|
103
|
-
clearLog();
|
|
104
|
-
process.exit(0);
|
|
105
|
-
}
|
|
106
|
-
})
|
|
107
|
-
.post(upload.any(), (req, res) => {
|
|
108
|
-
done = false;
|
|
109
|
-
clearLog();
|
|
110
|
-
const options = req.body && req.body.options && JSON.parse(req.body.options);
|
|
111
|
-
res.json({});
|
|
112
|
-
if (!options.cwd) options.cwd = cwd;
|
|
113
|
-
buildApp(
|
|
114
|
-
options,
|
|
115
|
-
logger
|
|
116
|
-
).then(() => {
|
|
117
|
-
deployApp(
|
|
118
|
-
options,
|
|
119
|
-
logger,
|
|
120
|
-
{
|
|
121
|
-
exitOnError: false
|
|
122
|
-
}
|
|
123
|
-
).then(() => {
|
|
124
|
-
done = true;
|
|
125
|
-
})
|
|
126
|
-
.catch((err) => {
|
|
127
|
-
error = true;
|
|
128
|
-
console.log(err);
|
|
129
|
-
});;
|
|
130
|
-
})
|
|
131
|
-
.catch((err) => {
|
|
132
|
-
error = true;
|
|
133
|
-
console.log(err);
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
// Generate Assets
|
|
139
|
-
app.post('/api/assets/upload/', upload.any(), (req, res) => {
|
|
140
|
-
const file = req.files[0];
|
|
141
|
-
fse.writeFileSync(path.resolve(cwd, 'assets-src', `${file.fieldname}.png`), file.buffer);
|
|
142
|
-
res.send('Ok');
|
|
143
|
-
});
|
|
144
|
-
// app.route('/api/assets/generate/')
|
|
145
|
-
// .get((req, res) => {
|
|
146
|
-
// res.json({ log, done, error });
|
|
147
|
-
// if (done) {
|
|
148
|
-
// clearLog();
|
|
149
|
-
// if (pendingIconFile) {
|
|
150
|
-
// pendingIconFile = false;
|
|
151
|
-
// process.exit(0);
|
|
152
|
-
// }
|
|
153
|
-
// }
|
|
154
|
-
// })
|
|
155
|
-
// .post((req, res) => {
|
|
156
|
-
// const keepLog = req.body && req.body.keepLog;
|
|
157
|
-
// done = false;
|
|
158
|
-
// if (!keepLog) {
|
|
159
|
-
// clearLog();
|
|
160
|
-
// } else {
|
|
161
|
-
// log.push('\n\n');
|
|
162
|
-
// }
|
|
163
|
-
|
|
164
|
-
// const currentProject = getCurrentProject(cwd);
|
|
165
|
-
|
|
166
|
-
// res.json({});
|
|
167
|
-
|
|
168
|
-
// generateAssets({}, currentProject, logger, { exitOnError: true })
|
|
169
|
-
// .then(() => {
|
|
170
|
-
// done = true;
|
|
171
|
-
// }).catch((err) => {
|
|
172
|
-
// error = true;
|
|
173
|
-
// console.log(err);
|
|
174
|
-
// });
|
|
175
|
-
// });
|
|
176
|
-
|
|
177
|
-
const availablePaths = [
|
|
178
|
-
'/',
|
|
179
|
-
'/create/',
|
|
180
|
-
'/deploy/',
|
|
181
|
-
'/qr/'
|
|
182
|
-
];
|
|
183
|
-
availablePaths.forEach((availablePath) => {
|
|
184
|
-
app.get(availablePath, (req, res) => {
|
|
185
|
-
res.sendFile('www/index.html', { root: __dirname });
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
app.listen(port, () => {
|
|
190
|
-
console.log(`${chalk.bold(`\nZMP CLI UI is running on http://localhost:${port}`)} ${chalk.gray('(CTRL + C to exit)')}`);
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
opn(`http://localhost:${port}${startPage}?${query}`);
|
|
194
|
-
};
|