@zeppos/zeus-cli 1.0.10 → 1.0.16
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 +2 -0
- package/modules/build.js +34 -7
- package/modules/config.js +55 -11
- package/modules/create/index.js +57 -18
- package/modules/create/local-app.js +28 -4
- package/modules/help.js +1 -0
- package/modules/login.js +17 -9
- package/modules/run.js +34 -30
- package/package.json +2 -2
- package/public/template/empty/app.js +1 -1
- package/public/template/empty/app.json +1 -8
- package/public/template/empty/watchface/index.js +13 -0
- package/public/template/hello-world/app.js +1 -1
- package/public/template/timer/app.js +10 -0
- package/public/template/timer/app.json +50 -0
- package/public/template/timer/assets/gtr-3-pro/images/bg/bg.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/0.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/1.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/2.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/3.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/4.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/5.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/6.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/7.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/8.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/9.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/bigNum/sp.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/btn/back.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/btn/lv.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/btn/red.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/bg.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/bottom.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/center.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/h.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/left.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/m.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/right.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/point/s.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/preview.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/second/second.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/0.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/1.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/2.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/3.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/4.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/5.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/6.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/7.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/8.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/9.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/d.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/smallNum/n.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/1.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/2.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/3.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/4.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/5.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/6.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_ch/7.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/1.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/2.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/3.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/4.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/5.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/6.png +0 -0
- package/public/template/timer/assets/gtr-3-pro/images/week_en/7.png +0 -0
- package/public/template/timer/shared/buffer.js +11 -0
- package/public/template/timer/shared/device-polyfill.js +3 -0
- package/public/template/timer/shared/global.js +17 -0
- package/public/template/timer/shared/js-module.js +27 -0
- package/public/template/timer/shared/logger.js +21 -0
- package/public/template/timer/shared/setTimeout.js +59 -0
- package/public/template/timer/watchface/gtr-3-pro/index.js +1 -0
- package/public/template/timer/watchface/round/index.js +438 -0
package/bin/cli.js
CHANGED
|
@@ -21,8 +21,10 @@ yargs_1["default"].usage('Usage: $0 <command> [args?]')
|
|
|
21
21
|
.command('create', 'add a new project to current directory', proxy, index_1.create)
|
|
22
22
|
// @ts-ignore
|
|
23
23
|
.command('login', 'login to your account', proxy, index_1.login)
|
|
24
|
+
.command('logout', 'Sign out of your account', proxy, index_1.logout)
|
|
24
25
|
.command('dev', 'run this project in development mode', proxy, index_1.run)
|
|
25
26
|
.command('preview', 'preview this project in your device', proxy, index_1.buildPreview)
|
|
27
|
+
// @ts-ignore
|
|
26
28
|
.command('build', 'build this project for production', proxy, index_1.buildProd)
|
|
27
29
|
.command('config', 'set or get the config value', proxy, index_1.config)
|
|
28
30
|
.fail(index_1.help)
|
package/modules/build.js
CHANGED
|
@@ -85,6 +85,7 @@ var inquirer_1 = __importDefault(require("inquirer"));
|
|
|
85
85
|
var login_1 = require("./login");
|
|
86
86
|
var logger = __importStar(require("../utils/logger"));
|
|
87
87
|
var storage_1 = require("./storage");
|
|
88
|
+
var project_1 = require("../config/project");
|
|
88
89
|
var STUDIO_URL = 'https://studio.huami.com';
|
|
89
90
|
var BuildMode;
|
|
90
91
|
(function (BuildMode) {
|
|
@@ -119,7 +120,7 @@ var build = function (mode, packages) {
|
|
|
119
120
|
if (mode === void 0) { mode = BuildMode.PROD; }
|
|
120
121
|
if (packages === void 0) { packages = []; }
|
|
121
122
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
122
|
-
var workspace, choosedPackages, buildOptions,
|
|
123
|
+
var workspace, choosedPackages, buildOptions, buildInfo_1, DistDir_1, error_1;
|
|
123
124
|
return __generator(this, function (_a) {
|
|
124
125
|
switch (_a.label) {
|
|
125
126
|
case 0:
|
|
@@ -148,18 +149,32 @@ var build = function (mode, packages) {
|
|
|
148
149
|
if (mode === BuildMode.PROD || mode === BuildMode.PREVIEW) {
|
|
149
150
|
buildOptions.png2vg = true;
|
|
150
151
|
}
|
|
151
|
-
|
|
152
|
+
_a.label = 4;
|
|
152
153
|
case 4:
|
|
153
|
-
|
|
154
|
-
if (
|
|
154
|
+
_a.trys.push([4, 9, , 10]);
|
|
155
|
+
if (!(mode === BuildMode.DEV)) return [3 /*break*/, 6];
|
|
156
|
+
return [4 /*yield*/, (0, node_js_1.startWithoutDist)(buildOptions)];
|
|
157
|
+
case 5:
|
|
158
|
+
_a.sent();
|
|
159
|
+
return [2 /*return*/, (0, node_js_1.getZpkBuf)(packages[0])];
|
|
160
|
+
case 6: return [4 /*yield*/, (0, node_js_1.start)(buildOptions)];
|
|
161
|
+
case 7:
|
|
162
|
+
buildInfo_1 = _a.sent();
|
|
163
|
+
if (buildInfo_1) {
|
|
155
164
|
DistDir_1 = path.join(workspace, 'dist');
|
|
156
165
|
rd.eachFileSync(DistDir_1, function (file) {
|
|
157
|
-
if (file !== path.join(DistDir_1,
|
|
166
|
+
if (file !== path.join(DistDir_1, buildInfo_1)) {
|
|
158
167
|
fs_extra_1["default"].removeSync(file);
|
|
159
168
|
}
|
|
160
169
|
});
|
|
161
170
|
}
|
|
162
|
-
return [2 /*return*/,
|
|
171
|
+
return [2 /*return*/, buildInfo_1];
|
|
172
|
+
case 8: return [3 /*break*/, 10];
|
|
173
|
+
case 9:
|
|
174
|
+
error_1 = _a.sent();
|
|
175
|
+
logger.error(error_1);
|
|
176
|
+
return [3 /*break*/, 10];
|
|
177
|
+
case 10: return [2 /*return*/];
|
|
163
178
|
}
|
|
164
179
|
});
|
|
165
180
|
});
|
|
@@ -173,12 +188,24 @@ var buildProd = function (packages) {
|
|
|
173
188
|
return (0, exports.build)(BuildMode.PROD, packages);
|
|
174
189
|
};
|
|
175
190
|
exports.buildProd = buildProd;
|
|
191
|
+
var checkIsWatchFaceProject = function () {
|
|
192
|
+
var appJsonPath = path.resolve('./app.json');
|
|
193
|
+
var appJsonContent = fs_extra_1["default"].readJsonSync(appJsonPath);
|
|
194
|
+
var appType = lodash_1["default"].get(appJsonContent, 'app.appType');
|
|
195
|
+
return appType === project_1.AppType.WATCHFACE;
|
|
196
|
+
};
|
|
176
197
|
var buildPreview = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
177
|
-
var storage, userToken, form, buildInfo;
|
|
198
|
+
var storage, isWatchFaceProject, userToken, form, buildInfo;
|
|
178
199
|
return __generator(this, function (_a) {
|
|
179
200
|
switch (_a.label) {
|
|
180
201
|
case 0:
|
|
181
202
|
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
203
|
+
isWatchFaceProject = checkIsWatchFaceProject();
|
|
204
|
+
// TODO: preview 支持打包表盘
|
|
205
|
+
if (isWatchFaceProject) {
|
|
206
|
+
logger.info('coming soon');
|
|
207
|
+
return [2 /*return*/];
|
|
208
|
+
}
|
|
182
209
|
return [4 /*yield*/, (0, login_1.login)(args)];
|
|
183
210
|
case 1:
|
|
184
211
|
userToken = _a.sent();
|
package/modules/config.js
CHANGED
|
@@ -64,7 +64,7 @@ var chalk_1 = __importDefault(require("chalk"));
|
|
|
64
64
|
var storage_1 = require("./storage");
|
|
65
65
|
var logger = __importStar(require("../utils/logger"));
|
|
66
66
|
var config = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
-
var cmd, _a, space, _b, method, values, allowedMethods, storage, config_1;
|
|
67
|
+
var cmd, _a, space, _b, method, values, allowedMethods, storage, commonHandleNotKeyTips, config_1;
|
|
68
68
|
return __generator(this, function (_c) {
|
|
69
69
|
cmd = lodash_1["default"].get(args, '$0');
|
|
70
70
|
_a = lodash_1["default"].get(args, '_', []), space = _a[0], _b = _a[1], method = _b === void 0 ? '' : _b, values = _a.slice(2);
|
|
@@ -79,26 +79,69 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
79
79
|
process.exit(1);
|
|
80
80
|
}
|
|
81
81
|
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
82
|
+
commonHandleNotKeyTips = function (method) {
|
|
83
|
+
logger.error("Please enter the data in the format: " + chalk_1["default"].yellow("zeus config " + method + " <key>"));
|
|
84
|
+
};
|
|
82
85
|
switch (method) {
|
|
83
|
-
case 'set':
|
|
86
|
+
case 'set': {
|
|
87
|
+
if (!values.length) {
|
|
88
|
+
logger.error("Please enter the data in the format: " + chalk_1["default"].yellow('zeus config set <key>=<value>'));
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
84
91
|
values.forEach(function (info) {
|
|
85
|
-
var _a = info.split('='),
|
|
86
|
-
|
|
87
|
-
|
|
92
|
+
var _a = info.split('='), _b = _a[0], key = _b === void 0 ? '' : _b, _c = _a[1], value = _c === void 0 ? '' : _c;
|
|
93
|
+
key = key.trim();
|
|
94
|
+
value = value.trim();
|
|
95
|
+
if (!info.includes('=')) {
|
|
96
|
+
logger.error('Please enter the data in the format <key>=<value>');
|
|
97
|
+
}
|
|
98
|
+
else if (value === '') {
|
|
99
|
+
logger.error('please input <value>');
|
|
100
|
+
}
|
|
101
|
+
else if (key === '') {
|
|
102
|
+
logger.error('please input <key>');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
storage.set(key, value);
|
|
106
|
+
logger.success("config: " + key + "=" + value);
|
|
107
|
+
}
|
|
88
108
|
});
|
|
89
109
|
break;
|
|
90
|
-
|
|
110
|
+
}
|
|
111
|
+
case 'get': {
|
|
112
|
+
if (!values.length) {
|
|
113
|
+
commonHandleNotKeyTips('get');
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
91
116
|
values.forEach(function (key) {
|
|
92
|
-
|
|
117
|
+
var curKey = key.trim();
|
|
118
|
+
if (!storage.has(key) || !key) {
|
|
119
|
+
logger.error('The <key> does not exist');
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
logger.log(curKey + "=" + storage.get(curKey));
|
|
123
|
+
}
|
|
93
124
|
});
|
|
94
125
|
break;
|
|
95
|
-
|
|
126
|
+
}
|
|
127
|
+
case 'delete': {
|
|
128
|
+
if (!values.length) {
|
|
129
|
+
commonHandleNotKeyTips('delete');
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
96
132
|
values.forEach(function (key) {
|
|
97
|
-
|
|
98
|
-
|
|
133
|
+
var curKey = key.trim();
|
|
134
|
+
if (!storage.has(key) || !key) {
|
|
135
|
+
logger.error('The <key> does not exist');
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
storage["delete"](curKey);
|
|
139
|
+
logger.success("config: " + curKey + " deleted");
|
|
140
|
+
}
|
|
99
141
|
});
|
|
100
142
|
break;
|
|
101
|
-
|
|
143
|
+
}
|
|
144
|
+
case 'list': {
|
|
102
145
|
config_1 = storage.getAll();
|
|
103
146
|
Object.keys(config_1).forEach(function (key) {
|
|
104
147
|
if (lodash_1["default"].startsWith(key, '____')) {
|
|
@@ -114,6 +157,7 @@ var config = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
114
157
|
});
|
|
115
158
|
}
|
|
116
159
|
break;
|
|
160
|
+
}
|
|
117
161
|
default:
|
|
118
162
|
break;
|
|
119
163
|
}
|
package/modules/create/index.js
CHANGED
|
@@ -97,7 +97,7 @@ var sleep_1 = require("../../utils/sleep");
|
|
|
97
97
|
var yeoman_environment_1 = __importDefault(require("yeoman-environment"));
|
|
98
98
|
var TEMPLATE_DIR = (0, path_1.resolve)(__dirname, '../../public/template');
|
|
99
99
|
var create = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
100
|
-
var _a, cmd, projectName, cwdPath, workDir, beforeFiles, localTemplates, localChoices, env, generagtorMate, generagtorMateKeys, answer,
|
|
100
|
+
var _a, cmd, projectName, cwdPath, workDir, beforeFiles, localTemplates, localChoices, watchfaceTemplateChoices, appTemplateChoices, env, generagtorMate, generagtorMateKeys, answer, choosePkg;
|
|
101
101
|
return __generator(this, function (_b) {
|
|
102
102
|
switch (_b.label) {
|
|
103
103
|
case 0:
|
|
@@ -125,6 +125,8 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
125
125
|
}
|
|
126
126
|
localTemplates = (0, fs_1.readdirSync)(TEMPLATE_DIR);
|
|
127
127
|
localChoices = [];
|
|
128
|
+
watchfaceTemplateChoices = [];
|
|
129
|
+
appTemplateChoices = [];
|
|
128
130
|
if (!lodash_1["default"].isEmpty(localTemplates)) {
|
|
129
131
|
localTemplates.forEach(function (dirName) {
|
|
130
132
|
var dirPath = TEMPLATE_DIR + "/" + dirName;
|
|
@@ -139,8 +141,20 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
139
141
|
localChoices.unshift(Object.assign(chooseItem, {
|
|
140
142
|
copyType: project_1.TemplateCopyType.EDIT
|
|
141
143
|
}));
|
|
144
|
+
watchfaceTemplateChoices.unshift(Object.assign(chooseItem, {
|
|
145
|
+
copyType: project_1.TemplateCopyType.EDIT
|
|
146
|
+
}));
|
|
147
|
+
appTemplateChoices.unshift(Object.assign(chooseItem, {
|
|
148
|
+
copyType: project_1.TemplateCopyType.EDIT
|
|
149
|
+
}));
|
|
142
150
|
}
|
|
143
151
|
else {
|
|
152
|
+
if (dirName === 'hello-world') {
|
|
153
|
+
appTemplateChoices.push(chooseItem);
|
|
154
|
+
}
|
|
155
|
+
if (dirName === 'timer') {
|
|
156
|
+
watchfaceTemplateChoices.push(chooseItem);
|
|
157
|
+
}
|
|
144
158
|
localChoices.push(chooseItem);
|
|
145
159
|
}
|
|
146
160
|
}
|
|
@@ -161,34 +175,58 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
161
175
|
name: name,
|
|
162
176
|
type: project_1.AppSourceType.YEOMAN
|
|
163
177
|
});
|
|
178
|
+
appTemplateChoices.push({
|
|
179
|
+
name: name,
|
|
180
|
+
type: project_1.AppSourceType.YEOMAN
|
|
181
|
+
});
|
|
182
|
+
watchfaceTemplateChoices.push({
|
|
183
|
+
name: name,
|
|
184
|
+
type: project_1.AppSourceType.YEOMAN
|
|
185
|
+
});
|
|
164
186
|
}
|
|
165
187
|
});
|
|
166
188
|
}
|
|
167
189
|
localChoices.map(function (val, index) {
|
|
168
190
|
val.value = index;
|
|
169
191
|
});
|
|
192
|
+
appTemplateChoices.map(function (val, index) {
|
|
193
|
+
val.value = index;
|
|
194
|
+
});
|
|
195
|
+
watchfaceTemplateChoices.map(function (val, index) {
|
|
196
|
+
val.value = index;
|
|
197
|
+
});
|
|
170
198
|
return [4 /*yield*/, inquirer_1["default"].prompt([
|
|
199
|
+
{
|
|
200
|
+
name: 'appType',
|
|
201
|
+
type: 'list',
|
|
202
|
+
message: 'What type of application do you want to create?',
|
|
203
|
+
choices: Object.keys(project_1.AppType)
|
|
204
|
+
},
|
|
171
205
|
{
|
|
172
206
|
name: 'template',
|
|
173
207
|
type: 'list',
|
|
208
|
+
when: function (args) { return args.appType.toLowerCase() === project_1.AppType.APP; },
|
|
174
209
|
message: 'Which template do you want to use?',
|
|
175
210
|
choices: __spreadArray([
|
|
176
211
|
new inquirer_1["default"].Separator(),
|
|
177
212
|
new inquirer_1["default"].Separator('Choose a template')
|
|
178
|
-
],
|
|
213
|
+
], appTemplateChoices, true)
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'template',
|
|
217
|
+
type: 'list',
|
|
218
|
+
when: function (args) { return args.appType.toLowerCase() === project_1.AppType.WATCHFACE; },
|
|
219
|
+
message: 'Which template do you want to use?',
|
|
220
|
+
choices: __spreadArray([
|
|
221
|
+
new inquirer_1["default"].Separator(),
|
|
222
|
+
new inquirer_1["default"].Separator('Choose a template')
|
|
223
|
+
], watchfaceTemplateChoices, true)
|
|
179
224
|
},
|
|
180
|
-
// {
|
|
181
|
-
// name: 'appType',
|
|
182
|
-
// type: 'list',
|
|
183
|
-
// when: (args) => args.template === 0,
|
|
184
|
-
// message: 'What type of application should be created?',
|
|
185
|
-
// choices: Object.keys(AppType)
|
|
186
|
-
// },
|
|
187
225
|
{
|
|
188
226
|
name: 'withAppSide',
|
|
189
227
|
type: 'confirm',
|
|
190
228
|
// when: (args) => !!args.appType,
|
|
191
|
-
when: function (args) { return args.template === 0; },
|
|
229
|
+
when: function (args) { return args.template === 0 && args.appType.toLowerCase() === project_1.AppType.APP; },
|
|
192
230
|
message: 'Should this application contain a app-side component?'
|
|
193
231
|
},
|
|
194
232
|
{
|
|
@@ -204,7 +242,8 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
204
242
|
when: function (args) { return args.template === 0; },
|
|
205
243
|
choices: Object.keys(device_1.deviceTargets).map(function (platform) { return ({
|
|
206
244
|
name: device_1.deviceTargets[platform].deviceName,
|
|
207
|
-
value: platform
|
|
245
|
+
value: platform,
|
|
246
|
+
checked: platform === Object.keys(device_1.deviceTargets)[0]
|
|
208
247
|
}); }),
|
|
209
248
|
"default": Object.keys(device_1.deviceTargets)[0],
|
|
210
249
|
message: 'Which platforms of this application should be built?'
|
|
@@ -214,18 +253,18 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
214
253
|
answer = _b.sent();
|
|
215
254
|
answer.appType = answer.appType || project_1.AppType.APP;
|
|
216
255
|
answer.workDir = workDir;
|
|
217
|
-
|
|
256
|
+
choosePkg = answer.appType.toLowerCase() === project_1.AppType.APP ? appTemplateChoices[answer.template] : watchfaceTemplateChoices[answer.template];
|
|
218
257
|
logger.info('fetching template...');
|
|
219
258
|
return [4 /*yield*/, (0, sleep_1.sleep)(100)];
|
|
220
259
|
case 2:
|
|
221
260
|
_b.sent();
|
|
222
|
-
if (
|
|
223
|
-
logger.info(lodash_1["default"].upperFirst(cmd) + " application using yeoman template \"" +
|
|
224
|
-
(0, yeoman_app_1.createYeomanApp)(__assign(__assign({}, answer), { env: env, templateInfo: generagtorMate[
|
|
261
|
+
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] }));
|
|
225
264
|
}
|
|
226
265
|
else {
|
|
227
|
-
logger.info(lodash_1["default"].upperFirst(cmd) + " application using local template \"" +
|
|
228
|
-
(0, local_app_1.createLocalApp)(__assign(__assign({}, answer), { templateInfo:
|
|
266
|
+
logger.info(lodash_1["default"].upperFirst(cmd) + " application using local template \"" + choosePkg.name + "\".");
|
|
267
|
+
(0, local_app_1.createLocalApp)(__assign(__assign({}, answer), { templateInfo: choosePkg }));
|
|
229
268
|
}
|
|
230
269
|
logger.log('\n');
|
|
231
270
|
return [4 /*yield*/, (0, sleep_1.sleep)(50)];
|
|
@@ -246,7 +285,7 @@ var create = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
246
285
|
}
|
|
247
286
|
});
|
|
248
287
|
logger.log('\n');
|
|
249
|
-
logger.success("project created successfully by \"" +
|
|
288
|
+
logger.success("project created successfully by \"" + choosePkg.name + "\" template.\n");
|
|
250
289
|
return [4 /*yield*/, (0, sleep_1.sleep)(300)];
|
|
251
290
|
case 4:
|
|
252
291
|
_b.sent();
|
|
@@ -57,18 +57,42 @@ var path_1 = require("path");
|
|
|
57
57
|
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
58
58
|
var project_1 = require("../../config/project");
|
|
59
59
|
var device_1 = require("../../config/device");
|
|
60
|
+
// 生成模板项目
|
|
60
61
|
var createLocalApp = function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
61
|
-
var workDir, templateInfo, withAppSide, withSettings, buildTargets, appJsonPath, appJson, defaultTarget, targets, defaultAssetsPath_1;
|
|
62
|
+
var workDir, templateInfo, withAppSide, withSettings, buildTargets, appType, appJsonPath, appJson, appID, defaultTarget, targets, defaultWatchFaceConfig, defaultAssetsPath_1;
|
|
62
63
|
return __generator(this, function (_a) {
|
|
63
|
-
workDir = args.workDir, templateInfo = args.templateInfo, withAppSide = args.withAppSide, withSettings = args.withSettings, buildTargets = args.buildTargets;
|
|
64
|
+
workDir = args.workDir, templateInfo = args.templateInfo, withAppSide = args.withAppSide, withSettings = args.withSettings, buildTargets = args.buildTargets, appType = args.appType;
|
|
64
65
|
fs_extra_1["default"].copySync(templateInfo.path, workDir);
|
|
66
|
+
appJsonPath = (0, path_1.resolve)(workDir, './app.json');
|
|
67
|
+
appJson = fs_extra_1["default"].readJsonSync(appJsonPath);
|
|
68
|
+
appID = Math.floor(Math.random() * 10001) + 20000;
|
|
69
|
+
lodash_1["default"].set(appJson, 'app.appId', appID);
|
|
65
70
|
if (templateInfo.copyType !== project_1.TemplateCopyType.EDIT) {
|
|
71
|
+
fs_extra_1["default"].writeJson(appJsonPath, appJson, {
|
|
72
|
+
spaces: 2,
|
|
73
|
+
EOL: os_1["default"].EOL
|
|
74
|
+
});
|
|
66
75
|
return [2 /*return*/];
|
|
67
76
|
}
|
|
68
|
-
appJsonPath = (0, path_1.resolve)(workDir, './app.json');
|
|
69
|
-
appJson = fs_extra_1["default"].readJsonSync(appJsonPath);
|
|
70
77
|
defaultTarget = lodash_1["default"].get(appJson, 'targets.default');
|
|
71
78
|
targets = {};
|
|
79
|
+
if (appType.toLowerCase() === project_1.AppType.WATCHFACE) {
|
|
80
|
+
defaultWatchFaceConfig = {
|
|
81
|
+
"path": "watchface/index",
|
|
82
|
+
"main": 1,
|
|
83
|
+
"editable": 0,
|
|
84
|
+
"lockscreen": 0,
|
|
85
|
+
"photoscreen": 0
|
|
86
|
+
};
|
|
87
|
+
lodash_1["default"].set(appJson, 'app.appType', project_1.AppType.WATCHFACE);
|
|
88
|
+
lodash_1["default"].set(appJson, 'app.description', 'empty watchface');
|
|
89
|
+
lodash_1["default"].unset(defaultTarget, 'module.page');
|
|
90
|
+
lodash_1["default"].set(defaultTarget, 'module.watchface', defaultWatchFaceConfig);
|
|
91
|
+
fs_extra_1["default"].remove((0, path_1.resolve)(workDir, './pages'));
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
fs_extra_1["default"].remove((0, path_1.resolve)(workDir, './watchface'));
|
|
95
|
+
}
|
|
72
96
|
if (!withAppSide) {
|
|
73
97
|
lodash_1["default"].unset(defaultTarget, 'module.app-side');
|
|
74
98
|
fs_extra_1["default"].remove((0, path_1.resolve)(workDir, './app-side'));
|
package/modules/help.js
CHANGED
|
@@ -73,6 +73,7 @@ var help = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
|
73
73
|
logger.log(cmd + " init init a new project in current directory");
|
|
74
74
|
logger.log(cmd + " create <foo> add the <foo> project to current directory");
|
|
75
75
|
logger.log(cmd + " login login to your account");
|
|
76
|
+
logger.log(cmd + " logout Sign out of your account");
|
|
76
77
|
logger.log(cmd + " dev run this project in development mode");
|
|
77
78
|
logger.log(cmd + " preview preview this project in your device");
|
|
78
79
|
logger.log(cmd + " build build this project for production");
|
package/modules/login.js
CHANGED
|
@@ -58,7 +58,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
58
58
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
59
|
};
|
|
60
60
|
exports.__esModule = true;
|
|
61
|
-
exports.login = void 0;
|
|
61
|
+
exports.logout = exports.login = void 0;
|
|
62
62
|
var qs_1 = __importDefault(require("qs"));
|
|
63
63
|
var lodash_1 = __importDefault(require("lodash"));
|
|
64
64
|
var axios_1 = __importDefault(require("axios"));
|
|
@@ -128,13 +128,11 @@ var login = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
128
128
|
case 0:
|
|
129
129
|
storage = new storage_1.Storage({ cmd: lodash_1["default"].get(args, '$0') });
|
|
130
130
|
accountInfo = storage.get(project_1.loginStorageKey.account);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return [2 /*return*/, historyToken];
|
|
137
|
-
}
|
|
131
|
+
historyToken = storage.get(project_1.loginStorageKey.accountToken);
|
|
132
|
+
if (!lodash_1["default"].get(args, 'relogin') && historyToken) {
|
|
133
|
+
// logger.success(`have logged in with account: ${accountInfo}`)
|
|
134
|
+
logger.success("Has logged");
|
|
135
|
+
return [2 /*return*/, historyToken];
|
|
138
136
|
}
|
|
139
137
|
isLocal = false;
|
|
140
138
|
if (!isLocal) return [3 /*break*/, 3];
|
|
@@ -184,7 +182,10 @@ var login = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
184
182
|
storage.set(project_1.loginStorageKey.accountToken, appToken);
|
|
185
183
|
logger.success('logger success');
|
|
186
184
|
server.close();
|
|
187
|
-
|
|
185
|
+
// 在执行 preview 命令需要登录时不退出程序
|
|
186
|
+
if (!args) {
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
188
189
|
}
|
|
189
190
|
});
|
|
190
191
|
server.listen(project_1.LocalServerConfig.PORT, project_1.LocalServerConfig.HOSTNAME);
|
|
@@ -204,3 +205,10 @@ var login = function (args) { return __awaiter(void 0, void 0, void 0, function
|
|
|
204
205
|
});
|
|
205
206
|
}); };
|
|
206
207
|
exports.login = login;
|
|
208
|
+
var logout = function () {
|
|
209
|
+
var storage = new storage_1.Storage({ cmd: '' });
|
|
210
|
+
storage["delete"](project_1.loginStorageKey.accountToken);
|
|
211
|
+
storage["delete"](project_1.loginStorageKey.account);
|
|
212
|
+
logger.success('Logged out');
|
|
213
|
+
};
|
|
214
|
+
exports.logout = logout;
|
package/modules/run.js
CHANGED
|
@@ -63,10 +63,8 @@ var fs_1 = __importDefault(require("fs"));
|
|
|
63
63
|
var lodash_1 = __importDefault(require("lodash"));
|
|
64
64
|
var chalk_1 = __importDefault(require("chalk"));
|
|
65
65
|
var path = __importStar(require("path"));
|
|
66
|
-
var fs_extra_1 = __importDefault(require("fs-extra"));
|
|
67
66
|
var inquirer_1 = __importDefault(require("inquirer"));
|
|
68
67
|
var chokidar_1 = __importDefault(require("chokidar"));
|
|
69
|
-
var compressing = __importStar(require("compressing"));
|
|
70
68
|
var logger = __importStar(require("../utils/logger"));
|
|
71
69
|
var build_1 = require("./build");
|
|
72
70
|
var storage_1 = require("./storage");
|
|
@@ -116,45 +114,51 @@ var run = function (args) { return __awaiter(void 0, void 0, void 0, function ()
|
|
|
116
114
|
packages = _a.sent();
|
|
117
115
|
simulator = new simulator_1.Simulator("http://" + simulatorHost + ":" + simulatorPort);
|
|
118
116
|
refreshSimulator = lodash_1["default"].debounce(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
-
var
|
|
117
|
+
var zpkBuffer, targetDeviceInternalName, projectName;
|
|
120
118
|
return __generator(this, function (_a) {
|
|
121
119
|
switch (_a.label) {
|
|
122
120
|
case 0:
|
|
123
121
|
logger.info('rebuilding...');
|
|
124
122
|
return [4 /*yield*/, (0, build_1.buildDev)(packages)];
|
|
125
123
|
case 1:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
logger.info('rebuild done');
|
|
130
|
-
uzipZabPath = path.resolve(zabPath, '../zab');
|
|
131
|
-
logger.info('getting device package...');
|
|
132
|
-
return [4 /*yield*/, compressing.zip.uncompress(zabPath, uzipZabPath)];
|
|
133
|
-
case 2:
|
|
134
|
-
_a.sent();
|
|
135
|
-
zabFileList = fs_1["default"].readdirSync(uzipZabPath);
|
|
136
|
-
zabBuffer = Buffer.alloc(0);
|
|
137
|
-
if (packages.length === 1) {
|
|
138
|
-
zpkFileName = lodash_1["default"].find(zabFileList, function (fileName) {
|
|
139
|
-
return lodash_1["default"].startsWith(fileName, packages[0] + ".");
|
|
140
|
-
});
|
|
141
|
-
if (zpkFileName) {
|
|
142
|
-
zpkPath = path.resolve(uzipZabPath, "./" + zpkFileName);
|
|
143
|
-
zabBuffer = Buffer.from(fs_1["default"].readFileSync(zpkPath));
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
projectName = process.cwd().split('/').slice(-1)[0];
|
|
147
|
-
if (zabBuffer.length) {
|
|
124
|
+
zpkBuffer = _a.sent();
|
|
125
|
+
if (zpkBuffer) {
|
|
126
|
+
logger.info('rebuild done');
|
|
148
127
|
logger.info('refrshing simulator...');
|
|
149
128
|
targetDeviceInternalName = getDeviceInternalCodename(packages[0]);
|
|
150
|
-
|
|
129
|
+
projectName = process.cwd().split('/').slice(-1)[0];
|
|
130
|
+
simulator.upload(zpkBuffer, projectName, targetDeviceInternalName);
|
|
151
131
|
}
|
|
152
132
|
else {
|
|
153
|
-
logger.error('
|
|
133
|
+
logger.error('build error');
|
|
154
134
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
135
|
+
// const zabPath = path.resolve(`./dist/${zabName}`)
|
|
136
|
+
// if (fs.existsSync(zabPath)) {
|
|
137
|
+
// logger.info('rebuild done')
|
|
138
|
+
// const uzipZabPath = path.resolve(zabPath, '../zab')
|
|
139
|
+
// logger.info('getting device package...')
|
|
140
|
+
// await compressing.zip.uncompress(zabPath, uzipZabPath)
|
|
141
|
+
// const zabFileList = fs.readdirSync(uzipZabPath)
|
|
142
|
+
// let zabBuffer: Buffer = Buffer.alloc(0)
|
|
143
|
+
// if (packages.length === 1) {
|
|
144
|
+
// const zpkFileName = _.find(zabFileList, (fileName) => {
|
|
145
|
+
// return _.startsWith(fileName, `${packages[0]}.`)
|
|
146
|
+
// })
|
|
147
|
+
// if (zpkFileName) {
|
|
148
|
+
// const zpkPath = path.resolve(uzipZabPath, `./${zpkFileName}`)
|
|
149
|
+
// zabBuffer = Buffer.from(fs.readFileSync(zpkPath))
|
|
150
|
+
// }
|
|
151
|
+
// }
|
|
152
|
+
// const projectName = process.cwd().split('/').slice(-1)[0]
|
|
153
|
+
// if (zabBuffer.length) {
|
|
154
|
+
// logger.info('refrshing simulator...')
|
|
155
|
+
// const targetDeviceInternalName = getDeviceInternalCodename(packages[0])
|
|
156
|
+
// simulator.upload(zabBuffer, projectName, targetDeviceInternalName)
|
|
157
|
+
// } else {
|
|
158
|
+
// logger.error('can\'t find device package, pleace check the build result')
|
|
159
|
+
// }
|
|
160
|
+
// fsExtra.removeSync(uzipZabPath)
|
|
161
|
+
// }
|
|
158
162
|
if (!hasStarted) {
|
|
159
163
|
hasStarted = true;
|
|
160
164
|
logger.log(chalk_1["default"].green("[" + args['$0'] + "] watching the changes in this project..."));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeppos/zeus-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"description": "zeus mini-program tools",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "zepp",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"webpack": "^5.52.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@zeppos/zpm": "^2.1.
|
|
40
|
+
"@zeppos/zpm": "^2.1.48",
|
|
41
41
|
"axios": "^0.23.0",
|
|
42
42
|
"chalk": "^4.1.2",
|
|
43
43
|
"chokidar": "^3.5.2",
|
|
@@ -26,14 +26,7 @@
|
|
|
26
26
|
"page": {
|
|
27
27
|
"pages": [
|
|
28
28
|
"pages/index"
|
|
29
|
-
]
|
|
30
|
-
"window": {
|
|
31
|
-
"navigationBarBackgroundColor": "#ffffff",
|
|
32
|
-
"navigationBarTextStyle": "black",
|
|
33
|
-
"navigationBarTitleText": "empty",
|
|
34
|
-
"backgroundColor": "#eeeeee",
|
|
35
|
-
"backgroundTextStyle": "light"
|
|
36
|
-
}
|
|
29
|
+
]
|
|
37
30
|
},
|
|
38
31
|
"app-side": {
|
|
39
32
|
"path": "app-side/index"
|