@itera-web/cli 1.1.54

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.
Files changed (61) hide show
  1. package/README.md +56 -0
  2. package/bin/index.js +18 -0
  3. package/dist/commands/app/app-obs.d.ts +14 -0
  4. package/dist/commands/app/app-obs.js +243 -0
  5. package/dist/commands/app/up.d.ts +11 -0
  6. package/dist/commands/app/up.js +103 -0
  7. package/dist/commands/web/buildapp.d.ts +10 -0
  8. package/dist/commands/web/buildapp.js +106 -0
  9. package/dist/commands/web/git.d.ts +3 -0
  10. package/dist/commands/web/git.js +57 -0
  11. package/dist/commands/web/init.d.ts +4 -0
  12. package/dist/commands/web/init.js +129 -0
  13. package/dist/commands/web/packageapp.d.ts +5 -0
  14. package/dist/commands/web/packageapp.js +98 -0
  15. package/dist/commands/web/publish.d.ts +10 -0
  16. package/dist/commands/web/publish.js +104 -0
  17. package/dist/commands/web/pullprojects.d.ts +5 -0
  18. package/dist/commands/web/pullprojects.js +108 -0
  19. package/dist/commands/web/startapp.d.ts +5 -0
  20. package/dist/commands/web/startapp.js +98 -0
  21. package/dist/commands/web/updateprojects.d.ts +17 -0
  22. package/dist/commands/web/updateprojects.js +220 -0
  23. package/dist/config/util.d.ts +14 -0
  24. package/dist/config/util.js +88 -0
  25. package/dist/config/webpack.buildpackage.d.ts +1 -0
  26. package/dist/config/webpack.buildpackage.js +63 -0
  27. package/dist/config/webpack.common.d.ts +1 -0
  28. package/dist/config/webpack.common.js +178 -0
  29. package/dist/config/webpack.dev.d.ts +1 -0
  30. package/dist/config/webpack.dev.js +27 -0
  31. package/dist/config/webpack.pro.d.ts +1 -0
  32. package/dist/config/webpack.pro.js +43 -0
  33. package/dist/plugins/app.exe +0 -0
  34. package/dist/plugins/sortSrciptTag.d.ts +1 -0
  35. package/dist/plugins/sortSrciptTag.js +75 -0
  36. package/dist/plugins/webSocketServer.d.ts +4 -0
  37. package/dist/plugins/webSocketServer.js +53 -0
  38. package/dist/public/git.d.ts +1 -0
  39. package/dist/public/git.js +375 -0
  40. package/dist/public/hook.d.ts +18 -0
  41. package/dist/public/hook.js +93 -0
  42. package/dist/public/log.d.ts +8 -0
  43. package/dist/public/log.js +58 -0
  44. package/dist/public/public.d.ts +19 -0
  45. package/dist/public/public.js +425 -0
  46. package/dist/public/sign.d.ts +2 -0
  47. package/dist/public/sign.js +148 -0
  48. package/dist/public/smartMerge.d.ts +3 -0
  49. package/dist/public/smartMerge.js +31 -0
  50. package/dist/public/update-version.d.ts +2 -0
  51. package/dist/public/update-version.js +130 -0
  52. package/dist/public/upload-obs.d.ts +1 -0
  53. package/dist/public/upload-obs.js +242 -0
  54. package/dist/public/upload-web.d.ts +1 -0
  55. package/dist/public/upload-web.js +154 -0
  56. package/dist/store/index.d.ts +2 -0
  57. package/dist/store/index.js +65 -0
  58. package/dist/store/types.d.ts +53 -0
  59. package/dist/store/types.js +2 -0
  60. package/package.json +110 -0
  61. package/tsconfig.json +30 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.smartMerge = smartMerge;
