@zeppos/zeus-cli 1.0.22 → 1.1.0-beta
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 -1
- package/api/index.js +250 -0
- package/bin/cli.js +2 -0
- package/config/device.js +3 -2
- package/config/project.js +27 -11
- package/index.js +2 -0
- package/modules/bridge.js +205 -0
- package/modules/build.js +130 -76
- package/modules/config.js +21 -19
- package/modules/create/index.js +18 -11
- package/modules/create/local-app.js +4 -0
- package/modules/help.js +2 -0
- package/modules/login.js +78 -145
- package/modules/run.js +28 -64
- package/modules/simulator.js +8 -1
- package/modules/status.js +86 -0
- package/modules/storage.js +88 -4
- package/modules/websocket.js +105 -0
- package/package.json +9 -2
- package/public/template/empty/app.js +2 -24
- package/public/template/hello-world/app.js +2 -24
- package/public/template/hello-world/app.json +1 -1
- package/public/template/hello-world/page/gtr3/home/index.page.js +6 -4
- package/public/template/hello-world/page/gtr3/home/index.style.js +11 -28
- package/public/template/hello-world/page/gtr3-pro/home/index.page.js +6 -4
- package/public/template/hello-world/page/gtr3-pro/home/index.style.js +11 -28
- package/public/template/hello-world/page/gts3/home/index.page.js +7 -4
- package/public/template/hello-world/page/gts3/home/index.style.js +11 -28
- package/public/template/jsconfig.json +14 -0
- package/public/template/package.json +14 -0
- package/public/template/timer/app.js +1 -4
- package/public/template/timer/app.json +1 -1
- package/public/template/timer/watchface/round/index.js +2 -2
- package/utils/common.js +106 -0
- package/utils/hm_analytics.js +35 -0
package/modules/build.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
3
|
if (k2 === undefined) k2 = k;
|
|
15
4
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
@@ -76,16 +65,16 @@ var fs_1 = __importDefault(require("fs"));
|
|
|
76
65
|
var rd = __importStar(require("rd"));
|
|
77
66
|
var path = __importStar(require("path"));
|
|
78
67
|
var lodash_1 = __importDefault(require("lodash"));
|
|
79
|
-
var axios_1 = __importDefault(require("axios"));
|
|
80
68
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
81
69
|
var form_data_1 = __importDefault(require("form-data"));
|
|
82
70
|
var qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
83
71
|
var inquirer_1 = __importDefault(require("inquirer"));
|
|
84
|
-
var login_1 = require("./login");
|
|
85
72
|
var logger = __importStar(require("../utils/logger"));
|
|
86
|
-
var storage_1 = require("./storage");
|
|
87
73
|
var project_1 = require("../config/project");
|
|
88
|
-
var
|
|
74
|
+
var hm_analytics_1 = require("../utils/hm_analytics");
|
|
75
|
+
var api_1 = require("../api");
|
|
76
|
+
var storage_1 = require("./storage");
|
|
77
|
+
var common_1 = require("../utils/common");
|
|
89
78
|
var BuildMode;
|
|
90
79
|
(function (BuildMode) {
|
|
91
80
|
BuildMode["DEV"] = "development";
|
|
@@ -100,43 +89,42 @@ var TransformType;
|
|
|
100
89
|
TransformType["Bin"] = "bin";
|
|
101
90
|
})(TransformType || (TransformType = {}));
|
|
102
91
|
function handleExecCommandInErrorDir(mode) {
|
|
103
|
-
|
|
104
|
-
if (mode === BuildMode.PROD) {
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
logger.warn("The command ".concat(chalk_1["default"].yellow("zeus ".concat(curCommand)), " needs to be executed in the root of the project"));
|
|
92
|
+
// let curCommand = 'dev'
|
|
93
|
+
// if (mode === BuildMode.PROD) {
|
|
94
|
+
// curCommand = 'build'
|
|
95
|
+
// } else if (mode === BuildMode.PREVIEW) {
|
|
96
|
+
// curCommand = 'preview'
|
|
97
|
+
// }
|
|
98
|
+
logger.warn("This command needs to be executed in the root of the project.");
|
|
111
99
|
process.exit(1);
|
|
112
100
|
}
|
|
113
101
|
function chooseBuildPackages(mode) {
|
|
102
|
+
if (mode === void 0) { mode = 'development'; }
|
|
114
103
|
return __awaiter(this, void 0, void 0, function () {
|
|
115
104
|
var appJson, targets, answers;
|
|
116
|
-
|
|
117
|
-
|
|
105
|
+
var _a, _b;
|
|
106
|
+
return __generator(this, function (_c) {
|
|
107
|
+
switch (_c.label) {
|
|
118
108
|
case 0:
|
|
119
|
-
if (!mode) {
|
|
120
|
-
mode = 'development';
|
|
121
|
-
}
|
|
122
109
|
appJson = fs_extra_1["default"].readJSONSync(path.resolve('./app.json'), { throws: false });
|
|
123
110
|
if (!appJson) {
|
|
124
111
|
handleExecCommandInErrorDir(mode);
|
|
125
112
|
}
|
|
126
113
|
targets = Object.keys(lodash_1["default"].get(appJson, 'targets', {}));
|
|
127
114
|
if (!!targets.length) return [3 /*break*/, 1];
|
|
128
|
-
logger.error('please set at least one package');
|
|
115
|
+
logger.error('please set at least one package.');
|
|
129
116
|
process.exit(1);
|
|
130
117
|
return [3 /*break*/, 4];
|
|
131
118
|
case 1:
|
|
132
119
|
if (!(targets.length === 1)) return [3 /*break*/, 2];
|
|
120
|
+
storage_1.globalStorage.set((_a = {}, _a[project_1.buildStorageKey.targetDeviceToBuild] = targets[0], _a));
|
|
133
121
|
return [2 /*return*/, [targets[0]]];
|
|
134
122
|
case 2: return [4 /*yield*/, inquirer_1["default"].prompt([
|
|
135
123
|
{
|
|
136
124
|
name: 'target',
|
|
137
125
|
type: 'list',
|
|
138
126
|
when: function () { return mode !== BuildMode.PROD; },
|
|
139
|
-
message: 'Which target would you like to
|
|
127
|
+
message: 'Which target would you like to preview?',
|
|
140
128
|
choices: targets
|
|
141
129
|
},
|
|
142
130
|
{
|
|
@@ -150,9 +138,15 @@ function chooseBuildPackages(mode) {
|
|
|
150
138
|
}); }),
|
|
151
139
|
message: 'Which targets would you like to build?'
|
|
152
140
|
}
|
|
153
|
-
])
|
|
141
|
+
])
|
|
142
|
+
// 存储 deviceSource
|
|
143
|
+
];
|
|
154
144
|
case 3:
|
|
155
|
-
answers =
|
|
145
|
+
answers = _c.sent();
|
|
146
|
+
// 存储 deviceSource
|
|
147
|
+
if (BuildMode.PROD) {
|
|
148
|
+
storage_1.globalStorage.set((_b = {}, _b[project_1.buildStorageKey.targetDeviceToBuild] = [answers.target], _b));
|
|
149
|
+
}
|
|
156
150
|
return [2 /*return*/, mode !== BuildMode.PROD ? [answers.target] : answers.buildTargets];
|
|
157
151
|
case 4: return [2 /*return*/];
|
|
158
152
|
}
|
|
@@ -160,25 +154,25 @@ function chooseBuildPackages(mode) {
|
|
|
160
154
|
});
|
|
161
155
|
}
|
|
162
156
|
exports.chooseBuildPackages = chooseBuildPackages;
|
|
163
|
-
var build = function (mode, packages) {
|
|
157
|
+
var build = function (mode, packages, buildConfigOption) {
|
|
164
158
|
if (mode === void 0) { mode = BuildMode.PROD; }
|
|
165
159
|
if (packages === void 0) { packages = []; }
|
|
166
160
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
167
|
-
var workspace, choosePackages, buildOptions, buildInfo_1, DistDir_1, error_1;
|
|
168
|
-
return __generator(this, function (
|
|
169
|
-
switch (
|
|
161
|
+
var workspace, choosePackages, buildOptions, _a, js2c, js2bin, png2vg, prune, curJscMode, curTarget, buildInfo_1, DistDir_1, error_1;
|
|
162
|
+
return __generator(this, function (_b) {
|
|
163
|
+
switch (_b.label) {
|
|
170
164
|
case 0:
|
|
171
165
|
workspace = path.resolve('./');
|
|
172
166
|
if (!!packages.length) return [3 /*break*/, 2];
|
|
173
167
|
return [4 /*yield*/, chooseBuildPackages(mode)];
|
|
174
168
|
case 1:
|
|
175
|
-
choosePackages =
|
|
169
|
+
choosePackages = _b.sent();
|
|
176
170
|
if (!choosePackages || !choosePackages.length) {
|
|
177
|
-
logger.error('please choose at least one package');
|
|
171
|
+
logger.error('please choose at least one package.');
|
|
178
172
|
return [2 /*return*/];
|
|
179
173
|
}
|
|
180
174
|
packages.push.apply(packages, choosePackages);
|
|
181
|
-
|
|
175
|
+
_b.label = 2;
|
|
182
176
|
case 2:
|
|
183
177
|
buildOptions = {
|
|
184
178
|
path: workspace,
|
|
@@ -187,21 +181,32 @@ var build = function (mode, packages) {
|
|
|
187
181
|
jsc: TransformType.Default // 不开启 js => c
|
|
188
182
|
};
|
|
189
183
|
if (mode === BuildMode.PROD || mode === BuildMode.PREVIEW) {
|
|
184
|
+
_a = buildConfigOption || {}, js2c = _a.js2c, js2bin = _a.js2bin, png2vg = _a.png2vg, prune = _a.prune;
|
|
185
|
+
js2c = js2c === 'false' ? false : true;
|
|
186
|
+
js2bin = ((js2bin === 'true') || (js2bin === true)) ? true : false;
|
|
187
|
+
png2vg = ((png2vg === 'false') && (png2vg !== undefined)) ? false : true;
|
|
188
|
+
prune = ((prune === 'false') && (prune !== undefined)) ? false : true;
|
|
189
|
+
curJscMode = js2c && js2bin ? TransformType.Bin : TransformType.C;
|
|
190
|
+
if (js2bin && !js2c) {
|
|
191
|
+
curJscMode = TransformType.Bin;
|
|
192
|
+
}
|
|
193
|
+
else if ((!js2bin && !js2c) || !js2c) {
|
|
194
|
+
curJscMode = TransformType.Default;
|
|
195
|
+
}
|
|
190
196
|
Object.assign(buildOptions, {
|
|
191
|
-
png2vg:
|
|
197
|
+
png2vg: png2vg,
|
|
198
|
+
prune: prune,
|
|
199
|
+
jsc: curJscMode
|
|
192
200
|
});
|
|
193
201
|
}
|
|
194
|
-
|
|
202
|
+
_b.label = 3;
|
|
195
203
|
case 3:
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
204
|
+
_b.trys.push([3, 8, , 9]);
|
|
205
|
+
curTarget = (buildConfigOption ? buildConfigOption._ : [''])[0];
|
|
206
|
+
if (!(mode !== BuildMode.DEV || (mode === BuildMode.DEV && curTarget === 'install'))) return [3 /*break*/, 5];
|
|
207
|
+
return [4 /*yield*/, (0, node_js_1.start)(buildOptions)];
|
|
199
208
|
case 4:
|
|
200
|
-
|
|
201
|
-
return [2 /*return*/, (0, node_js_1.getZpkBuf)(packages[0])];
|
|
202
|
-
case 5: return [4 /*yield*/, (0, node_js_1.start)(buildOptions)];
|
|
203
|
-
case 6:
|
|
204
|
-
buildInfo_1 = _a.sent();
|
|
209
|
+
buildInfo_1 = _b.sent();
|
|
205
210
|
if (buildInfo_1) {
|
|
206
211
|
DistDir_1 = path.join(workspace, 'dist');
|
|
207
212
|
rd.eachFileSync(DistDir_1, function (file) {
|
|
@@ -211,9 +216,15 @@ var build = function (mode, packages) {
|
|
|
211
216
|
});
|
|
212
217
|
}
|
|
213
218
|
return [2 /*return*/, buildInfo_1];
|
|
219
|
+
case 5:
|
|
220
|
+
if (!(mode === BuildMode.DEV)) return [3 /*break*/, 7];
|
|
221
|
+
return [4 /*yield*/, (0, node_js_1.startWithoutDist)(buildOptions)];
|
|
222
|
+
case 6:
|
|
223
|
+
_b.sent();
|
|
224
|
+
return [2 /*return*/, (0, node_js_1.getZpkBuf)(packages[0])];
|
|
214
225
|
case 7: return [3 /*break*/, 9];
|
|
215
226
|
case 8:
|
|
216
|
-
error_1 =
|
|
227
|
+
error_1 = _b.sent();
|
|
217
228
|
logger.error(error_1);
|
|
218
229
|
return [3 /*break*/, 9];
|
|
219
230
|
case 9: return [2 /*return*/];
|
|
@@ -223,12 +234,27 @@ var build = function (mode, packages) {
|
|
|
223
234
|
};
|
|
224
235
|
exports.build = build;
|
|
225
236
|
var buildDev = function (packages) {
|
|
237
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_DEV_C');
|
|
226
238
|
return (0, exports.build)(BuildMode.DEV, packages);
|
|
227
239
|
};
|
|
228
240
|
exports.buildDev = buildDev;
|
|
229
|
-
var buildProd = function () {
|
|
230
|
-
|
|
231
|
-
|
|
241
|
+
var buildProd = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
242
|
+
var buildInfo;
|
|
243
|
+
return __generator(this, function (_a) {
|
|
244
|
+
switch (_a.label) {
|
|
245
|
+
case 0: return [4 /*yield*/, (0, exports.build)(BuildMode.PROD, [], args)];
|
|
246
|
+
case 1:
|
|
247
|
+
buildInfo = _a.sent();
|
|
248
|
+
if (buildInfo) {
|
|
249
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_BUILD_C', { res: '1' });
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_BUILD_C', { res: '0' });
|
|
253
|
+
}
|
|
254
|
+
return [2 /*return*/, buildInfo];
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}); };
|
|
232
258
|
exports.buildProd = buildProd;
|
|
233
259
|
var checkIsWatchFaceProject = function () {
|
|
234
260
|
var appJsonPath = path.resolve('./app.json');
|
|
@@ -236,49 +262,77 @@ var checkIsWatchFaceProject = function () {
|
|
|
236
262
|
var appType = lodash_1["default"].get(appJsonContent, 'app.appType');
|
|
237
263
|
return appType === project_1.AppType.WATCHFACE;
|
|
238
264
|
};
|
|
239
|
-
var buildPreview = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
240
|
-
var
|
|
265
|
+
var buildPreview = function (args, cb) { return __awaiter(void 0, void 0, void 0, function () {
|
|
266
|
+
var _a, curCommand, curBridgeTarget, form, buildMode, buildInfo, isWatchFaceProject;
|
|
241
267
|
return __generator(this, function (_b) {
|
|
242
268
|
switch (_b.label) {
|
|
243
269
|
case 0:
|
|
244
|
-
|
|
245
|
-
return [4 /*yield*/, (0, login_1.login)(args)];
|
|
246
|
-
case 1:
|
|
247
|
-
_a = _b.sent(), apptoken = _a.apptoken, userid = _a.userid, cname = _a.cname;
|
|
270
|
+
_a = args._, curCommand = _a[0], curBridgeTarget = _a[1];
|
|
248
271
|
form = new form_data_1["default"]();
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
272
|
+
buildMode = (curBridgeTarget && curBridgeTarget === 'simulator') ? BuildMode.DEV : BuildMode.PREVIEW;
|
|
273
|
+
logger.info('building...');
|
|
274
|
+
return [4 /*yield*/, (0, exports.build)(buildMode, [], args)];
|
|
275
|
+
case 1:
|
|
252
276
|
buildInfo = _b.sent();
|
|
253
277
|
isWatchFaceProject = checkIsWatchFaceProject();
|
|
254
|
-
logger.info('getting
|
|
278
|
+
logger.info('getting package...');
|
|
255
279
|
form.append('file', fs_1["default"].createReadStream("./dist/".concat(buildInfo)));
|
|
256
280
|
form.append('app_type', isWatchFaceProject ? '1' : '2');
|
|
257
281
|
form.getLength(function (err, length) { return __awaiter(void 0, void 0, void 0, function () {
|
|
258
|
-
var
|
|
259
|
-
return __generator(this, function (
|
|
260
|
-
switch (
|
|
282
|
+
var uploadPackageReturnInfo, _a, protocol, code, url, _b, deviceSource, appId, appName, appType, deviceSourceArr, targetDeviceInternalName, packageInfo, downloadPackageReturn, url, preview;
|
|
283
|
+
return __generator(this, function (_c) {
|
|
284
|
+
switch (_c.label) {
|
|
261
285
|
case 0:
|
|
262
286
|
if (err) {
|
|
263
287
|
logger.error('getting package failed.');
|
|
264
288
|
return [2 /*return*/];
|
|
265
289
|
}
|
|
266
|
-
|
|
267
|
-
host = cname.split(',').filter(function (h) { return h.indexOf('api-mifit') > -1; })[0];
|
|
268
|
-
return [4 /*yield*/, axios_1["default"].post("https://".concat(host, "/custom/tools/app-dial/upload?userid=").concat(userid), form, {
|
|
269
|
-
headers: __assign(__assign({}, form.getHeaders()), { 'content-length': "".concat(length), apptoken: apptoken })
|
|
270
|
-
})];
|
|
290
|
+
return [4 /*yield*/, (0, api_1.uploadPackage)(form, length)];
|
|
271
291
|
case 1:
|
|
272
|
-
|
|
273
|
-
_a = lodash_1["default"].get(
|
|
292
|
+
uploadPackageReturnInfo = _c.sent();
|
|
293
|
+
_a = lodash_1["default"].get(uploadPackageReturnInfo, 'data', {}), protocol = _a.protocol, code = _a.code;
|
|
294
|
+
if (!(curCommand === 'preview')) return [3 /*break*/, 2];
|
|
295
|
+
url = "".concat(protocol, "://").concat(api_1.subRegionalHost, "/custom/tools/app-dial/download/").concat(code);
|
|
274
296
|
if (protocol && code) {
|
|
275
|
-
|
|
276
|
-
logger.success('please use Zepp APP to scan the qrcode below to preview your app.');
|
|
297
|
+
logger.info('generating preview qrcode...');
|
|
298
|
+
logger.success('Below within two hours,please use Zepp APP to scan the qrcode below to preview your app.');
|
|
299
|
+
qrcode_terminal_1["default"].generate("".concat(protocol, "://").concat(api_1.subRegionalHost, "/custom/tools/app-dial/download/").concat(code), { small: true });
|
|
277
300
|
}
|
|
278
301
|
else {
|
|
302
|
+
if (project_1.ACCOUNT_ENV === 'test') {
|
|
303
|
+
console.log('previewUrl', url);
|
|
304
|
+
}
|
|
279
305
|
logger.error('generating preview qrcode failed, please check your network.');
|
|
280
306
|
}
|
|
281
|
-
return [
|
|
307
|
+
return [3 /*break*/, 4];
|
|
308
|
+
case 2:
|
|
309
|
+
if (!(curCommand === 'install')) return [3 /*break*/, 4];
|
|
310
|
+
_b = (0, common_1.getDeviceInfoFromAppJson)(), deviceSource = _b.deviceSource, appId = _b.appId, appName = _b.appName, appType = _b.appType, deviceSourceArr = _b.deviceSourceArr, targetDeviceInternalName = _b.targetDeviceInternalName;
|
|
311
|
+
return [4 /*yield*/, (0, api_1.downloadPackage)(code, deviceSource, appType)];
|
|
312
|
+
case 3:
|
|
313
|
+
packageInfo = _c.sent();
|
|
314
|
+
downloadPackageReturn = lodash_1["default"].get(packageInfo, 'data', {});
|
|
315
|
+
url = packageInfo;
|
|
316
|
+
preview = '';
|
|
317
|
+
if (isWatchFaceProject) {
|
|
318
|
+
url = downloadPackageReturn.url;
|
|
319
|
+
preview = downloadPackageReturn.preview;
|
|
320
|
+
}
|
|
321
|
+
if (cb) {
|
|
322
|
+
cb({
|
|
323
|
+
appType: appType,
|
|
324
|
+
url: url,
|
|
325
|
+
preview: preview,
|
|
326
|
+
appid: appId,
|
|
327
|
+
name: appName,
|
|
328
|
+
"debugger": true,
|
|
329
|
+
updatedTime: Math.round(new Date().getTime() / 1000),
|
|
330
|
+
devices: deviceSourceArr,
|
|
331
|
+
target: targetDeviceInternalName
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
_c.label = 4;
|
|
335
|
+
case 4: return [2 /*return*/];
|
|
282
336
|
}
|
|
283
337
|
});
|
|
284
338
|
}); });
|
package/modules/config.js
CHANGED
|
@@ -63,8 +63,9 @@ var lodash_1 = __importDefault(require("lodash"));
|
|
|
63
63
|
var chalk_1 = __importDefault(require("chalk"));
|
|
64
64
|
var storage_1 = require("./storage");
|
|
65
65
|
var logger = __importStar(require("../utils/logger"));
|
|
66
|
+
var hm_analytics_1 = require("../utils/hm_analytics");
|
|
66
67
|
var config = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
-
var cmd, _a, space, _b, method, values, allowedMethods,
|
|
68
|
+
var cmd, _a, space, _b, method, values, allowedMethods, commonHandleNotKeyTips, config_1;
|
|
68
69
|
return __generator(this, function (_c) {
|
|
69
70
|
cmd = lodash_1["default"].get(args, '$0');
|
|
70
71
|
_a = lodash_1["default"].get(args, '_', []), space = _a[0], _b = _a[1], method = _b === void 0 ? '' : _b, values = _a.slice(2);
|
|
@@ -76,20 +77,20 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
76
77
|
logger.log("- ".concat(cmd, " ").concat(space, " get <key> [<key> ...]"));
|
|
77
78
|
logger.log("- ".concat(cmd, " ").concat(space, " delete <key> [<key> ...]"));
|
|
78
79
|
logger.log("- ".concat(cmd, " ").concat(space, " list [--json]"));
|
|
79
|
-
process.exit(
|
|
80
|
+
process.exit(0);
|
|
80
81
|
}
|
|
81
|
-
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
82
82
|
commonHandleNotKeyTips = function (method) {
|
|
83
83
|
logger.error("Please enter the data in the format: ".concat(chalk_1["default"].yellow("zeus config ".concat(method, " <key>"))));
|
|
84
84
|
};
|
|
85
85
|
switch (method) {
|
|
86
|
-
case 'set':
|
|
86
|
+
case 'set':
|
|
87
87
|
if (!values.length) {
|
|
88
88
|
logger.error("Please enter the data in the format: ".concat(chalk_1["default"].yellow('zeus config set <key>=<value>')));
|
|
89
89
|
break;
|
|
90
90
|
}
|
|
91
91
|
values.forEach(function (info) {
|
|
92
|
-
var _a
|
|
92
|
+
var _a;
|
|
93
|
+
var _b = info.split('='), _c = _b[0], key = _c === void 0 ? '' : _c, _d = _b[1], value = _d === void 0 ? '' : _d;
|
|
93
94
|
key = key.trim();
|
|
94
95
|
value = value.trim();
|
|
95
96
|
if (!info.includes('=')) {
|
|
@@ -102,53 +103,53 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
102
103
|
logger.error('please input <key>');
|
|
103
104
|
}
|
|
104
105
|
else {
|
|
105
|
-
|
|
106
|
+
// TODO 需要知道 <key> 有那些,以便验证是否处理的没有遗漏
|
|
107
|
+
storage_1.globalStorage.set((_a = {}, _a[key] = value, _a));
|
|
106
108
|
logger.success("config: ".concat(key, "=").concat(value));
|
|
107
109
|
}
|
|
108
110
|
});
|
|
109
111
|
break;
|
|
110
|
-
|
|
111
|
-
case 'get': {
|
|
112
|
+
case 'get':
|
|
112
113
|
if (!values.length) {
|
|
113
114
|
commonHandleNotKeyTips('get');
|
|
114
115
|
break;
|
|
115
116
|
}
|
|
116
117
|
values.forEach(function (key) {
|
|
117
118
|
var curKey = key.trim();
|
|
118
|
-
|
|
119
|
+
// TODO 需要知道 <key> 有那些,以便验证是否处理的没有遗漏
|
|
120
|
+
if (!storage_1.globalStorage.has(key) || !key) {
|
|
119
121
|
logger.error('The <key> does not exist');
|
|
120
122
|
}
|
|
121
123
|
else {
|
|
122
|
-
logger.log("".concat(curKey, "=").concat(
|
|
124
|
+
logger.log("".concat(curKey, "=").concat(storage_1.globalStorage.get(curKey)));
|
|
123
125
|
}
|
|
124
126
|
});
|
|
125
127
|
break;
|
|
126
|
-
|
|
127
|
-
case 'delete': {
|
|
128
|
+
case 'delete':
|
|
128
129
|
if (!values.length) {
|
|
129
130
|
commonHandleNotKeyTips('delete');
|
|
130
131
|
break;
|
|
131
132
|
}
|
|
132
133
|
values.forEach(function (key) {
|
|
133
134
|
var curKey = key.trim();
|
|
134
|
-
|
|
135
|
+
// TODO 需要知道 <key> 有那些,以便验证是否处理的没有遗漏
|
|
136
|
+
if (!storage_1.globalStorage.has(key) || !key) {
|
|
135
137
|
logger.error('The <key> does not exist');
|
|
136
138
|
}
|
|
137
139
|
else {
|
|
138
|
-
|
|
140
|
+
storage_1.globalStorage.deleteStorage(curKey);
|
|
139
141
|
logger.success("config: ".concat(curKey, " deleted"));
|
|
140
142
|
}
|
|
141
143
|
});
|
|
142
144
|
break;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
config_1 = storage.getAll();
|
|
145
|
+
case 'list':
|
|
146
|
+
config_1 = storage_1.instanceStorage.getStorage();
|
|
146
147
|
Object.keys(config_1).forEach(function (key) {
|
|
147
148
|
if (lodash_1["default"].startsWith(key, '____')) {
|
|
148
149
|
lodash_1["default"].unset(config_1, key);
|
|
149
150
|
}
|
|
150
151
|
});
|
|
151
|
-
if (lodash_1["default"].get(
|
|
152
|
+
if (lodash_1["default"].get(args, 'json', false)) {
|
|
152
153
|
logger.log(JSON.stringify(config_1, null, 2));
|
|
153
154
|
}
|
|
154
155
|
else {
|
|
@@ -157,10 +158,11 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
157
158
|
});
|
|
158
159
|
}
|
|
159
160
|
break;
|
|
160
|
-
}
|
|
161
161
|
default:
|
|
162
162
|
break;
|
|
163
163
|
}
|
|
164
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_CONFIG_C');
|
|
165
|
+
process.exit(0);
|
|
164
166
|
return [2 /*return*/];
|
|
165
167
|
});
|
|
166
168
|
}); };
|
package/modules/create/index.js
CHANGED
|
@@ -83,10 +83,10 @@ var lodash_1 = __importDefault(require("lodash"));
|
|
|
83
83
|
var chalk_1 = __importDefault(require("chalk"));
|
|
84
84
|
var inquirer_1 = __importDefault(require("inquirer"));
|
|
85
85
|
var rd = __importStar(require("rd"));
|
|
86
|
-
var fs = __importStar(require("fs"));
|
|
87
86
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
88
87
|
var path_1 = require("path");
|
|
89
88
|
var fs_1 = require("fs");
|
|
89
|
+
var yeoman_environment_1 = __importDefault(require("yeoman-environment"));
|
|
90
90
|
var local_app_1 = require("./local-app");
|
|
91
91
|
var yeoman_app_1 = require("./yeoman-app");
|
|
92
92
|
var project_1 = require("../../config/project");
|
|
@@ -94,20 +94,22 @@ var device_1 = require("../../config/device");
|
|
|
94
94
|
var font_icon_1 = __importDefault(require("../../font-icon"));
|
|
95
95
|
var logger = __importStar(require("../../utils/logger"));
|
|
96
96
|
var sleep_1 = require("../../utils/sleep");
|
|
97
|
-
var
|
|
97
|
+
var hm_analytics_1 = require("../../utils/hm_analytics");
|
|
98
|
+
var shell = require('shelljs');
|
|
98
99
|
var TEMPLATE_DIR = (0, path_1.resolve)(__dirname, '../../public/template');
|
|
99
100
|
var create = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
100
|
-
var _a, cmd, projectName, cwdPath,
|
|
101
|
+
var _a, cmd, projectName, cwdPath, beforeFiles, workDir, localTemplates, localChoices, watchfaceTemplateChoices, appTemplateChoices, env, generatorMate, generatorMateKeys, answer, choosePkg;
|
|
101
102
|
return __generator(this, function (_b) {
|
|
102
103
|
switch (_b.label) {
|
|
103
104
|
case 0:
|
|
104
105
|
_a = args._ || [], cmd = _a[0], projectName = _a[1];
|
|
105
106
|
cwdPath = (0, path_1.resolve)('./');
|
|
107
|
+
beforeFiles = [];
|
|
106
108
|
workDir = cwdPath;
|
|
107
109
|
if (cmd === 'create') {
|
|
108
110
|
if (projectName) {
|
|
109
111
|
workDir = (0, path_1.resolve)(cwdPath, projectName);
|
|
110
|
-
if (
|
|
112
|
+
if ((0, fs_1.existsSync)(workDir)) {
|
|
111
113
|
logger.error("\"".concat(workDir, "/\" already exists."));
|
|
112
114
|
process.exit(1);
|
|
113
115
|
}
|
|
@@ -116,9 +118,12 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
116
118
|
logger.error('There was a missing parameter: projectName.');
|
|
117
119
|
process.exit(1);
|
|
118
120
|
}
|
|
121
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_CREATE_C');
|
|
119
122
|
}
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
else {
|
|
124
|
+
(0, hm_analytics_1.HM_Analytics)('ZEPP_CLI_INIT_C');
|
|
125
|
+
}
|
|
126
|
+
if ((0, fs_1.existsSync)(workDir)) {
|
|
122
127
|
rd.eachFileSync(workDir, function (file) {
|
|
123
128
|
beforeFiles.push(file);
|
|
124
129
|
});
|
|
@@ -162,14 +167,14 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
162
167
|
}
|
|
163
168
|
env = yeoman_environment_1["default"].createEnv();
|
|
164
169
|
env.lookup();
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (
|
|
170
|
+
generatorMate = env.getGeneratorsMeta();
|
|
171
|
+
generatorMateKeys = Object.keys(generatorMate);
|
|
172
|
+
if (generatorMateKeys.length) {
|
|
168
173
|
if (localChoices.length) {
|
|
169
174
|
// @ts-ignore
|
|
170
175
|
localChoices.push(new inquirer_1["default"].Separator());
|
|
171
176
|
}
|
|
172
|
-
|
|
177
|
+
generatorMateKeys.forEach(function (name) {
|
|
173
178
|
if (/:(app|all)$/.test(name)) {
|
|
174
179
|
localChoices.push({
|
|
175
180
|
name: name,
|
|
@@ -260,7 +265,7 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
260
265
|
_b.sent();
|
|
261
266
|
if (choosePkg.type === project_1.AppSourceType.YEOMAN) {
|
|
262
267
|
logger.info("".concat(lodash_1["default"].upperFirst(cmd), " application using yeoman template \"").concat(choosePkg.name, "\"."));
|
|
263
|
-
(0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo:
|
|
268
|
+
(0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo: generatorMate[choosePkg.name] }));
|
|
264
269
|
}
|
|
265
270
|
else {
|
|
266
271
|
logger.info("".concat(lodash_1["default"].upperFirst(cmd), " application using local template \"").concat(choosePkg.name, "\"."));
|
|
@@ -286,6 +291,8 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
286
291
|
});
|
|
287
292
|
logger.log('\n');
|
|
288
293
|
logger.success("project created successfully by \"".concat(choosePkg.name, "\" template.\n"));
|
|
294
|
+
shell.cd("".concat(projectName));
|
|
295
|
+
shell.exec('npm install');
|
|
289
296
|
return [4 /*yield*/, (0, sleep_1.sleep)(300)];
|
|
290
297
|
case 4:
|
|
291
298
|
_b.sent();
|
|
@@ -55,6 +55,7 @@ var os_1 = __importDefault(require("os"));
|
|
|
55
55
|
var lodash_1 = __importDefault(require("lodash"));
|
|
56
56
|
var path_1 = require("path");
|
|
57
57
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
58
|
+
var fs_1 = __importDefault(require("fs"));
|
|
58
59
|
var project_1 = require("../../config/project");
|
|
59
60
|
var device_1 = require("../../config/device");
|
|
60
61
|
// 生成模板项目
|
|
@@ -63,6 +64,9 @@ var createLocalApp = function (args) { return __awaiter(void 0, void 0, void 0,
|
|
|
63
64
|
return __generator(this, function (_a) {
|
|
64
65
|
workDir = args.workDir, templateInfo = args.templateInfo, withAppSide = args.withAppSide, withSettings = args.withSettings, buildTargets = args.buildTargets, appType = args.appType;
|
|
65
66
|
fs_extra_1["default"].copySync(templateInfo.path, workDir);
|
|
67
|
+
fs_extra_1["default"].copySync((0, path_1.resolve)(__dirname, '../../public/template/jsconfig.json'), "".concat(workDir, "/jsconfig.json"));
|
|
68
|
+
fs_extra_1["default"].copySync((0, path_1.resolve)(__dirname, '../../public/template/package.json'), "".concat(workDir, "/package.json"));
|
|
69
|
+
fs_1["default"].writeFileSync("".concat(workDir, "/global.d.ts"), '/// <reference path="node_modules/@zeppos/device-types/index.d.ts" />');
|
|
66
70
|
appJsonPath = (0, path_1.resolve)(workDir, './app.json');
|
|
67
71
|
appJson = fs_extra_1["default"].readJsonSync(appJsonPath);
|
|
68
72
|
appID = Math.floor(Math.random() * 10001) + 20000;
|
package/modules/help.js
CHANGED
|
@@ -78,6 +78,8 @@ var help = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
|
78
78
|
logger.log("".concat(cmd, " preview preview this project in your device"));
|
|
79
79
|
logger.log("".concat(cmd, " build build this project for production"));
|
|
80
80
|
logger.log("".concat(cmd, " config <term> set or get the config value"));
|
|
81
|
+
logger.log("".concat(cmd, " status view information such as login and emulator connection status"));
|
|
82
|
+
logger.log("".concat(cmd, " bridge connect the online App or Simulator for development and debugging"));
|
|
81
83
|
logger.log('');
|
|
82
84
|
logger.log('');
|
|
83
85
|
logger.log("".concat(cmd, "@").concat(pkg.version, " ").concat(path.resolve(__dirname, '../')));
|