@zeppos/zeus-cli 1.0.18 → 1.0.26
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/bin/cli.js +1 -0
- package/config/project.js +16 -16
- package/index.js +1 -0
- package/modules/build.js +111 -56
- package/modules/config.js +16 -11
- package/modules/create/index.js +18 -15
- package/modules/create/local-app.js +6 -2
- package/modules/help.js +11 -10
- package/modules/login.js +37 -79
- package/modules/run.js +14 -12
- package/modules/simulator.js +4 -0
- package/modules/status.js +98 -0
- package/modules/storage.js +2 -2
- package/package.json +4 -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/login.js +126 -0
package/bin/cli.js
CHANGED
|
@@ -27,5 +27,6 @@ yargs_1["default"].usage('Usage: $0 <command> [args?]')
|
|
|
27
27
|
// @ts-ignore
|
|
28
28
|
.command('build', 'build this project for production', proxy, index_1.buildProd)
|
|
29
29
|
.command('config', 'set or get the config value', proxy, index_1.config)
|
|
30
|
+
.command('status', 'view information such as login and emulator connection status', proxy, index_1.status)
|
|
30
31
|
.fail(index_1.help)
|
|
31
32
|
.argv;
|
package/config/project.js
CHANGED
|
@@ -3,8 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.loginStorageKey = exports.loginConfig = exports.
|
|
6
|
+
exports.loginStorageKey = exports.loginConfig = exports.ACCOUNT_ENV = exports.ACCOUNT_ENV_KEY = exports.TemplateCopyType = exports.AppSourceType = exports.AppType = void 0;
|
|
7
7
|
var lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
var storage_1 = require("../modules/storage");
|
|
8
9
|
var AppType;
|
|
9
10
|
(function (AppType) {
|
|
10
11
|
AppType["APP"] = "app";
|
|
@@ -20,23 +21,22 @@ var TemplateCopyType;
|
|
|
20
21
|
TemplateCopyType["CLONE"] = "clone";
|
|
21
22
|
TemplateCopyType["EDIT"] = "edit";
|
|
22
23
|
})(TemplateCopyType = exports.TemplateCopyType || (exports.TemplateCopyType = {}));
|
|
23
|
-
|
|
24
|
-
(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
var loginUrl = new URL(
|
|
30
|
-
var accountPrefix = "____"
|
|
24
|
+
exports.ACCOUNT_ENV_KEY = 'account_env';
|
|
25
|
+
var storage = new storage_1.Storage({ cmd: '' });
|
|
26
|
+
exports.ACCOUNT_ENV = storage.get(exports.ACCOUNT_ENV_KEY) ? storage.get(exports.ACCOUNT_ENV_KEY) : storage.set(exports.ACCOUNT_ENV_KEY, 'production');
|
|
27
|
+
var loginTestURL = 'https://user-testing.huami.com/universalLogin/index.html#/login';
|
|
28
|
+
var loginProURL = 'https://user.huami.com/universalLogin/index.html#/login';
|
|
29
|
+
var curLoginURL = exports.ACCOUNT_ENV === 'production' ? loginProURL : loginTestURL;
|
|
30
|
+
var loginUrl = new URL(curLoginURL);
|
|
31
|
+
var accountPrefix = "____".concat(lodash_1["default"].replace(loginUrl.host, /\./g, '_'), "__");
|
|
31
32
|
exports.loginConfig = {
|
|
32
|
-
LOGIN_URL:
|
|
33
|
+
LOGIN_URL: curLoginURL,
|
|
33
34
|
PROJECT_NAME: 'zeppos_zeus_cli',
|
|
34
|
-
PLATFORM_APP: 'com.huami.watch.hmwatchmanager'
|
|
35
|
-
PROJECT_REDIRECT_URI: encodeURIComponent("http://" + LocalServerConfig.HOSTNAME + ":" + LocalServerConfig.PORT + "/")
|
|
35
|
+
PLATFORM_APP: 'com.huami.watch.hmwatchmanager'
|
|
36
36
|
};
|
|
37
37
|
exports.loginStorageKey = {
|
|
38
|
-
accountToken: accountPrefix
|
|
39
|
-
account: accountPrefix
|
|
40
|
-
userid: accountPrefix
|
|
41
|
-
cname: accountPrefix
|
|
38
|
+
accountToken: "".concat(accountPrefix, "token"),
|
|
39
|
+
account: "".concat(accountPrefix, "account"),
|
|
40
|
+
userid: "".concat(accountPrefix, "userid"),
|
|
41
|
+
cname: "".concat(accountPrefix, "cname")
|
|
42
42
|
};
|
package/index.js
CHANGED
package/modules/build.js
CHANGED
|
@@ -83,81 +83,138 @@ var qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
|
83
83
|
var inquirer_1 = __importDefault(require("inquirer"));
|
|
84
84
|
var login_1 = require("./login");
|
|
85
85
|
var logger = __importStar(require("../utils/logger"));
|
|
86
|
-
var storage_1 = require("./storage");
|
|
87
86
|
var project_1 = require("../config/project");
|
|
87
|
+
var chalk_1 = __importDefault(require("chalk"));
|
|
88
88
|
var BuildMode;
|
|
89
89
|
(function (BuildMode) {
|
|
90
90
|
BuildMode["DEV"] = "development";
|
|
91
91
|
BuildMode["PREVIEW"] = "preview";
|
|
92
92
|
BuildMode["PROD"] = "production";
|
|
93
93
|
})(BuildMode = exports.BuildMode || (exports.BuildMode = {}));
|
|
94
|
-
|
|
94
|
+
var TransformType;
|
|
95
|
+
(function (TransformType) {
|
|
96
|
+
TransformType["Default"] = "";
|
|
97
|
+
TransformType["Js"] = "js";
|
|
98
|
+
TransformType["C"] = "c";
|
|
99
|
+
TransformType["Bin"] = "bin";
|
|
100
|
+
})(TransformType || (TransformType = {}));
|
|
101
|
+
function handleExecCommandInErrorDir(mode) {
|
|
102
|
+
var curCommand = 'dev';
|
|
103
|
+
if (mode === BuildMode.PROD) {
|
|
104
|
+
curCommand = 'build';
|
|
105
|
+
}
|
|
106
|
+
else if (mode === BuildMode.PREVIEW) {
|
|
107
|
+
curCommand = 'preview';
|
|
108
|
+
}
|
|
109
|
+
logger.warn("The command ".concat(chalk_1["default"].yellow("zeus ".concat(curCommand)), " needs to be executed in the root of the project"));
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
function chooseBuildPackages(mode) {
|
|
95
113
|
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
-
var appJson, answers;
|
|
114
|
+
var appJson, targets, answers;
|
|
97
115
|
return __generator(this, function (_a) {
|
|
98
116
|
switch (_a.label) {
|
|
99
117
|
case 0:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
118
|
+
if (!mode) {
|
|
119
|
+
mode = 'development';
|
|
120
|
+
}
|
|
121
|
+
appJson = fs_extra_1["default"].readJSONSync(path.resolve('./app.json'), { throws: false });
|
|
122
|
+
if (!appJson) {
|
|
123
|
+
handleExecCommandInErrorDir(mode);
|
|
124
|
+
}
|
|
125
|
+
targets = Object.keys(lodash_1["default"].get(appJson, 'targets', {}));
|
|
126
|
+
if (!!targets.length) return [3 /*break*/, 1];
|
|
127
|
+
logger.error('please set at least one package');
|
|
128
|
+
process.exit(1);
|
|
129
|
+
return [3 /*break*/, 4];
|
|
109
130
|
case 1:
|
|
131
|
+
if (!(targets.length === 1)) return [3 /*break*/, 2];
|
|
132
|
+
return [2 /*return*/, [targets[0]]];
|
|
133
|
+
case 2: return [4 /*yield*/, inquirer_1["default"].prompt([
|
|
134
|
+
{
|
|
135
|
+
name: 'target',
|
|
136
|
+
type: 'list',
|
|
137
|
+
when: function () { return mode !== BuildMode.PROD; },
|
|
138
|
+
message: 'Which target would you like to build?',
|
|
139
|
+
choices: targets
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
name: 'buildTargets',
|
|
143
|
+
type: 'checkbox',
|
|
144
|
+
when: function () { return mode === BuildMode.PROD; },
|
|
145
|
+
choices: targets.map(function (item) { return ({
|
|
146
|
+
name: item,
|
|
147
|
+
value: item,
|
|
148
|
+
checked: true
|
|
149
|
+
}); }),
|
|
150
|
+
message: 'Which targets would you like to build?'
|
|
151
|
+
}
|
|
152
|
+
])];
|
|
153
|
+
case 3:
|
|
110
154
|
answers = _a.sent();
|
|
111
|
-
return [2 /*return*/, [answers.target]];
|
|
155
|
+
return [2 /*return*/, mode !== BuildMode.PROD ? [answers.target] : answers.buildTargets];
|
|
156
|
+
case 4: return [2 /*return*/];
|
|
112
157
|
}
|
|
113
158
|
});
|
|
114
159
|
});
|
|
115
160
|
}
|
|
116
161
|
exports.chooseBuildPackages = chooseBuildPackages;
|
|
117
|
-
var build = function (mode, packages) {
|
|
162
|
+
var build = function (mode, packages, buildConfigOption) {
|
|
118
163
|
if (mode === void 0) { mode = BuildMode.PROD; }
|
|
119
164
|
if (packages === void 0) { packages = []; }
|
|
120
165
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
121
|
-
var workspace,
|
|
122
|
-
return __generator(this, function (
|
|
123
|
-
switch (
|
|
166
|
+
var workspace, choosePackages, buildOptions, _a, js2c, js2bin, png2vg, prune, curJscMode, buildInfo_1, DistDir_1, error_1;
|
|
167
|
+
return __generator(this, function (_b) {
|
|
168
|
+
switch (_b.label) {
|
|
124
169
|
case 0:
|
|
125
170
|
workspace = path.resolve('./');
|
|
126
|
-
if (
|
|
127
|
-
|
|
128
|
-
return [3 /*break*/, 3];
|
|
171
|
+
if (!!packages.length) return [3 /*break*/, 2];
|
|
172
|
+
return [4 /*yield*/, chooseBuildPackages(mode)];
|
|
129
173
|
case 1:
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
case 2:
|
|
133
|
-
choosedPackages = _a.sent();
|
|
134
|
-
if (!choosedPackages || !choosedPackages.length) {
|
|
174
|
+
choosePackages = _b.sent();
|
|
175
|
+
if (!choosePackages || !choosePackages.length) {
|
|
135
176
|
logger.error('please choose at least one package');
|
|
136
177
|
return [2 /*return*/];
|
|
137
178
|
}
|
|
138
|
-
packages.push.apply(packages,
|
|
139
|
-
|
|
140
|
-
case
|
|
179
|
+
packages.push.apply(packages, choosePackages);
|
|
180
|
+
_b.label = 2;
|
|
181
|
+
case 2:
|
|
141
182
|
buildOptions = {
|
|
142
183
|
path: workspace,
|
|
143
184
|
targets: packages,
|
|
144
185
|
buildMode: mode,
|
|
145
|
-
jsc:
|
|
186
|
+
jsc: TransformType.Default // 不开启 js => c
|
|
146
187
|
};
|
|
147
188
|
if (mode === BuildMode.PROD || mode === BuildMode.PREVIEW) {
|
|
148
|
-
|
|
189
|
+
_a = buildConfigOption || {}, js2c = _a.js2c, js2bin = _a.js2bin, png2vg = _a.png2vg, prune = _a.prune;
|
|
190
|
+
js2c = js2c === 'false' ? false : true;
|
|
191
|
+
js2bin = ((js2bin === 'true') || (js2bin === true)) ? true : false;
|
|
192
|
+
png2vg = ((png2vg === 'false') && (png2vg !== undefined)) ? false : true;
|
|
193
|
+
prune = ((prune === 'false') && (prune !== undefined)) ? false : true;
|
|
194
|
+
curJscMode = js2c && js2bin ? TransformType.Bin : TransformType.C;
|
|
195
|
+
if (js2bin && !js2c) {
|
|
196
|
+
curJscMode = TransformType.Bin;
|
|
197
|
+
}
|
|
198
|
+
else if ((!js2bin && !js2c) || !js2c) {
|
|
199
|
+
curJscMode = TransformType.Default;
|
|
200
|
+
}
|
|
201
|
+
Object.assign(buildOptions, {
|
|
202
|
+
png2vg: png2vg,
|
|
203
|
+
prune: prune,
|
|
204
|
+
jsc: curJscMode
|
|
205
|
+
});
|
|
149
206
|
}
|
|
150
|
-
|
|
151
|
-
case
|
|
152
|
-
|
|
153
|
-
if (!(mode === BuildMode.DEV)) return [3 /*break*/,
|
|
207
|
+
_b.label = 3;
|
|
208
|
+
case 3:
|
|
209
|
+
_b.trys.push([3, 8, , 9]);
|
|
210
|
+
if (!(mode === BuildMode.DEV)) return [3 /*break*/, 5];
|
|
154
211
|
return [4 /*yield*/, (0, node_js_1.startWithoutDist)(buildOptions)];
|
|
155
|
-
case
|
|
156
|
-
|
|
212
|
+
case 4:
|
|
213
|
+
_b.sent();
|
|
157
214
|
return [2 /*return*/, (0, node_js_1.getZpkBuf)(packages[0])];
|
|
158
|
-
case
|
|
159
|
-
case
|
|
160
|
-
buildInfo_1 =
|
|
215
|
+
case 5: return [4 /*yield*/, (0, node_js_1.start)(buildOptions)];
|
|
216
|
+
case 6:
|
|
217
|
+
buildInfo_1 = _b.sent();
|
|
161
218
|
if (buildInfo_1) {
|
|
162
219
|
DistDir_1 = path.join(workspace, 'dist');
|
|
163
220
|
rd.eachFileSync(DistDir_1, function (file) {
|
|
@@ -167,12 +224,12 @@ var build = function (mode, packages) {
|
|
|
167
224
|
});
|
|
168
225
|
}
|
|
169
226
|
return [2 /*return*/, buildInfo_1];
|
|
170
|
-
case
|
|
171
|
-
case
|
|
172
|
-
error_1 =
|
|
227
|
+
case 7: return [3 /*break*/, 9];
|
|
228
|
+
case 8:
|
|
229
|
+
error_1 = _b.sent();
|
|
173
230
|
logger.error(error_1);
|
|
174
|
-
return [3 /*break*/,
|
|
175
|
-
case
|
|
231
|
+
return [3 /*break*/, 9];
|
|
232
|
+
case 9: return [2 /*return*/];
|
|
176
233
|
}
|
|
177
234
|
});
|
|
178
235
|
});
|
|
@@ -182,8 +239,8 @@ var buildDev = function (packages) {
|
|
|
182
239
|
return (0, exports.build)(BuildMode.DEV, packages);
|
|
183
240
|
};
|
|
184
241
|
exports.buildDev = buildDev;
|
|
185
|
-
var buildProd = function (
|
|
186
|
-
return (0, exports.build)(BuildMode.PROD,
|
|
242
|
+
var buildProd = function (args) {
|
|
243
|
+
return (0, exports.build)(BuildMode.PROD, [], args);
|
|
187
244
|
};
|
|
188
245
|
exports.buildProd = buildProd;
|
|
189
246
|
var checkIsWatchFaceProject = function () {
|
|
@@ -193,22 +250,20 @@ var checkIsWatchFaceProject = function () {
|
|
|
193
250
|
return appType === project_1.AppType.WATCHFACE;
|
|
194
251
|
};
|
|
195
252
|
var buildPreview = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
196
|
-
var
|
|
253
|
+
var _a, apptoken, userid, cname, form, buildInfo, isWatchFaceProject;
|
|
197
254
|
return __generator(this, function (_b) {
|
|
198
255
|
switch (_b.label) {
|
|
199
|
-
case 0:
|
|
200
|
-
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
201
|
-
isWatchFaceProject = checkIsWatchFaceProject();
|
|
202
|
-
return [4 /*yield*/, (0, login_1.login)(args)];
|
|
256
|
+
case 0: return [4 /*yield*/, (0, login_1.login)(args)];
|
|
203
257
|
case 1:
|
|
204
258
|
_a = _b.sent(), apptoken = _a.apptoken, userid = _a.userid, cname = _a.cname;
|
|
205
259
|
form = new form_data_1["default"]();
|
|
206
260
|
logger.info('building preview...');
|
|
207
|
-
return [4 /*yield*/, (0, exports.build)(BuildMode.PREVIEW)];
|
|
261
|
+
return [4 /*yield*/, (0, exports.build)(BuildMode.PREVIEW, [], args)];
|
|
208
262
|
case 2:
|
|
209
263
|
buildInfo = _b.sent();
|
|
264
|
+
isWatchFaceProject = checkIsWatchFaceProject();
|
|
210
265
|
logger.info('getting preview package...');
|
|
211
|
-
form.append('file', fs_1["default"].createReadStream("./dist/"
|
|
266
|
+
form.append('file', fs_1["default"].createReadStream("./dist/".concat(buildInfo)));
|
|
212
267
|
form.append('app_type', isWatchFaceProject ? '1' : '2');
|
|
213
268
|
form.getLength(function (err, length) { return __awaiter(void 0, void 0, void 0, function () {
|
|
214
269
|
var host, previewInfo, _a, protocol, code;
|
|
@@ -221,14 +276,14 @@ var buildPreview = function (args) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
221
276
|
}
|
|
222
277
|
logger.info('generating preview qrcode...');
|
|
223
278
|
host = cname.split(',').filter(function (h) { return h.indexOf('api-mifit') > -1; })[0];
|
|
224
|
-
return [4 /*yield*/, axios_1["default"].post("https://"
|
|
225
|
-
headers: __assign(__assign({}, form.getHeaders()), { 'content-length': ""
|
|
279
|
+
return [4 /*yield*/, axios_1["default"].post("https://".concat(host, "/custom/tools/app-dial/upload?userid=").concat(userid), form, {
|
|
280
|
+
headers: __assign(__assign({}, form.getHeaders()), { 'content-length': "".concat(length), apptoken: apptoken })
|
|
226
281
|
})];
|
|
227
282
|
case 1:
|
|
228
283
|
previewInfo = _b.sent();
|
|
229
284
|
_a = lodash_1["default"].get(previewInfo, 'data', {}), protocol = _a.protocol, code = _a.code;
|
|
230
285
|
if (protocol && code) {
|
|
231
|
-
qrcode_terminal_1["default"].generate(protocol
|
|
286
|
+
qrcode_terminal_1["default"].generate("".concat(protocol, "://").concat(host, "/custom/tools/app-dial/download/").concat(code), { small: true });
|
|
232
287
|
logger.success('please use Zepp APP to scan the qrcode below to preview your app.');
|
|
233
288
|
}
|
|
234
289
|
else {
|
package/modules/config.js
CHANGED
|
@@ -63,6 +63,7 @@ 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 project_1 = require("../config/project");
|
|
66
67
|
var config = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
68
|
var cmd, _a, space, _b, method, values, allowedMethods, storage, commonHandleNotKeyTips, config_1;
|
|
68
69
|
return __generator(this, function (_c) {
|
|
@@ -70,22 +71,22 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
70
71
|
_a = lodash_1["default"].get(args, '_', []), space = _a[0], _b = _a[1], method = _b === void 0 ? '' : _b, values = _a.slice(2);
|
|
71
72
|
allowedMethods = ['get', 'set', 'delete', 'list'];
|
|
72
73
|
if (!lodash_1["default"].includes(allowedMethods, method)) {
|
|
73
|
-
logger.error("invalid method: "
|
|
74
|
+
logger.error("invalid method: ".concat(method));
|
|
74
75
|
logger.log(chalk_1["default"].yellow('try to use one of the following:'));
|
|
75
|
-
logger.log("- "
|
|
76
|
-
logger.log("- "
|
|
77
|
-
logger.log("- "
|
|
78
|
-
logger.log("- "
|
|
76
|
+
logger.log("- ".concat(cmd, " ").concat(space, " set <key>=<value> [<key>=<value> ...]"));
|
|
77
|
+
logger.log("- ".concat(cmd, " ").concat(space, " get <key> [<key> ...]"));
|
|
78
|
+
logger.log("- ".concat(cmd, " ").concat(space, " delete <key> [<key> ...]"));
|
|
79
|
+
logger.log("- ".concat(cmd, " ").concat(space, " list [--json]"));
|
|
79
80
|
process.exit(1);
|
|
80
81
|
}
|
|
81
82
|
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
82
83
|
commonHandleNotKeyTips = function (method) {
|
|
83
|
-
logger.error("Please enter the data in the format: "
|
|
84
|
+
logger.error("Please enter the data in the format: ".concat(chalk_1["default"].yellow("zeus config ".concat(method, " <key>"))));
|
|
84
85
|
};
|
|
85
86
|
switch (method) {
|
|
86
87
|
case 'set': {
|
|
87
88
|
if (!values.length) {
|
|
88
|
-
logger.error("Please enter the data in the format: "
|
|
89
|
+
logger.error("Please enter the data in the format: ".concat(chalk_1["default"].yellow('zeus config set <key>=<value>')));
|
|
89
90
|
break;
|
|
90
91
|
}
|
|
91
92
|
values.forEach(function (info) {
|
|
@@ -102,8 +103,12 @@ 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 {
|
|
106
|
+
// 切换登录环境时清除原有 token
|
|
107
|
+
if (key === project_1.ACCOUNT_ENV_KEY && storage.get(project_1.ACCOUNT_ENV_KEY) !== value) {
|
|
108
|
+
storage["delete"](project_1.loginStorageKey.accountToken);
|
|
109
|
+
}
|
|
105
110
|
storage.set(key, value);
|
|
106
|
-
logger.success("config: "
|
|
111
|
+
logger.success("config: ".concat(key, "=").concat(value));
|
|
107
112
|
}
|
|
108
113
|
});
|
|
109
114
|
break;
|
|
@@ -119,7 +124,7 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
119
124
|
logger.error('The <key> does not exist');
|
|
120
125
|
}
|
|
121
126
|
else {
|
|
122
|
-
logger.log(curKey
|
|
127
|
+
logger.log("".concat(curKey, "=").concat(storage.get(curKey)));
|
|
123
128
|
}
|
|
124
129
|
});
|
|
125
130
|
break;
|
|
@@ -136,7 +141,7 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
136
141
|
}
|
|
137
142
|
else {
|
|
138
143
|
storage["delete"](curKey);
|
|
139
|
-
logger.success("config: "
|
|
144
|
+
logger.success("config: ".concat(curKey, " deleted"));
|
|
140
145
|
}
|
|
141
146
|
});
|
|
142
147
|
break;
|
|
@@ -153,7 +158,7 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
153
158
|
}
|
|
154
159
|
else {
|
|
155
160
|
Object.keys(config_1).forEach(function (key) {
|
|
156
|
-
logger.log(key
|
|
161
|
+
logger.log("".concat(key, "=").concat(config_1[key]));
|
|
157
162
|
});
|
|
158
163
|
}
|
|
159
164
|
break;
|
package/modules/create/index.js
CHANGED
|
@@ -87,6 +87,7 @@ var fs = __importStar(require("fs"));
|
|
|
87
87
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
88
88
|
var path_1 = require("path");
|
|
89
89
|
var fs_1 = require("fs");
|
|
90
|
+
var yeoman_environment_1 = __importDefault(require("yeoman-environment"));
|
|
90
91
|
var local_app_1 = require("./local-app");
|
|
91
92
|
var yeoman_app_1 = require("./yeoman-app");
|
|
92
93
|
var project_1 = require("../../config/project");
|
|
@@ -94,21 +95,22 @@ var device_1 = require("../../config/device");
|
|
|
94
95
|
var font_icon_1 = __importDefault(require("../../font-icon"));
|
|
95
96
|
var logger = __importStar(require("../../utils/logger"));
|
|
96
97
|
var sleep_1 = require("../../utils/sleep");
|
|
97
|
-
var
|
|
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
112
|
if (fs.existsSync(workDir)) {
|
|
111
|
-
logger.error("\""
|
|
113
|
+
logger.error("\"".concat(workDir, "/\" already exists."));
|
|
112
114
|
process.exit(1);
|
|
113
115
|
}
|
|
114
116
|
}
|
|
@@ -117,7 +119,6 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
117
119
|
process.exit(1);
|
|
118
120
|
}
|
|
119
121
|
}
|
|
120
|
-
beforeFiles = [];
|
|
121
122
|
if (fs.existsSync(workDir)) {
|
|
122
123
|
rd.eachFileSync(workDir, function (file) {
|
|
123
124
|
beforeFiles.push(file);
|
|
@@ -129,7 +130,7 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
129
130
|
appTemplateChoices = [];
|
|
130
131
|
if (!lodash_1["default"].isEmpty(localTemplates)) {
|
|
131
132
|
localTemplates.forEach(function (dirName) {
|
|
132
|
-
var dirPath = TEMPLATE_DIR
|
|
133
|
+
var dirPath = "".concat(TEMPLATE_DIR, "/").concat(dirName);
|
|
133
134
|
var dirStat = (0, fs_1.lstatSync)(dirPath);
|
|
134
135
|
if (dirStat.isDirectory()) {
|
|
135
136
|
var chooseItem = {
|
|
@@ -162,14 +163,14 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
162
163
|
}
|
|
163
164
|
env = yeoman_environment_1["default"].createEnv();
|
|
164
165
|
env.lookup();
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
if (
|
|
166
|
+
generatorMate = env.getGeneratorsMeta();
|
|
167
|
+
generatorMateKeys = Object.keys(generatorMate);
|
|
168
|
+
if (generatorMateKeys.length) {
|
|
168
169
|
if (localChoices.length) {
|
|
169
170
|
// @ts-ignore
|
|
170
171
|
localChoices.push(new inquirer_1["default"].Separator());
|
|
171
172
|
}
|
|
172
|
-
|
|
173
|
+
generatorMateKeys.forEach(function (name) {
|
|
173
174
|
if (/:(app|all)$/.test(name)) {
|
|
174
175
|
localChoices.push({
|
|
175
176
|
name: name,
|
|
@@ -259,11 +260,11 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
259
260
|
case 2:
|
|
260
261
|
_b.sent();
|
|
261
262
|
if (choosePkg.type === project_1.AppSourceType.YEOMAN) {
|
|
262
|
-
logger.info(lodash_1["default"].upperFirst(cmd)
|
|
263
|
-
(0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo:
|
|
263
|
+
logger.info("".concat(lodash_1["default"].upperFirst(cmd), " application using yeoman template \"").concat(choosePkg.name, "\"."));
|
|
264
|
+
(0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo: generatorMate[choosePkg.name] }));
|
|
264
265
|
}
|
|
265
266
|
else {
|
|
266
|
-
logger.info(lodash_1["default"].upperFirst(cmd)
|
|
267
|
+
logger.info("".concat(lodash_1["default"].upperFirst(cmd), " application using local template \"").concat(choosePkg.name, "\"."));
|
|
267
268
|
(0, local_app_1.createLocalApp)(__assign(__assign({}, answer), { templateInfo: choosePkg }));
|
|
268
269
|
}
|
|
269
270
|
logger.log('\n');
|
|
@@ -277,15 +278,17 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
277
278
|
else {
|
|
278
279
|
var shortFile = file.replace(cwdPath, '');
|
|
279
280
|
if (beforeFiles.includes(file)) {
|
|
280
|
-
logger.log(chalk_1["default"].yellow(" "
|
|
281
|
+
logger.log(chalk_1["default"].yellow(" ".concat(chalk_1["default"].bold('replace'), " ")), shortFile);
|
|
281
282
|
}
|
|
282
283
|
else {
|
|
283
|
-
logger.log(chalk_1["default"].green(" "
|
|
284
|
+
logger.log(chalk_1["default"].green(" ".concat(chalk_1["default"].bold('create'), " ")), shortFile);
|
|
284
285
|
}
|
|
285
286
|
}
|
|
286
287
|
});
|
|
287
288
|
logger.log('\n');
|
|
288
|
-
logger.success("project created successfully by \""
|
|
289
|
+
logger.success("project created successfully by \"".concat(choosePkg.name, "\" template.\n"));
|
|
290
|
+
shell.cd("".concat(projectName));
|
|
291
|
+
shell.exec('npm install');
|
|
289
292
|
return [4 /*yield*/, (0, sleep_1.sleep)(300)];
|
|
290
293
|
case 4:
|
|
291
294
|
_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;
|
|
@@ -105,9 +109,9 @@ var createLocalApp = function (args) { return __awaiter(void 0, void 0, void 0,
|
|
|
105
109
|
defaultAssetsPath_1 = (0, path_1.resolve)(workDir, './assets/default');
|
|
106
110
|
buildTargets.forEach(function (type) {
|
|
107
111
|
var _a = device_1.deviceTargets[type], deviceName = _a.deviceName, platforms = _a.platforms, screen = _a.screen;
|
|
108
|
-
var pkgName = screen.width
|
|
112
|
+
var pkgName = "".concat(screen.width, "x").concat(screen.height, "-").concat(lodash_1["default"].kebabCase(lodash_1["default"].toLower(deviceName)));
|
|
109
113
|
lodash_1["default"].set(targets, pkgName, __assign(__assign({}, defaultTarget), { platforms: platforms, designWidth: screen.width }));
|
|
110
|
-
fs_extra_1["default"].copySync(defaultAssetsPath_1, (0, path_1.resolve)(workDir, "./assets/"
|
|
114
|
+
fs_extra_1["default"].copySync(defaultAssetsPath_1, (0, path_1.resolve)(workDir, "./assets/".concat(pkgName)));
|
|
111
115
|
});
|
|
112
116
|
fs_extra_1["default"].removeSync(defaultAssetsPath_1);
|
|
113
117
|
lodash_1["default"].set(appJson, 'targets', targets);
|
package/modules/help.js
CHANGED
|
@@ -68,19 +68,20 @@ var help = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
|
68
68
|
return __generator(this, function (_a) {
|
|
69
69
|
pkg = fs_extra_1["default"].readJSONSync(path.resolve(__dirname, '../package.json'));
|
|
70
70
|
cmd = lodash_1["default"].get(Object.keys(pkg.bin || {}), '[0]', 'zeus');
|
|
71
|
-
logger.log("Usage: "
|
|
71
|
+
logger.log("Usage: ".concat(cmd, " <command> [args?]"));
|
|
72
72
|
logger.log('');
|
|
73
|
-
logger.log(cmd
|
|
74
|
-
logger.log(cmd
|
|
75
|
-
logger.log(cmd
|
|
76
|
-
logger.log(cmd
|
|
77
|
-
logger.log(cmd
|
|
78
|
-
logger.log(cmd
|
|
79
|
-
logger.log(cmd
|
|
80
|
-
logger.log(cmd
|
|
73
|
+
logger.log("".concat(cmd, " init init a new project in current directory"));
|
|
74
|
+
logger.log("".concat(cmd, " create <foo> add the <foo> project to current directory"));
|
|
75
|
+
logger.log("".concat(cmd, " login login to your account"));
|
|
76
|
+
logger.log("".concat(cmd, " logout Sign out of your account"));
|
|
77
|
+
logger.log("".concat(cmd, " dev run this project in development mode"));
|
|
78
|
+
logger.log("".concat(cmd, " preview preview this project in your device"));
|
|
79
|
+
logger.log("".concat(cmd, " build build this project for production"));
|
|
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"));
|
|
81
82
|
logger.log('');
|
|
82
83
|
logger.log('');
|
|
83
|
-
logger.log(cmd
|
|
84
|
+
logger.log("".concat(cmd, "@").concat(pkg.version, " ").concat(path.resolve(__dirname, '../')));
|
|
84
85
|
return [2 /*return*/];
|
|
85
86
|
});
|
|
86
87
|
}); };
|