4
+ var isEmptyObject = function (obj) {
5
+ return typeof obj === 'object' && obj !== null && !Array.isArray(obj) && Object.keys(obj).length === 0;
6
+ };
7
+ var isEmptyArray = function (arr) { return Array.isArray(arr) && arr.length === 0; };
8
+ function smartMerge(target, source) {
9
+ if (!target || typeof target !== 'object')
10
+ return source;
11
+ if (!source || typeof source !== 'object')
12
+ return target;
13
+ for (var key in source) {
14
+ if (!Object.prototype.hasOwnProperty.call(source, key))
15
+ continue;
16
+ var tVal = target[key];
17
+ var sVal = source[key];
18
+ if (tVal === null || tVal === undefined || isEmptyObject(tVal) || isEmptyArray(tVal)) {
19
+ target[key] = sVal;
20
+ continue;
21
+ }
22
+ if (typeof tVal === 'object' && typeof sVal === 'object' && !Array.isArray(tVal) && !Array.isArray(sVal)) {
23
+ smartMerge(tVal, sVal);
24
+ continue;
25
+ }
26
+ if (Array.isArray(tVal) && Array.isArray(sVal) && tVal.length === 0) {
27
+ target[key] = sVal;
28
+ }
29
+ }
30
+ return target;
31
+ }
@@ -0,0 +1,2 @@
1
+ declare function onUpdateLatestOBS(argv: Record<string, any>): Promise<void>;
2
+ export { onUpdateLatestOBS };
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.onUpdateLatestOBS = onUpdateLatestOBS;
43
+ var chalk_1 = __importDefault(require("chalk"));
44
+ var fs_1 = __importDefault(require("fs"));
45
+ var inquirer_1 = __importDefault(require("inquirer"));
46
+ var moment_1 = __importDefault(require("moment"));
47
+ var os_1 = __importDefault(require("os"));
48
+ var path_1 = __importDefault(require("path"));
49
+ var store_1 = require("../store");
50
+ var log_1 = require("../public/log");
51
+ var desktopDir = path_1.default.join(os_1.default.homedir(), 'Desktop');
52
+ var newDir = path_1.default.join(desktopDir, 'Output');
53
+ function startUpdate(version) {
54
+ var obs = store_1.mainData.updateConfig.obs;
55
+ var obsClient = store_1.mainData.obsClient;
56
+ if (!obs || !obsClient) {
57
+ log_1.Console.error('开始更新: obs 信息未发现或 obsClient 未定义');
58
+ process.exit(1);
59
+ }
60
+ var SourceFile = path_1.default.join(newDir, 'latest');
61
+ if (!fs_1.default.existsSync(SourceFile)) {
62
+ log_1.Console.error("\u66F4\u65B0\u6587\u4EF6\u672A\u53D1\u73B0\uFF1A ".concat(SourceFile));
63
+ process.exit(1);
64
+ }
65
+ obsClient.putObject({
66
+ Bucket: obs.Bucket,
67
+ Key: "".concat(obs.folder, "/latest"),
68
+ SourceFile: SourceFile,
69
+ ProgressCallback: function (transferred, total) {
70
+ process.stdout.write(chalk_1.default.blueBright("".concat((0, moment_1.default)().format('HH:mm:ss'), " | \u7248\u672C\u6587\u4EF6 \u4E0A\u4F20\u8FDB\u5EA6\uFF1A").concat(((transferred / total) * 100).toFixed(2), "%\r")));
71
+ },
72
+ }, function (err, result) {
73
+ var _a;
74
+ if (err) {
75
+ log_1.Console.error('更新失败', err.message);
76
+ }
77
+ else {
78
+ if (((_a = result === null || result === void 0 ? void 0 : result.CommonMsg) === null || _a === void 0 ? void 0 : _a.Status) === 200) {
79
+ log_1.Console.success("\u66F4\u65B0\u5B8C\u6BD5 \u5F53\u524D\u7248\u672C ".concat(version, " "));
80
+ }
81
+ else {
82
+ log_1.Console.error("\u66F4\u65B0\u5F02\u5E38 ".concat(JSON.stringify(result)));
83
+ }
84
+ }
85
+ process.exit();
86
+ });
87
+ }
88
+ function onUpdateLatestOBS(argv) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ var latest, version, answers, err_1;
91
+ var _a, _b;
92
+ return __generator(this, function (_c) {
93
+ switch (_c.label) {
94
+ case 0:
95
+ _c.trys.push([0, 2, , 3]);
96
+ latest = (_a = store_1.mainData.updateConfig.latest) !== null && _a !== void 0 ? _a : {};
97
+ version = (_b = latest.version) === null || _b === void 0 ? void 0 : _b.split('.').join('_');
98
+ if (!version) {
99
+ log_1.Console.error('设置更新: version 信息未发现');
100
+ process.exit(1);
101
+ }
102
+ if (argv === null || argv === void 0 ? void 0 : argv.autoupdate) {
103
+ startUpdate(version);
104
+ return [2];
105
+ }
106
+ return [4, inquirer_1.default.prompt([
107
+ {
108
+ type: 'list',
109
+ name: 'is',
110
+ message: '是否更新',
111
+ choices: ['是', '否'],
112
+ },
113
+ ])];
114
+ case 1:
115
+ answers = _c.sent();
116
+ if (answers.is === '否') {
117
+ process.exit();
118
+ }
119
+ log_1.Console.cyan("\u5F00\u59CB\u66F4\u65B0: ".concat(version));
120
+ startUpdate(version);
121
+ return [3, 3];
122
+ case 2:
123
+ err_1 = _c.sent();
124
+ log_1.Console.error(err_1 instanceof Error ? err_1.message : String(err_1));
125
+ return [3, 3];
126
+ case 3: return [2];
127
+ }
128
+ });
129
+ });
130
+ }
@@ -0,0 +1 @@
1
+ export declare function upload(argv: Record<string, any>, noBuild?: boolean): Promise<void>;
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.upload = upload;
43
+ var chalk_1 = __importDefault(require("chalk"));
44
+ var esdk_obs_nodejs_1 = __importDefault(require("esdk-obs-nodejs"));
45
+ var fs_1 = __importDefault(require("fs"));
46
+ var inquirer_1 = __importDefault(require("inquirer"));
47
+ var moment_1 = __importDefault(require("moment"));
48
+ var os_1 = __importDefault(require("os"));
49
+ var path_1 = __importDefault(require("path"));
50
+ var store_1 = require("../store");
51
+ var log_1 = require("../public/log");
52
+ var update_version_1 = require("../public/update-version");
53
+ var upload_web_1 = require("../public/upload-web");
54
+ var desktopDir = path_1.default.join(os_1.default.homedir(), 'Desktop');
55
+ var newDir = path_1.default.join(desktopDir, 'Output');
56
+ function deleteVersionFolder() {
57
+ return new Promise(function (resolve) {
58
+ var _a, _b;
59
+ var latest = store_1.mainData.updateConfig.latest;
60
+ var version = (_a = latest === null || latest === void 0 ? void 0 : latest.version) === null || _a === void 0 ? void 0 : _a.split('.').join('_');
61
+ var obs = store_1.mainData.updateConfig.obs;
62
+ if (!version) {
63
+ log_1.Console.error('删除线上文件: version 信息未发现');
64
+ process.exit(1);
65
+ }
66
+ if (!obs) {
67
+ log_1.Console.error('删除线上文件: obs 信息未发现');
68
+ process.exit(1);
69
+ }
70
+ if (!fs_1.default.existsSync(newDir)) {
71
+ log_1.Console.warn("\u66F4\u65B0\u76EE\u5F55\u4E0D\u5B58\u5728: ".concat(newDir));
72
+ resolve(true);
73
+ return;
74
+ }
75
+ var files = fs_1.default.readdirSync(newDir);
76
+ var Objects = files.map(function (file) { return ({ Key: "".concat(obs.folder, "/").concat(version, "/").concat(file) }); });
77
+ (_b = store_1.mainData.obsClient) === null || _b === void 0 ? void 0 : _b.deleteObjects({
78
+ Bucket: obs.Bucket,
79
+ Quiet: false,
80
+ Objects: Objects,
81
+ }, function (err, result) {
82
+ var _a, _b, _c;
83
+ if (err) {
84
+ log_1.Console.error('删除失败:', err);
85
+ resolve(false);
86
+ }
87
+ else {
88
+ if (((_a = result.CommonMsg) === null || _a === void 0 ? void 0 : _a.Status) && result.CommonMsg.Status < 300 && result.InterfaceResult) {
89
+ (_b = result.InterfaceResult.Deleteds) === null || _b === void 0 ? void 0 : _b.forEach(function (item) {
90
+ return log_1.Console.success('已删除-->' + item.Key);
91
+ });
92
+ (_c = result.InterfaceResult.Errors) === null || _c === void 0 ? void 0 : _c.forEach(function (item) { return log_1.Console.error('删除失败-->' + item.Key); });
93
+ }
94
+ resolve(true);
95
+ }
96
+ });
97
+ });
98
+ }
99
+ function uploadObsFiles(SourceFile) {
100
+ return new Promise(function (resolve) {
101
+ var _a, _b;
102
+ var latest = store_1.mainData.updateConfig.latest;
103
+ var version = (_a = latest === null || latest === void 0 ? void 0 : latest.version) === null || _a === void 0 ? void 0 : _a.split('.').join('_');
104
+ var fileName = path_1.default.basename(SourceFile);
105
+ var obs = store_1.mainData.updateConfig.obs;
106
+ if (!version) {
107
+ log_1.Console.error('上传单个文件: version 信息未发现');
108
+ process.exit(1);
109
+ }
110
+ if (!obs) {
111
+ log_1.Console.error('上传单个文件: obs 信息未发现');
112
+ process.exit(1);
113
+ }
114
+ (_b = store_1.mainData.obsClient) === null || _b === void 0 ? void 0 : _b.putObject({
115
+ Bucket: obs.Bucket,
116
+ Key: "".concat(obs.folder, "/").concat(version, "/").concat(fileName),
117
+ SourceFile: SourceFile,
118
+ ProgressCallback: function (transferred, total) {
119
+ process.stdout.write(chalk_1.default.blueBright("".concat((0, moment_1.default)().format('HH:mm:ss'), " | ").concat(fileName, " \u4E0A\u4F20\u8FDB\u5EA6\uFF1A").concat(((transferred / total) * 100).toFixed(2), "%\r")));
120
+ },
121
+ }, function (err, result) {
122
+ var _a;
123
+ if (err) {
124
+ resolve(false);
125
+ }
126
+ else {
127
+ if (((_a = result.CommonMsg) === null || _a === void 0 ? void 0 : _a.Status) === 200) {
128
+ resolve(true);
129
+ process.stdout.write(chalk_1.default.greenBright("".concat((0, moment_1.default)().format('HH:mm:ss'), " | \u4E0A\u4F20\u5B8C\u6BD5: ").concat(fileName, " \r")));
130
+ process.stdout.write('\n');
131
+ }
132
+ else {
133
+ resolve(false);
134
+ }
135
+ }
136
+ });
137
+ });
138
+ }
139
+ function uploadOBS() {
140
+ return __awaiter(this, void 0, void 0, function () {
141
+ var obs, files, _i, files_1, file, err_1;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ obs = store_1.mainData.updateConfig.obs;
146
+ if (!obs) {
147
+ log_1.Console.error('上传单个文件: obs 信息未发现');
148
+ process.exit(1);
149
+ }
150
+ log_1.Console.cyan("\u5F00\u59CB\u4E0A\u4F20\u81F3OBS ".concat(obs.Bucket));
151
+ _a.label = 1;
152
+ case 1:
153
+ _a.trys.push([1, 7, , 8]);
154
+ return [4, deleteVersionFolder()];
155
+ case 2:
156
+ _a.sent();
157
+ if (!fs_1.default.existsSync(newDir))
158
+ return [2];
159
+ files = fs_1.default.readdirSync(newDir).sort(function (a) { return (a === 'latest' ? 1 : -1); });
160
+ _i = 0, files_1 = files;
161
+ _a.label = 3;
162
+ case 3:
163
+ if (!(_i < files_1.length)) return [3, 6];
164
+ file = files_1[_i];
165
+ return [4, uploadObsFiles(path_1.default.join(newDir, file))];
166
+ case 4:
167
+ _a.sent();
168
+ _a.label = 5;
169
+ case 5:
170
+ _i++;
171
+ return [3, 3];
172
+ case 6: return [3, 8];
173
+ case 7:
174
+ err_1 = _a.sent();
175
+ log_1.Console.error(err_1.toString());
176
+ return [3, 8];
177
+ case 8: return [2];
178
+ }
179
+ });
180
+ });
181
+ }
182
+ function upload(argv, noBuild) {
183
+ return __awaiter(this, void 0, void 0, function () {
184
+ var latest, version, obs, answers;
185
+ var _a;
186
+ return __generator(this, function (_b) {
187
+ switch (_b.label) {
188
+ case 0:
189
+ latest = store_1.mainData.updateConfig.latest;
190
+ version = (_a = latest === null || latest === void 0 ? void 0 : latest.version) === null || _a === void 0 ? void 0 : _a.split('.').join('_');
191
+ obs = store_1.mainData.updateConfig.obs;
192
+ if (!version || !obs) {
193
+ log_1.Console.error('开始上传: version 或 obs 信息未发现');
194
+ process.exit(1);
195
+ }
196
+ store_1.mainData.obsClient = new esdk_obs_nodejs_1.default({
197
+ access_key_id: obs.access_key_id,
198
+ secret_access_key: obs.secret_access_key,
199
+ server: obs.server,
200
+ });
201
+ if (!argv['autoupload']) return [3, 5];
202
+ return [4, uploadOBS()];
203
+ case 1:
204
+ _b.sent();
205
+ if (!argv['web']) return [3, 3];
206
+ return [4, (0, upload_web_1.uploadWeb)(noBuild)];
207
+ case 2:
208
+ _b.sent();
209
+ _b.label = 3;
210
+ case 3: return [4, (0, update_version_1.onUpdateLatestOBS)(argv)];
211
+ case 4:
212
+ _b.sent();
213
+ return [2];
214
+ case 5: return [4, inquirer_1.default.prompt([
215
+ {
216
+ type: 'list',
217
+ name: 'is',
218
+ message: "\u662F\u5426\u4E0A\u4F20\u5F53\u524D\u7248\u672C\u6587\u4EF6\u81F3\u670D\u52A1\u5668\u6587\u4EF6\u5939[ ".concat(version, " ] !!!"),
219
+ choices: ['否', '是'],
220
+ },
221
+ ])];
222
+ case 6:
223
+ answers = _b.sent();
224
+ if (answers.is === '否')
225
+ process.exit();
226
+ log_1.Console.cyan("\u5F00\u59CB\u4E0A\u4F20\u7248\u672C\u6587\u4EF6: ".concat(version));
227
+ return [4, uploadOBS()];
228
+ case 7:
229
+ _b.sent();
230
+ if (!argv['web']) return [3, 9];
231
+ return [4, (0, upload_web_1.uploadWeb)(noBuild)];
232
+ case 8:
233
+ _b.sent();
234
+ _b.label = 9;
235
+ case 9: return [4, (0, update_version_1.onUpdateLatestOBS)(argv)];
236
+ case 10:
237
+ _b.sent();
238
+ return [2];
239
+ }
240
+ });
241
+ });
242
+ }
@@ -0,0 +1 @@
1
+ export declare function uploadWeb(noBuild?: boolean, doDelete?: boolean): Promise<void>;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.uploadWeb = uploadWeb;
43
+ var basic_ftp_1 = require("basic-ftp");
44
+ var chalk_1 = __importDefault(require("chalk"));
45
+ var child_process_1 = require("child_process");
46
+ var fs_1 = __importDefault(require("fs"));
47
+ var moment_1 = __importDefault(require("moment"));
48
+ var path_1 = __importDefault(require("path"));
49
+ var store_1 = require("../store");
50
+ var log_1 = require("../public/log");
51
+ var runtimePath = process.cwd();
52
+ var localDir = path_1.default.join(runtimePath, 'dist');
53
+ var remoteDir = './';
54
+ var env = Object.assign({}, process.env, {
55
+ PATH: runtimePath + ';' + process.env.PATH,
56
+ npm_config_prefix: 'C:\\Program Files\\nodejs\\npm',
57
+ });
58
+ function getFolderSize(directory) {
59
+ var totalSize = 0;
60
+ if (!fs_1.default.existsSync(directory))
61
+ return 0;
62
+ var files = fs_1.default.readdirSync(directory);
63
+ for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
64
+ var file = files_1[_i];
65
+ var filePath = path_1.default.join(directory, file);
66
+ var stats = fs_1.default.statSync(filePath);
67
+ if (stats.isDirectory()) {
68
+ totalSize += getFolderSize(filePath);
69
+ }
70
+ else {
71
+ totalSize += stats.size;
72
+ }
73
+ }
74
+ return totalSize;
75
+ }
76
+ function uploadWeb(noBuild, doDelete) {
77
+ return __awaiter(this, void 0, void 0, function () {
78
+ var updateConfig, client, fileList, _i, fileList_1, file, fileSize_1, err_1;
79
+ var _a;
80
+ return __generator(this, function (_b) {
81
+ switch (_b.label) {
82
+ case 0:
83
+ updateConfig = store_1.mainData.updateConfig;
84
+ if (!updateConfig.WEB_FTP) {
85
+ log_1.Console.error('上传 Web: WEB_FTP 配置未找到');
86
+ process.exit(1);
87
+ }
88
+ if (!noBuild) {
89
+ log_1.Console.cyan('\n正在执行本地构建...\n');
90
+ (0, child_process_1.execSync)('itera-cli build', { env: env });
91
+ log_1.Console.success('构建完成');
92
+ }
93
+ else {
94
+ log_1.Console.success('上传 web 文件夹');
95
+ }
96
+ client = new basic_ftp_1.Client();
97
+ _b.label = 1;
98
+ case 1:
99
+ _b.trys.push([1, 10, 11, 12]);
100
+ return [4, client.access({
101
+ host: updateConfig.WEB_FTP.host,
102
+ port: updateConfig.WEB_FTP.port,
103
+ user: updateConfig.WEB_FTP.user,
104
+ password: updateConfig.WEB_FTP.password,
105
+ secure: (_a = updateConfig.WEB_FTP.secure) !== null && _a !== void 0 ? _a : false,
106
+ })];
107
+ case 2:
108
+ _b.sent();
109
+ return [4, client.ensureDir(remoteDir)];
110
+ case 3:
111
+ _b.sent();
112
+ if (!doDelete) return [3, 8];
113
+ return [4, client.list()];
114
+ case 4:
115
+ fileList = _b.sent();
116
+ _i = 0, fileList_1 = fileList;
117
+ _b.label = 5;
118
+ case 5:
119
+ if (!(_i < fileList_1.length)) return [3, 8];
120
+ file = fileList_1[_i];
121
+ if (!(file.type === basic_ftp_1.FileType.Directory)) return [3, 7];
122
+ process.stdout.write(chalk_1.default.cyanBright("".concat((0, moment_1.default)().format('HH:mm:ss'), " | \u5220\u9664\u524D\u7AEF\u5B50\u76EE\u5F55: ").concat(file.name, " \r")));
123
+ return [4, client.removeDir(file.name)];
124
+ case 6:
125
+ _b.sent();
126
+ _b.label = 7;
127
+ case 7:
128
+ _i++;
129
+ return [3, 5];
130
+ case 8:
131
+ process.stdout.write('\n');
132
+ fileSize_1 = getFolderSize(localDir);
133
+ client.trackProgress(function (info) {
134
+ var percentComplete = (info.bytesOverall / fileSize_1) * 100;
135
+ process.stdout.write(chalk_1.default.blueBright("".concat((0, moment_1.default)().format('HH:mm:ss'), " | \u524D\u7AEF\u6587\u4EF6\u4E0A\u4F20\u8FDB\u5EA6 ").concat(remoteDir, ": ").concat(percentComplete.toFixed(2), "%\r")));
136
+ if (percentComplete >= 100)
137
+ process.stdout.write('\n');
138
+ });
139
+ return [4, client.uploadFromDir(localDir)];
140
+ case 9:
141
+ _b.sent();
142
+ return [3, 12];
143
+ case 10:
144
+ err_1 = _b.sent();
145
+ log_1.Console.error(err_1.toString());
146
+ return [3, 12];
147
+ case 11:
148
+ client.close();
149
+ return [7];
150
+ case 12: return [2];
151
+ }
152
+ });
153
+ });
154
+ }
@@ -0,0 +1,2 @@
1
+ import type { MainData } from './types';
2
+ export declare const mainData: MainData;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mainData = void 0;
7
+ var package_json_1 = __importDefault(require("../../package.json"));
8
+ var fs_1 = __importDefault(require("fs"));
9
+ var os_1 = __importDefault(require("os"));
10
+ var path_1 = __importDefault(require("path"));
11
+ var smartMerge_1 = require("../public/smartMerge");
12
+ var runtimePath = process.cwd();
13
+ var updateConfigPath = path_1.default.join(runtimePath, './update_config.js');
14
+ var updateConfig = fs_1.default.existsSync(updateConfigPath) ? require(updateConfigPath) : {};
15
+ var baseUpdateConfig = {
16
+ latest: {},
17
+ obs: { remoteURL: null, Bucket: null },
18
+ agentsInfo: [],
19
+ updateCoolFiles: [],
20
+ WEB_FTP: {},
21
+ configPath: {
22
+ coreAppPath: null,
23
+ coreProPath: null,
24
+ finallyProPath: null,
25
+ OutputPath: null,
26
+ FilesToInstallPath: null,
27
+ destPatchZipFile: null,
28
+ destPatchFile: null,
29
+ batPath: null,
30
+ batAgentPath: null,
31
+ newDir: null,
32
+ buildPath: null,
33
+ zipPath: null,
34
+ uninstPath: null,
35
+ setupConfigPath: null,
36
+ buildNoZip: null,
37
+ latestLocalPath: null,
38
+ signAllFilesPath: null,
39
+ signToolsPath: null,
40
+ },
41
+ noCheckPath: [
42
+ 'coreProPath',
43
+ 'finallyProPath',
44
+ 'destPatchZipFile',
45
+ 'destPatchFile',
46
+ 'newDir',
47
+ 'buildPath',
48
+ 'signAllFilesPath',
49
+ 'FilesToInstallPath',
50
+ 'OutputPath',
51
+ ],
52
+ deletePath: {},
53
+ signFiles: [],
54
+ commend: {},
55
+ };
56
+ var desktopDir = path_1.default.join(os_1.default.homedir(), 'Desktop');
57
+ exports.mainData = {
58
+ runtimePath: runtimePath,
59
+ pkg: package_json_1.default,
60
+ obsClient: null,
61
+ desktopDir: desktopDir,
62
+ hook: {},
63
+ updateConfig: (0, smartMerge_1.smartMerge)(baseUpdateConfig, updateConfig),
64
+ ws: { port: 47612, server: null, obj: null },
65
+ };