@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 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.LocalServerConfig = exports.TemplateCopyType = exports.AppSourceType = exports.AppType = void 0;
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
- var LocalServerConfig;
24
- (function (LocalServerConfig) {
25
- LocalServerConfig["HOSTNAME"] = "localhost";
26
- LocalServerConfig[LocalServerConfig["PORT"] = 8086] = "PORT";
27
- })(LocalServerConfig = exports.LocalServerConfig || (exports.LocalServerConfig = {}));
28
- var loginURL = 'https://user.huami.com/universalLogin/index.html#/login';
29
- var loginUrl = new URL(loginURL);
30
- var accountPrefix = "____" + lodash_1["default"].replace(loginUrl.host, /\./g, '_') + "__";
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: loginURL,
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 + "token",
39
- account: accountPrefix + "account",
40
- userid: accountPrefix + "userid",
41
- cname: accountPrefix + "cname"
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
@@ -16,3 +16,4 @@ __exportStar(require("./modules/build"), exports);
16
16
  __exportStar(require("./modules/create"), exports);
17
17
  __exportStar(require("./modules/login"), exports);
18
18
  __exportStar(require("./modules/config"), exports);
19
+ __exportStar(require("./modules/status"), exports);
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
- function chooseBuildPackages() {
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
- appJson = fs_extra_1["default"].readJSONSync(path.resolve('./app.json'));
101
- return [4 /*yield*/, inquirer_1["default"].prompt([
102
- {
103
- name: 'target',
104
- type: 'list',
105
- message: 'Which target would you like to build?',
106
- choices: Object.keys(lodash_1["default"].get(appJson, 'targets', {}))
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, choosedPackages, buildOptions, buildInfo_1, DistDir_1, error_1;
122
- return __generator(this, function (_a) {
123
- switch (_a.label) {
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 (!(mode === BuildMode.PROD)) return [3 /*break*/, 1];
127
- packages.length = 0;
128
- return [3 /*break*/, 3];
171
+ if (!!packages.length) return [3 /*break*/, 2];
172
+ return [4 /*yield*/, chooseBuildPackages(mode)];
129
173
  case 1:
130
- if (!!packages.length) return [3 /*break*/, 3];
131
- return [4 /*yield*/, chooseBuildPackages()];
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, choosedPackages);
139
- _a.label = 3;
140
- case 3:
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: '' // 不开启 js => c
186
+ jsc: TransformType.Default // 不开启 js => c
146
187
  };
147
188
  if (mode === BuildMode.PROD || mode === BuildMode.PREVIEW) {
148
- buildOptions.png2vg = true;
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
- _a.label = 4;
151
- case 4:
152
- _a.trys.push([4, 9, , 10]);
153
- if (!(mode === BuildMode.DEV)) return [3 /*break*/, 6];
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 5:
156
- _a.sent();
212
+ case 4:
213
+ _b.sent();
157
214
  return [2 /*return*/, (0, node_js_1.getZpkBuf)(packages[0])];
158
- case 6: return [4 /*yield*/, (0, node_js_1.start)(buildOptions)];
159
- case 7:
160
- buildInfo_1 = _a.sent();
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 8: return [3 /*break*/, 10];
171
- case 9:
172
- error_1 = _a.sent();
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*/, 10];
175
- case 10: return [2 /*return*/];
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 (packages) {
186
- return (0, exports.build)(BuildMode.PROD, packages);
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 storage, isWatchFaceProject, _a, apptoken, userid, cname, form, buildInfo;
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/" + buildInfo));
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://" + host + "/custom/tools/app-dial/upload?userid=" + userid, form, {
225
- headers: __assign(__assign({}, form.getHeaders()), { 'content-length': "" + length, apptoken: apptoken })
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 + "://" + host + "/custom/tools/app-dial/download/" + code, { small: true });
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: " + 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("- " + cmd + " " + space + " set <key>=<value> [<key>=<value> ...]");
76
- logger.log("- " + cmd + " " + space + " get <key> [<key> ...]");
77
- logger.log("- " + cmd + " " + space + " delete <key> [<key> ...]");
78
- logger.log("- " + cmd + " " + space + " list [--json]");
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: " + chalk_1["default"].yellow("zeus config " + method + " <key>"));
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: " + chalk_1["default"].yellow('zeus config set <key>=<value>'));
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: " + key + "=" + value);
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 + "=" + storage.get(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: " + curKey + " deleted");
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 + "=" + config_1[key]);
161
+ logger.log("".concat(key, "=").concat(config_1[key]));
157
162
  });
158
163
  }
159
164
  break;
@@ -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 yeoman_environment_1 = __importDefault(require("yeoman-environment"));
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, workDir, beforeFiles, localTemplates, localChoices, watchfaceTemplateChoices, appTemplateChoices, env, generagtorMate, generagtorMateKeys, answer, choosePkg;
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("\"" + workDir + "/\" already exists.");
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 + "/" + dirName;
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
- generagtorMate = env.getGeneratorsMeta();
166
- generagtorMateKeys = Object.keys(generagtorMate);
167
- if (generagtorMateKeys.length) {
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
- generagtorMateKeys.forEach(function (name) {
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) + " application using yeoman template \"" + choosePkg.name + "\".");
263
- (0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo: generagtorMate[choosePkg.name] }));
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) + " application using local template \"" + choosePkg.name + "\".");
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(" " + chalk_1["default"].bold('replace') + " "), shortFile);
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(" " + chalk_1["default"].bold('create') + " "), shortFile);
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 \"" + choosePkg.name + "\" template.\n");
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 + "x" + screen.height + "-" + lodash_1["default"].kebabCase(lodash_1["default"].toLower(deviceName));
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/" + pkgName));
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: " + cmd + " <command> [args?]");
71
+ logger.log("Usage: ".concat(cmd, " <command> [args?]"));
72
72
  logger.log('');
73
- logger.log(cmd + " init init a new project in current directory");
74
- logger.log(cmd + " create <foo> add the <foo> project to current directory");
75
- logger.log(cmd + " login login to your account");
76
- logger.log(cmd + " logout Sign out of your account");
77
- logger.log(cmd + " dev run this project in development mode");
78
- logger.log(cmd + " preview preview this project in your device");
79
- logger.log(cmd + " build build this project for production");
80
- logger.log(cmd + " config <term> set or get the config value");
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 + "@" + pkg.version + " " + path.resolve(__dirname, '../'));
84
+ logger.log("".concat(cmd, "@").concat(pkg.version, " ").concat(path.resolve(__dirname, '../')));
84
85
  return [2 /*return*/];
85
86
  });
86
87
  }); };