yakuza0 2.23.31 → 2.23.33
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/cli/index.js +1750 -452
- package/package.json +2 -2
package/cli/index.js
CHANGED
|
@@ -5,10 +5,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.run = undefined;
|
|
7
7
|
|
|
8
|
+
var _from = require('babel-runtime/core-js/array/from');
|
|
9
|
+
|
|
10
|
+
var _from2 = _interopRequireDefault(_from);
|
|
11
|
+
|
|
12
|
+
var _set = require('babel-runtime/core-js/set');
|
|
13
|
+
|
|
14
|
+
var _set2 = _interopRequireDefault(_set);
|
|
15
|
+
|
|
16
|
+
var _isInteger = require('babel-runtime/core-js/number/is-integer');
|
|
17
|
+
|
|
18
|
+
var _isInteger2 = _interopRequireDefault(_isInteger);
|
|
19
|
+
|
|
20
|
+
var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
|
|
21
|
+
|
|
22
|
+
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
|
23
|
+
|
|
8
24
|
var _stringify = require('babel-runtime/core-js/json/stringify');
|
|
9
25
|
|
|
10
26
|
var _stringify2 = _interopRequireDefault(_stringify);
|
|
11
27
|
|
|
28
|
+
var _isFinite = require('babel-runtime/core-js/number/is-finite');
|
|
29
|
+
|
|
30
|
+
var _isFinite2 = _interopRequireDefault(_isFinite);
|
|
31
|
+
|
|
32
|
+
var _promise = require('babel-runtime/core-js/promise');
|
|
33
|
+
|
|
34
|
+
var _promise2 = _interopRequireDefault(_promise);
|
|
35
|
+
|
|
36
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
|
37
|
+
|
|
38
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
39
|
+
|
|
12
40
|
var _regenerator = require('babel-runtime/regenerator');
|
|
13
41
|
|
|
14
42
|
var _regenerator2 = _interopRequireDefault(_regenerator);
|
|
@@ -21,6 +49,18 @@ var _semver = require('semver');
|
|
|
21
49
|
|
|
22
50
|
var _semver2 = _interopRequireDefault(_semver);
|
|
23
51
|
|
|
52
|
+
var _crypto = require('crypto');
|
|
53
|
+
|
|
54
|
+
var _fs = require('fs');
|
|
55
|
+
|
|
56
|
+
var _fs2 = _interopRequireDefault(_fs);
|
|
57
|
+
|
|
58
|
+
var _path = require('path');
|
|
59
|
+
|
|
60
|
+
var _path2 = _interopRequireDefault(_path);
|
|
61
|
+
|
|
62
|
+
require('isomorphic-fetch');
|
|
63
|
+
|
|
24
64
|
var _paths = require('../config/paths');
|
|
25
65
|
|
|
26
66
|
var _paths2 = _interopRequireDefault(_paths);
|
|
@@ -29,10 +69,6 @@ var _inclusive = require('../utils/inclusive.js');
|
|
|
29
69
|
|
|
30
70
|
var _inclusive2 = _interopRequireDefault(_inclusive);
|
|
31
71
|
|
|
32
|
-
var _midfilter = require('../utils/midfilter.js');
|
|
33
|
-
|
|
34
|
-
var _midfilter2 = _interopRequireDefault(_midfilter);
|
|
35
|
-
|
|
36
72
|
var _compress = require('../utils/compress.js');
|
|
37
73
|
|
|
38
74
|
var _compress2 = _interopRequireDefault(_compress);
|
|
@@ -45,221 +81,1564 @@ var _package = require('../package.json');
|
|
|
45
81
|
|
|
46
82
|
var _package2 = _interopRequireDefault(_package);
|
|
47
83
|
|
|
48
|
-
var _cli = require('@nuxt/cli');
|
|
84
|
+
var _cli = require('@nuxt/cli');
|
|
85
|
+
|
|
86
|
+
var nuxtCli = _interopRequireWildcard(_cli);
|
|
87
|
+
|
|
88
|
+
var _consola = require('consola');
|
|
89
|
+
|
|
90
|
+
var _consola2 = _interopRequireDefault(_consola);
|
|
91
|
+
|
|
92
|
+
var _msg = require('../config/msg');
|
|
93
|
+
|
|
94
|
+
var _os = require('os');
|
|
95
|
+
|
|
96
|
+
var _os2 = _interopRequireDefault(_os);
|
|
97
|
+
|
|
98
|
+
var _rimraf = require('rimraf');
|
|
99
|
+
|
|
100
|
+
var _rimraf2 = _interopRequireDefault(_rimraf);
|
|
101
|
+
|
|
102
|
+
var _decompress = require('decompress');
|
|
103
|
+
|
|
104
|
+
var _decompress2 = _interopRequireDefault(_decompress);
|
|
105
|
+
|
|
106
|
+
var _verify = require('../utils/verify');
|
|
107
|
+
|
|
108
|
+
var _server = require('yakuza1/server');
|
|
109
|
+
|
|
110
|
+
var _jsonFormat = require('json-format');
|
|
111
|
+
|
|
112
|
+
var _jsonFormat2 = _interopRequireDefault(_jsonFormat);
|
|
113
|
+
|
|
114
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
115
|
+
|
|
116
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
117
|
+
|
|
118
|
+
process.env.YK_USAGE = 'CLI';
|
|
119
|
+
|
|
120
|
+
var _require = require('child_process'),
|
|
121
|
+
execSync = _require.execSync,
|
|
122
|
+
spawn = _require.spawn;
|
|
123
|
+
|
|
124
|
+
// const util = require('util');
|
|
125
|
+
// const spawn = util.promisify(require('child_process').spawn);
|
|
126
|
+
|
|
127
|
+
if (_semver2.default.satisfies(process.versions.node, '>= 6.0.0')) require('v8-compile-cache');
|
|
128
|
+
|
|
129
|
+
var params = {
|
|
130
|
+
serverPath: '../server',
|
|
131
|
+
serverLite: '../server/mode/lite'
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// const watchChange = (watchPaths = [], callback) => {
|
|
135
|
+
// const watcher = chokidar.watch(watchPaths, {
|
|
136
|
+
// persistent: true,
|
|
137
|
+
// usePolling: true,
|
|
138
|
+
// });
|
|
139
|
+
//
|
|
140
|
+
// watcher.on('change', callback);
|
|
141
|
+
// };
|
|
142
|
+
|
|
143
|
+
var gi = function () {
|
|
144
|
+
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
|
|
145
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
146
|
+
|
|
147
|
+
var app, dkyModeDef, ykServerEnv, enabledAll, appsNoneExit, apps, _ref2, conf;
|
|
148
|
+
|
|
149
|
+
return _regenerator2.default.wrap(function _callee$(_context) {
|
|
150
|
+
while (1) {
|
|
151
|
+
switch (_context.prev = _context.next) {
|
|
152
|
+
case 0:
|
|
153
|
+
app = options.app || process.env.npm_config_yk0_build_app || process.env.npm_config_y0ba;
|
|
154
|
+
dkyModeDef = process.env.NODE_ENV === 'development' ? 'dev' : 'normal';
|
|
155
|
+
ykServerEnv = process.env.YK_SERVER_ENV || options.ykServerEnv || 'local';
|
|
156
|
+
enabledAll = process.env.YK_MACHINE_TYPE === 'workstation';
|
|
157
|
+
appsNoneExit = typeof options.appsNoneExit === 'boolean' ? options.appsNoneExit : true;
|
|
158
|
+
// console.log(ykServerEnv);
|
|
159
|
+
|
|
160
|
+
if (!_paths2.default.access(_paths2.default.envPath())) {
|
|
161
|
+
_consola2.default.error(_msg.errMsg["server.config.none"]);
|
|
162
|
+
process.exit(1);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
apps = [];
|
|
166
|
+
|
|
167
|
+
if (typeof app === 'string') {
|
|
168
|
+
apps = app.split(',').map(function (a) {
|
|
169
|
+
return 'app.' + a;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
_paths2.default.interfereFile.forEach(function (p) {
|
|
174
|
+
_rimraf2.default.sync(p);
|
|
175
|
+
});
|
|
176
|
+
_context.next = 11;
|
|
177
|
+
return (0, _inclusive2.default)({
|
|
178
|
+
apps: apps,
|
|
179
|
+
enabledAll: enabledAll,
|
|
180
|
+
ykServerEnv: ykServerEnv,
|
|
181
|
+
pkg: _package2.default,
|
|
182
|
+
dkyModeDef: dkyModeDef
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
case 11:
|
|
186
|
+
_ref2 = _context.sent;
|
|
187
|
+
conf = _ref2.conf;
|
|
188
|
+
|
|
189
|
+
if (!conf.extend.plugins.husky.enabled) {
|
|
190
|
+
_context.next = 18;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
_context.next = 16;
|
|
195
|
+
return (0, _verify.commitInit)();
|
|
196
|
+
|
|
197
|
+
case 16:
|
|
198
|
+
_context.next = 19;
|
|
199
|
+
break;
|
|
200
|
+
|
|
201
|
+
case 18:
|
|
202
|
+
_paths2.default.rm(_paths2.default.gitHooksCommitMsg);
|
|
203
|
+
|
|
204
|
+
case 19:
|
|
205
|
+
|
|
206
|
+
if (conf.dev) {
|
|
207
|
+
// conf
|
|
208
|
+
(0, _server.watchDirChange)([_paths2.default.ykConfigJs, _paths2.default.envPath(), _paths2.default.envPath(ykServerEnv)], function () {
|
|
209
|
+
(0, _inclusive2.default)({
|
|
210
|
+
apps: apps,
|
|
211
|
+
enabledAll: enabledAll,
|
|
212
|
+
ykServerEnv: ykServerEnv,
|
|
213
|
+
pkg: _package2.default,
|
|
214
|
+
dkyModeDef: 'dev'
|
|
215
|
+
}).then();
|
|
216
|
+
}, { event: "change" });
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (apps.length === 0) {
|
|
220
|
+
apps = _server._.compact(_server._.map(conf.router.config, function (v, key) {
|
|
221
|
+
if (v.enabled) {
|
|
222
|
+
return key;
|
|
223
|
+
}
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (apps.length === 0 && appsNoneExit) {
|
|
228
|
+
_consola2.default.error(_msg.errMsg["server.apps.none"]);
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
return _context.abrupt('return', { conf: conf, apps: apps });
|
|
232
|
+
|
|
233
|
+
case 23:
|
|
234
|
+
case 'end':
|
|
235
|
+
return _context.stop();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}, _callee, undefined);
|
|
239
|
+
}));
|
|
240
|
+
|
|
241
|
+
return function gi() {
|
|
242
|
+
return _ref.apply(this, arguments);
|
|
243
|
+
};
|
|
244
|
+
}();
|
|
245
|
+
|
|
246
|
+
var alias = function alias() {
|
|
247
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
248
|
+
|
|
249
|
+
_server.global.__cln_appName__ = options.appName;
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
var execCmd = function execCmd(cmd) {
|
|
253
|
+
execSync(cmd, { shell: true, stdio: 'inherit' });
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
var BUILD_HEARTBEAT_FILE = '.build.heartbeat';
|
|
257
|
+
var BUILD_HEARTBEAT_GRACE_MS = parseInt(process.env.YK0_BUILD_HEARTBEAT_GRACE_MS || '3000', 10);
|
|
258
|
+
var BUILD_HEARTBEAT_DELETE_ON_FINISH = process.env.YK0_BUILD_HEARTBEAT_DELETE_ON_FINISH !== 'false';
|
|
259
|
+
|
|
260
|
+
var readTextIfExists = function readTextIfExists(filePath) {
|
|
261
|
+
try {
|
|
262
|
+
return _fs2.default.readFileSync(filePath, 'utf8').trim();
|
|
263
|
+
} catch (e) {
|
|
264
|
+
return null;
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
var readContainerLimitSnapshot = function readContainerLimitSnapshot() {
|
|
269
|
+
var memoryLimitPath = ['/sys/fs/cgroup/memory.max', '/sys/fs/cgroup/memory/memory.limit_in_bytes'].find(function (filePath) {
|
|
270
|
+
return readTextIfExists(filePath) !== null;
|
|
271
|
+
});
|
|
272
|
+
var memoryCurrentPath = ['/sys/fs/cgroup/memory.current', '/sys/fs/cgroup/memory/memory.usage_in_bytes'].find(function (filePath) {
|
|
273
|
+
return readTextIfExists(filePath) !== null;
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
return {
|
|
277
|
+
memoryLimit: memoryLimitPath ? readTextIfExists(memoryLimitPath) : null,
|
|
278
|
+
memoryCurrent: memoryCurrentPath ? readTextIfExists(memoryCurrentPath) : null,
|
|
279
|
+
memoryLimitPath: memoryLimitPath,
|
|
280
|
+
memoryCurrentPath: memoryCurrentPath,
|
|
281
|
+
processMemoryRss: process.memoryUsage().rss,
|
|
282
|
+
processMemoryHeapUsed: process.memoryUsage().heapUsed,
|
|
283
|
+
cpus: _os2.default.cpus().length,
|
|
284
|
+
loadavg: _os2.default.loadavg()
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
var createBuildHeartbeat = function createBuildHeartbeat() {
|
|
289
|
+
var apps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
290
|
+
|
|
291
|
+
var heartbeatDir = _paths2.default.ykServerPath;
|
|
292
|
+
var heartbeatPath = _path2.default.join(heartbeatDir, BUILD_HEARTBEAT_FILE);
|
|
293
|
+
var timer = null;
|
|
294
|
+
|
|
295
|
+
var writeHeartbeat = function writeHeartbeat() {
|
|
296
|
+
var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'building';
|
|
297
|
+
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
298
|
+
|
|
299
|
+
_paths2.default.mkdir(heartbeatDir);
|
|
300
|
+
_paths2.default.write(heartbeatPath, (0, _jsonFormat2.default)((0, _extends3.default)({
|
|
301
|
+
pid: process.pid,
|
|
302
|
+
status: status,
|
|
303
|
+
apps: apps,
|
|
304
|
+
updatedAt: new Date().toISOString()
|
|
305
|
+
}, extra)));
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
writeHeartbeat();
|
|
309
|
+
timer = setInterval(writeHeartbeat, 1000);
|
|
310
|
+
|
|
311
|
+
return {
|
|
312
|
+
heartbeatPath: heartbeatPath,
|
|
313
|
+
markCompleted: function markCompleted() {
|
|
314
|
+
var extra = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
315
|
+
|
|
316
|
+
writeHeartbeat('completed', (0, _extends3.default)({
|
|
317
|
+
completedAt: new Date().toISOString()
|
|
318
|
+
}, extra));
|
|
319
|
+
},
|
|
320
|
+
markFailed: function markFailed(error) {
|
|
321
|
+
writeHeartbeat('failed', {
|
|
322
|
+
failedAt: new Date().toISOString(),
|
|
323
|
+
error: error && error.message ? error.message : String(error || ''),
|
|
324
|
+
failedApp: error && error.appName ? error.appName : undefined,
|
|
325
|
+
signal: error && error.signal ? error.signal : undefined,
|
|
326
|
+
exitCode: typeof (error && error.exitCode) === 'number' ? error.exitCode : undefined,
|
|
327
|
+
resourceSnapshot: error && error.resourceSnapshot ? error.resourceSnapshot : undefined
|
|
328
|
+
});
|
|
329
|
+
},
|
|
330
|
+
stop: function () {
|
|
331
|
+
var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
|
|
332
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
333
|
+
|
|
334
|
+
var _options$graceMs, graceMs, _options$deleteOnFini, deleteOnFinish;
|
|
335
|
+
|
|
336
|
+
return _regenerator2.default.wrap(function _callee2$(_context2) {
|
|
337
|
+
while (1) {
|
|
338
|
+
switch (_context2.prev = _context2.next) {
|
|
339
|
+
case 0:
|
|
340
|
+
_options$graceMs = options.graceMs, graceMs = _options$graceMs === undefined ? BUILD_HEARTBEAT_GRACE_MS : _options$graceMs, _options$deleteOnFini = options.deleteOnFinish, deleteOnFinish = _options$deleteOnFini === undefined ? BUILD_HEARTBEAT_DELETE_ON_FINISH : _options$deleteOnFini;
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
if (timer) {
|
|
344
|
+
clearInterval(timer);
|
|
345
|
+
timer = null;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (deleteOnFinish) {
|
|
349
|
+
_context2.next = 4;
|
|
350
|
+
break;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
return _context2.abrupt('return');
|
|
354
|
+
|
|
355
|
+
case 4:
|
|
356
|
+
if (!(graceMs > 0)) {
|
|
357
|
+
_context2.next = 7;
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
_context2.next = 7;
|
|
362
|
+
return new _promise2.default(function (resolve) {
|
|
363
|
+
setTimeout(resolve, graceMs);
|
|
364
|
+
});
|
|
365
|
+
|
|
366
|
+
case 7:
|
|
367
|
+
|
|
368
|
+
_paths2.default.rm(heartbeatPath);
|
|
369
|
+
|
|
370
|
+
case 8:
|
|
371
|
+
case 'end':
|
|
372
|
+
return _context2.stop();
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
}, _callee2, this);
|
|
376
|
+
}));
|
|
377
|
+
|
|
378
|
+
function stop() {
|
|
379
|
+
return _ref3.apply(this, arguments);
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
return stop;
|
|
383
|
+
}()
|
|
384
|
+
};
|
|
385
|
+
};
|
|
386
|
+
|
|
387
|
+
var spawnBuildProcess = function spawnBuildProcess(appName) {
|
|
388
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
389
|
+
|
|
390
|
+
return new _promise2.default(function (resolve, reject) {
|
|
391
|
+
var activeChildren = options.activeChildren,
|
|
392
|
+
abortState = options.abortState;
|
|
393
|
+
|
|
394
|
+
var child = spawn(process.execPath, [_path2.default.join(_paths2.default.ykRoot, 'bin', 'yk.js'), 'bd', appName], {
|
|
395
|
+
stdio: 'inherit'
|
|
396
|
+
});
|
|
397
|
+
var settled = false;
|
|
398
|
+
|
|
399
|
+
if (activeChildren) {
|
|
400
|
+
activeChildren.add(child);
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
var cleanup = function cleanup() {
|
|
404
|
+
if (activeChildren) {
|
|
405
|
+
activeChildren.delete(child);
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
var settleReject = function settleReject(error) {
|
|
410
|
+
if (settled) {
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
settled = true;
|
|
414
|
+
cleanup();
|
|
415
|
+
reject(error);
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
var settleResolve = function settleResolve() {
|
|
419
|
+
if (settled) {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
settled = true;
|
|
423
|
+
cleanup();
|
|
424
|
+
resolve();
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
child.on('error', function (error) {
|
|
428
|
+
if (abortState) {
|
|
429
|
+
abortState.stopped = true;
|
|
430
|
+
}
|
|
431
|
+
settleReject(error);
|
|
432
|
+
});
|
|
433
|
+
child.on('close', function (exitCode, signal) {
|
|
434
|
+
if (abortState && abortState.stopped && abortState.error && signal === 'SIGTERM') {
|
|
435
|
+
settleResolve();
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
if (signal) {
|
|
439
|
+
var error = new Error('Build interrupted for ' + appName + ' with signal ' + signal);
|
|
440
|
+
error.appName = appName;
|
|
441
|
+
error.signal = signal;
|
|
442
|
+
error.exitCode = exitCode;
|
|
443
|
+
error.resourceSnapshot = readContainerLimitSnapshot();
|
|
444
|
+
if (abortState) {
|
|
445
|
+
abortState.stopped = true;
|
|
446
|
+
}
|
|
447
|
+
settleReject(error);
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
if (exitCode !== 0) {
|
|
451
|
+
var _error = new Error('Build failed for ' + appName + ' with exit code ' + exitCode);
|
|
452
|
+
_error.appName = appName;
|
|
453
|
+
_error.signal = signal;
|
|
454
|
+
_error.exitCode = exitCode;
|
|
455
|
+
_error.resourceSnapshot = readContainerLimitSnapshot();
|
|
456
|
+
if (abortState) {
|
|
457
|
+
abortState.stopped = true;
|
|
458
|
+
}
|
|
459
|
+
settleReject(_error);
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
settleResolve();
|
|
463
|
+
});
|
|
464
|
+
});
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
var CLN_CI_DOWNLOAD_BASE_URL = 'https://registry-pxnpm.rdc.nfjbill.ren:20021/__static/srv/downloads';
|
|
468
|
+
var CLN_CI_INDEX_URL = CLN_CI_DOWNLOAD_BASE_URL + '/cln-ci/stable/index.json';
|
|
469
|
+
var CLN_CI_PRODUCT = 'cln-ci';
|
|
470
|
+
var CLN_CI_CHANNEL = 'stable';
|
|
471
|
+
var CLN_CI_CONNECT_TIMEOUT = 2000;
|
|
472
|
+
|
|
473
|
+
var resolveDownloadUrl = function resolveDownloadUrl(urlOrPath) {
|
|
474
|
+
if (/^https?:\/\//i.test(urlOrPath)) {
|
|
475
|
+
return urlOrPath;
|
|
476
|
+
}
|
|
477
|
+
return CLN_CI_DOWNLOAD_BASE_URL + '/' + String(urlOrPath).replace(/^\/+/, '');
|
|
478
|
+
};
|
|
479
|
+
|
|
480
|
+
var getClnCiPlatform = function getClnCiPlatform() {
|
|
481
|
+
var osMap = {
|
|
482
|
+
win32: 'windows',
|
|
483
|
+
darwin: 'darwin',
|
|
484
|
+
linux: 'linux'
|
|
485
|
+
};
|
|
486
|
+
var archMap = {
|
|
487
|
+
x64: 'amd64',
|
|
488
|
+
arm64: 'arm64'
|
|
489
|
+
};
|
|
490
|
+
var osName = osMap[process.platform];
|
|
491
|
+
var archName = archMap[process.arch];
|
|
492
|
+
|
|
493
|
+
if (!osName || !archName) {
|
|
494
|
+
throw new Error('Unsupported platform: ' + process.platform + '/' + process.arch);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
return { os: osName, arch: archName };
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
var resolveCurrentPlatformId = function resolveCurrentPlatformId() {
|
|
501
|
+
var platformKey = getClnCiPlatform();
|
|
502
|
+
return platformKey.os + '-' + platformKey.arch;
|
|
503
|
+
};
|
|
504
|
+
|
|
505
|
+
var fetchJson = function () {
|
|
506
|
+
var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(url) {
|
|
507
|
+
var res;
|
|
508
|
+
return _regenerator2.default.wrap(function _callee3$(_context3) {
|
|
509
|
+
while (1) {
|
|
510
|
+
switch (_context3.prev = _context3.next) {
|
|
511
|
+
case 0:
|
|
512
|
+
_context3.next = 2;
|
|
513
|
+
return fetch(url, { headers: { accept: 'application/json' } });
|
|
514
|
+
|
|
515
|
+
case 2:
|
|
516
|
+
res = _context3.sent;
|
|
517
|
+
|
|
518
|
+
if (res.ok) {
|
|
519
|
+
_context3.next = 5;
|
|
520
|
+
break;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
throw new Error('Failed to fetch ' + url + ': ' + res.status + ' ' + res.statusText);
|
|
524
|
+
|
|
525
|
+
case 5:
|
|
526
|
+
_context3.next = 7;
|
|
527
|
+
return res.json();
|
|
528
|
+
|
|
529
|
+
case 7:
|
|
530
|
+
return _context3.abrupt('return', _context3.sent);
|
|
531
|
+
|
|
532
|
+
case 8:
|
|
533
|
+
case 'end':
|
|
534
|
+
return _context3.stop();
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}, _callee3, undefined);
|
|
538
|
+
}));
|
|
539
|
+
|
|
540
|
+
return function fetchJson(_x9) {
|
|
541
|
+
return _ref4.apply(this, arguments);
|
|
542
|
+
};
|
|
543
|
+
}();
|
|
544
|
+
|
|
545
|
+
var fetchWithTimeout = function () {
|
|
546
|
+
var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(url) {
|
|
547
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
548
|
+
var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : CLN_CI_CONNECT_TIMEOUT;
|
|
549
|
+
return _regenerator2.default.wrap(function _callee4$(_context4) {
|
|
550
|
+
while (1) {
|
|
551
|
+
switch (_context4.prev = _context4.next) {
|
|
552
|
+
case 0:
|
|
553
|
+
_context4.next = 2;
|
|
554
|
+
return _promise2.default.race([fetch(url, options), new _promise2.default(function (_, reject) {
|
|
555
|
+
setTimeout(function () {
|
|
556
|
+
reject(new Error('Request timeout for ' + url));
|
|
557
|
+
}, timeout);
|
|
558
|
+
})]);
|
|
559
|
+
|
|
560
|
+
case 2:
|
|
561
|
+
return _context4.abrupt('return', _context4.sent);
|
|
562
|
+
|
|
563
|
+
case 3:
|
|
564
|
+
case 'end':
|
|
565
|
+
return _context4.stop();
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
}, _callee4, undefined);
|
|
569
|
+
}));
|
|
570
|
+
|
|
571
|
+
return function fetchWithTimeout(_x12) {
|
|
572
|
+
return _ref5.apply(this, arguments);
|
|
573
|
+
};
|
|
574
|
+
}();
|
|
575
|
+
|
|
576
|
+
var formatBytes = function formatBytes(bytes) {
|
|
577
|
+
if (!(0, _isFinite2.default)(bytes)) {
|
|
578
|
+
return '0 B';
|
|
579
|
+
}
|
|
580
|
+
if (bytes < 1024) {
|
|
581
|
+
return bytes + ' B';
|
|
582
|
+
}
|
|
583
|
+
var units = ['KB', 'MB', 'GB', 'TB'];
|
|
584
|
+
var size = bytes / 1024;
|
|
585
|
+
var unitIndex = 0;
|
|
586
|
+
while (size >= 1024 && unitIndex < units.length - 1) {
|
|
587
|
+
size /= 1024;
|
|
588
|
+
unitIndex += 1;
|
|
589
|
+
}
|
|
590
|
+
return size.toFixed(1) + ' ' + units[unitIndex];
|
|
591
|
+
};
|
|
592
|
+
|
|
593
|
+
var renderDownloadProgress = function renderDownloadProgress(downloaded, total) {
|
|
594
|
+
if (!process.stdout.isTTY) {
|
|
595
|
+
return;
|
|
596
|
+
}
|
|
597
|
+
if (!total) {
|
|
598
|
+
process.stdout.write('\rDownloading ' + formatBytes(downloaded));
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
var width = 24;
|
|
603
|
+
var percent = Math.min(downloaded / total, 1);
|
|
604
|
+
var filled = Math.round(width * percent);
|
|
605
|
+
var bar = '' + '='.repeat(filled) + ' '.repeat(width - filled);
|
|
606
|
+
process.stdout.write('\rDownloading [' + bar + '] ' + (percent * 100).toFixed(1) + '% (' + formatBytes(downloaded) + '/' + formatBytes(total) + ')');
|
|
607
|
+
};
|
|
608
|
+
|
|
609
|
+
var finalizeDownloadProgress = function finalizeDownloadProgress() {
|
|
610
|
+
if (process.stdout.isTTY) {
|
|
611
|
+
process.stdout.write('\n');
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
var downloadFile = function () {
|
|
616
|
+
var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(url, destination) {
|
|
617
|
+
var res, tempPath, buffer;
|
|
618
|
+
return _regenerator2.default.wrap(function _callee5$(_context5) {
|
|
619
|
+
while (1) {
|
|
620
|
+
switch (_context5.prev = _context5.next) {
|
|
621
|
+
case 0:
|
|
622
|
+
_context5.next = 2;
|
|
623
|
+
return fetch(url);
|
|
624
|
+
|
|
625
|
+
case 2:
|
|
626
|
+
res = _context5.sent;
|
|
627
|
+
|
|
628
|
+
if (res.ok) {
|
|
629
|
+
_context5.next = 5;
|
|
630
|
+
break;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
throw new Error('Failed to download ' + url + ': ' + res.status + ' ' + res.statusText);
|
|
634
|
+
|
|
635
|
+
case 5:
|
|
636
|
+
tempPath = destination + '.download';
|
|
637
|
+
_context5.next = 8;
|
|
638
|
+
return _fs2.default.promises.mkdir(_path2.default.dirname(destination), { recursive: true });
|
|
639
|
+
|
|
640
|
+
case 8:
|
|
641
|
+
_context5.prev = 8;
|
|
642
|
+
_context5.next = 11;
|
|
643
|
+
return res.buffer();
|
|
644
|
+
|
|
645
|
+
case 11:
|
|
646
|
+
buffer = _context5.sent;
|
|
647
|
+
|
|
648
|
+
renderDownloadProgress(buffer.length, buffer.length);
|
|
649
|
+
_context5.next = 15;
|
|
650
|
+
return _fs2.default.promises.writeFile(tempPath, buffer);
|
|
651
|
+
|
|
652
|
+
case 15:
|
|
653
|
+
finalizeDownloadProgress();
|
|
654
|
+
_context5.next = 18;
|
|
655
|
+
return _fs2.default.promises.rename(tempPath, destination);
|
|
656
|
+
|
|
657
|
+
case 18:
|
|
658
|
+
_context5.next = 26;
|
|
659
|
+
break;
|
|
660
|
+
|
|
661
|
+
case 20:
|
|
662
|
+
_context5.prev = 20;
|
|
663
|
+
_context5.t0 = _context5['catch'](8);
|
|
664
|
+
|
|
665
|
+
finalizeDownloadProgress();
|
|
666
|
+
_context5.next = 25;
|
|
667
|
+
return _fs2.default.promises.rm(tempPath, { force: true }).catch(function () {
|
|
668
|
+
return undefined;
|
|
669
|
+
});
|
|
670
|
+
|
|
671
|
+
case 25:
|
|
672
|
+
throw _context5.t0;
|
|
673
|
+
|
|
674
|
+
case 26:
|
|
675
|
+
case 'end':
|
|
676
|
+
return _context5.stop();
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}, _callee5, undefined, [[8, 20]]);
|
|
680
|
+
}));
|
|
681
|
+
|
|
682
|
+
return function downloadFile(_x13, _x14) {
|
|
683
|
+
return _ref6.apply(this, arguments);
|
|
684
|
+
};
|
|
685
|
+
}();
|
|
686
|
+
|
|
687
|
+
var sha256File = function () {
|
|
688
|
+
var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(filePath) {
|
|
689
|
+
var hash, stream;
|
|
690
|
+
return _regenerator2.default.wrap(function _callee6$(_context6) {
|
|
691
|
+
while (1) {
|
|
692
|
+
switch (_context6.prev = _context6.next) {
|
|
693
|
+
case 0:
|
|
694
|
+
hash = (0, _crypto.createHash)('sha256');
|
|
695
|
+
stream = _fs2.default.createReadStream(filePath);
|
|
696
|
+
_context6.next = 4;
|
|
697
|
+
return new _promise2.default(function (resolve, reject) {
|
|
698
|
+
stream.on('error', reject);
|
|
699
|
+
stream.on('data', function (chunk) {
|
|
700
|
+
return hash.update(chunk);
|
|
701
|
+
});
|
|
702
|
+
stream.on('end', resolve);
|
|
703
|
+
});
|
|
704
|
+
|
|
705
|
+
case 4:
|
|
706
|
+
return _context6.abrupt('return', hash.digest('hex'));
|
|
707
|
+
|
|
708
|
+
case 5:
|
|
709
|
+
case 'end':
|
|
710
|
+
return _context6.stop();
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
}, _callee6, undefined);
|
|
714
|
+
}));
|
|
715
|
+
|
|
716
|
+
return function sha256File(_x15) {
|
|
717
|
+
return _ref7.apply(this, arguments);
|
|
718
|
+
};
|
|
719
|
+
}();
|
|
720
|
+
|
|
721
|
+
var tryReplaceFile = function () {
|
|
722
|
+
var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(sourcePath, targetPath) {
|
|
723
|
+
return _regenerator2.default.wrap(function _callee7$(_context7) {
|
|
724
|
+
while (1) {
|
|
725
|
+
switch (_context7.prev = _context7.next) {
|
|
726
|
+
case 0:
|
|
727
|
+
_context7.prev = 0;
|
|
728
|
+
_context7.next = 3;
|
|
729
|
+
return _fs2.default.promises.rename(sourcePath, targetPath);
|
|
730
|
+
|
|
731
|
+
case 3:
|
|
732
|
+
return _context7.abrupt('return');
|
|
733
|
+
|
|
734
|
+
case 6:
|
|
735
|
+
_context7.prev = 6;
|
|
736
|
+
_context7.t0 = _context7['catch'](0);
|
|
737
|
+
|
|
738
|
+
if (!(_context7.t0.code !== 'EEXIST')) {
|
|
739
|
+
_context7.next = 10;
|
|
740
|
+
break;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
throw _context7.t0;
|
|
744
|
+
|
|
745
|
+
case 10:
|
|
746
|
+
_context7.prev = 10;
|
|
747
|
+
_context7.next = 13;
|
|
748
|
+
return _fs2.default.promises.rm(targetPath, { force: true });
|
|
749
|
+
|
|
750
|
+
case 13:
|
|
751
|
+
_context7.next = 19;
|
|
752
|
+
break;
|
|
753
|
+
|
|
754
|
+
case 15:
|
|
755
|
+
_context7.prev = 15;
|
|
756
|
+
_context7.t1 = _context7['catch'](10);
|
|
757
|
+
|
|
758
|
+
if (['EBUSY', 'EPERM', 'ENOENT'].includes(_context7.t1.code)) {
|
|
759
|
+
_context7.next = 19;
|
|
760
|
+
break;
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
throw _context7.t1;
|
|
764
|
+
|
|
765
|
+
case 19:
|
|
766
|
+
_context7.next = 21;
|
|
767
|
+
return _fs2.default.promises.rename(sourcePath, targetPath);
|
|
768
|
+
|
|
769
|
+
case 21:
|
|
770
|
+
case 'end':
|
|
771
|
+
return _context7.stop();
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
}, _callee7, undefined, [[0, 6], [10, 15]]);
|
|
775
|
+
}));
|
|
776
|
+
|
|
777
|
+
return function tryReplaceFile(_x16, _x17) {
|
|
778
|
+
return _ref8.apply(this, arguments);
|
|
779
|
+
};
|
|
780
|
+
}();
|
|
781
|
+
|
|
782
|
+
var moveExtractedBinary = function () {
|
|
783
|
+
var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(extractedPath, outputDir, entry) {
|
|
784
|
+
var targetPath, entryDir, entryName, tempName, tempEntry, tempPath;
|
|
785
|
+
return _regenerator2.default.wrap(function _callee8$(_context8) {
|
|
786
|
+
while (1) {
|
|
787
|
+
switch (_context8.prev = _context8.next) {
|
|
788
|
+
case 0:
|
|
789
|
+
targetPath = _path2.default.join(outputDir, entry);
|
|
790
|
+
_context8.next = 3;
|
|
791
|
+
return _fs2.default.promises.mkdir(_path2.default.dirname(targetPath), { recursive: true });
|
|
792
|
+
|
|
793
|
+
case 3:
|
|
794
|
+
_context8.prev = 3;
|
|
795
|
+
_context8.next = 6;
|
|
796
|
+
return tryReplaceFile(extractedPath, targetPath);
|
|
797
|
+
|
|
798
|
+
case 6:
|
|
799
|
+
return _context8.abrupt('return', { entryPath: targetPath, entryRelative: entry });
|
|
800
|
+
|
|
801
|
+
case 9:
|
|
802
|
+
_context8.prev = 9;
|
|
803
|
+
_context8.t0 = _context8['catch'](3);
|
|
804
|
+
|
|
805
|
+
if (['EBUSY', 'EPERM'].includes(_context8.t0.code)) {
|
|
806
|
+
_context8.next = 13;
|
|
807
|
+
break;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
throw _context8.t0;
|
|
811
|
+
|
|
812
|
+
case 13:
|
|
813
|
+
entryDir = _path2.default.dirname(entry);
|
|
814
|
+
entryName = _path2.default.basename(entry);
|
|
815
|
+
tempName = entryName + '.tmp-' + Date.now() + '-' + Math.random().toString(16).slice(2, 8);
|
|
816
|
+
tempEntry = _path2.default.join(entryDir === '.' ? '' : entryDir, tempName);
|
|
817
|
+
tempPath = _path2.default.join(outputDir, tempEntry);
|
|
818
|
+
_context8.next = 20;
|
|
819
|
+
return _fs2.default.promises.mkdir(_path2.default.dirname(tempPath), { recursive: true });
|
|
820
|
+
|
|
821
|
+
case 20:
|
|
822
|
+
_context8.next = 22;
|
|
823
|
+
return _fs2.default.promises.rename(extractedPath, tempPath);
|
|
824
|
+
|
|
825
|
+
case 22:
|
|
826
|
+
return _context8.abrupt('return', { entryPath: tempPath, entryRelative: entry, tempEntry: tempEntry });
|
|
827
|
+
|
|
828
|
+
case 23:
|
|
829
|
+
case 'end':
|
|
830
|
+
return _context8.stop();
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
}, _callee8, undefined, [[3, 9]]);
|
|
834
|
+
}));
|
|
835
|
+
|
|
836
|
+
return function moveExtractedBinary(_x18, _x19, _x20) {
|
|
837
|
+
return _ref9.apply(this, arguments);
|
|
838
|
+
};
|
|
839
|
+
}();
|
|
840
|
+
|
|
841
|
+
var extractZip = function () {
|
|
842
|
+
var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(archivePath, outputDir, entry) {
|
|
843
|
+
var tempDir, extractedPath;
|
|
844
|
+
return _regenerator2.default.wrap(function _callee9$(_context9) {
|
|
845
|
+
while (1) {
|
|
846
|
+
switch (_context9.prev = _context9.next) {
|
|
847
|
+
case 0:
|
|
848
|
+
tempDir = _path2.default.join(outputDir, '.tmp-' + Date.now() + '-' + Math.random().toString(16).slice(2));
|
|
849
|
+
_context9.next = 3;
|
|
850
|
+
return _fs2.default.promises.mkdir(tempDir, { recursive: true });
|
|
851
|
+
|
|
852
|
+
case 3:
|
|
853
|
+
_context9.prev = 3;
|
|
854
|
+
_context9.next = 6;
|
|
855
|
+
return (0, _decompress2.default)(archivePath, tempDir);
|
|
856
|
+
|
|
857
|
+
case 6:
|
|
858
|
+
extractedPath = _path2.default.join(tempDir, entry);
|
|
859
|
+
|
|
860
|
+
if (_fs2.default.existsSync(extractedPath)) {
|
|
861
|
+
_context9.next = 9;
|
|
862
|
+
break;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
throw new Error('Expected entry ' + entry + ' was not found after extraction.');
|
|
866
|
+
|
|
867
|
+
case 9:
|
|
868
|
+
_context9.next = 11;
|
|
869
|
+
return moveExtractedBinary(extractedPath, outputDir, entry);
|
|
870
|
+
|
|
871
|
+
case 11:
|
|
872
|
+
return _context9.abrupt('return', _context9.sent);
|
|
873
|
+
|
|
874
|
+
case 12:
|
|
875
|
+
_context9.prev = 12;
|
|
876
|
+
_context9.next = 15;
|
|
877
|
+
return _fs2.default.promises.rm(tempDir, { recursive: true, force: true }).catch(function () {
|
|
878
|
+
return undefined;
|
|
879
|
+
});
|
|
880
|
+
|
|
881
|
+
case 15:
|
|
882
|
+
return _context9.finish(12);
|
|
883
|
+
|
|
884
|
+
case 16:
|
|
885
|
+
case 'end':
|
|
886
|
+
return _context9.stop();
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
}, _callee9, undefined, [[3,, 12, 16]]);
|
|
890
|
+
}));
|
|
891
|
+
|
|
892
|
+
return function extractZip(_x21, _x22, _x23) {
|
|
893
|
+
return _ref10.apply(this, arguments);
|
|
894
|
+
};
|
|
895
|
+
}();
|
|
896
|
+
|
|
897
|
+
var ensureProjectEnv = function ensureProjectEnv() {
|
|
898
|
+
if (process.env.CI_PROJECT_NAME && process.env.CI_PROJECT_ID) {
|
|
899
|
+
return {
|
|
900
|
+
CI_PROJECT_NAME: process.env.CI_PROJECT_NAME,
|
|
901
|
+
CI_PROJECT_ID: process.env.CI_PROJECT_ID
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
var projectRoot = process.cwd();
|
|
906
|
+
var baseDir = _path2.default.join(_os2.default.homedir(), '.cln-plus', 'projects');
|
|
907
|
+
var indexPath = _path2.default.join(baseDir, 'index.json');
|
|
908
|
+
var legacyEnvPath = _path2.default.join(projectRoot, '.cln-plus', 'ci-project.json');
|
|
909
|
+
var projectKey = (0, _crypto.createHash)('sha256').update(projectRoot).digest('hex').slice(0, 12);
|
|
910
|
+
var projectDir = _path2.default.join(baseDir, projectKey);
|
|
911
|
+
var envPath = _path2.default.join(projectDir, 'ci-project.json');
|
|
912
|
+
var projectId = null;
|
|
913
|
+
var indexData = {};
|
|
914
|
+
|
|
915
|
+
if (_fs2.default.existsSync(indexPath)) {
|
|
916
|
+
try {
|
|
917
|
+
indexData = JSON.parse(_fs2.default.readFileSync(indexPath, 'utf-8'));
|
|
918
|
+
} catch (error) {
|
|
919
|
+
indexData = {};
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
var indexed = indexData[projectRoot];
|
|
924
|
+
if (indexed && indexed.dir) {
|
|
925
|
+
projectDir = indexed.dir;
|
|
926
|
+
envPath = _path2.default.join(projectDir, 'ci-project.json');
|
|
927
|
+
}
|
|
928
|
+
if (indexed && indexed.id && /^\d{3}$/.test(indexed.id)) {
|
|
929
|
+
projectId = indexed.id;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
var readProjectId = function readProjectId(filePath) {
|
|
933
|
+
try {
|
|
934
|
+
var parsed = JSON.parse(_fs2.default.readFileSync(filePath, 'utf-8'));
|
|
935
|
+
if (parsed.id && /^\d{3}$/.test(parsed.id)) {
|
|
936
|
+
return parsed.id;
|
|
937
|
+
}
|
|
938
|
+
} catch (error) {}
|
|
939
|
+
return null;
|
|
940
|
+
};
|
|
941
|
+
|
|
942
|
+
if (!projectId && _fs2.default.existsSync(envPath)) {
|
|
943
|
+
projectId = readProjectId(envPath);
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
if (!projectId && _fs2.default.existsSync(legacyEnvPath)) {
|
|
947
|
+
projectId = readProjectId(legacyEnvPath);
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
if (!projectId) {
|
|
951
|
+
projectId = String(Math.floor(100 + Math.random() * 900));
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
_fs2.default.mkdirSync(projectDir, { recursive: true });
|
|
955
|
+
if (!_fs2.default.existsSync(envPath)) {
|
|
956
|
+
_fs2.default.writeFileSync(envPath, (0, _stringify2.default)({ id: projectId }, null, 2));
|
|
957
|
+
}
|
|
958
|
+
_fs2.default.writeFileSync(_path2.default.join(projectDir, 'project.json'), (0, _stringify2.default)({ root: projectRoot }, null, 2));
|
|
959
|
+
|
|
960
|
+
indexData[projectRoot] = { id: projectId, dir: projectDir };
|
|
961
|
+
_fs2.default.mkdirSync(baseDir, { recursive: true });
|
|
962
|
+
_fs2.default.writeFileSync(indexPath, (0, _stringify2.default)(indexData, null, 2));
|
|
963
|
+
|
|
964
|
+
return {
|
|
965
|
+
CI_PROJECT_NAME: 'cln-local',
|
|
966
|
+
CI_PROJECT_ID: projectId
|
|
967
|
+
};
|
|
968
|
+
};
|
|
969
|
+
|
|
970
|
+
var createProjectEnv = function createProjectEnv() {
|
|
971
|
+
return (0, _extends3.default)({}, process.env, ensureProjectEnv());
|
|
972
|
+
};
|
|
973
|
+
|
|
974
|
+
var getClnCiRootDir = function getClnCiRootDir() {
|
|
975
|
+
return _path2.default.join(process.cwd(), '.cln-ci');
|
|
976
|
+
};
|
|
977
|
+
|
|
978
|
+
var getClnCiBinRootDir = function getClnCiBinRootDir() {
|
|
979
|
+
return _path2.default.join(getClnCiRootDir(), 'bin');
|
|
980
|
+
};
|
|
981
|
+
|
|
982
|
+
var getClnCiCacheDir = function getClnCiCacheDir(platformId) {
|
|
983
|
+
return _path2.default.join(getClnCiBinRootDir(), platformId);
|
|
984
|
+
};
|
|
985
|
+
|
|
986
|
+
var ensureClnCiDir = function () {
|
|
987
|
+
var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(dirPath) {
|
|
988
|
+
return _regenerator2.default.wrap(function _callee10$(_context10) {
|
|
989
|
+
while (1) {
|
|
990
|
+
switch (_context10.prev = _context10.next) {
|
|
991
|
+
case 0:
|
|
992
|
+
_context10.next = 2;
|
|
993
|
+
return _fs2.default.promises.mkdir(dirPath, { recursive: true });
|
|
994
|
+
|
|
995
|
+
case 2:
|
|
996
|
+
case 'end':
|
|
997
|
+
return _context10.stop();
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
}, _callee10, undefined);
|
|
1001
|
+
}));
|
|
1002
|
+
|
|
1003
|
+
return function ensureClnCiDir(_x24) {
|
|
1004
|
+
return _ref11.apply(this, arguments);
|
|
1005
|
+
};
|
|
1006
|
+
}();
|
|
1007
|
+
|
|
1008
|
+
var removeDirIfEmpty = function () {
|
|
1009
|
+
var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(dirPath) {
|
|
1010
|
+
var entries;
|
|
1011
|
+
return _regenerator2.default.wrap(function _callee11$(_context11) {
|
|
1012
|
+
while (1) {
|
|
1013
|
+
switch (_context11.prev = _context11.next) {
|
|
1014
|
+
case 0:
|
|
1015
|
+
_context11.prev = 0;
|
|
1016
|
+
_context11.next = 3;
|
|
1017
|
+
return _fs2.default.promises.readdir(dirPath);
|
|
1018
|
+
|
|
1019
|
+
case 3:
|
|
1020
|
+
entries = _context11.sent;
|
|
1021
|
+
|
|
1022
|
+
if (!(entries.length === 0)) {
|
|
1023
|
+
_context11.next = 7;
|
|
1024
|
+
break;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
_context11.next = 7;
|
|
1028
|
+
return _fs2.default.promises.rmdir(dirPath);
|
|
1029
|
+
|
|
1030
|
+
case 7:
|
|
1031
|
+
_context11.next = 11;
|
|
1032
|
+
break;
|
|
1033
|
+
|
|
1034
|
+
case 9:
|
|
1035
|
+
_context11.prev = 9;
|
|
1036
|
+
_context11.t0 = _context11['catch'](0);
|
|
1037
|
+
|
|
1038
|
+
case 11:
|
|
1039
|
+
case 'end':
|
|
1040
|
+
return _context11.stop();
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
}, _callee11, undefined, [[0, 9]]);
|
|
1044
|
+
}));
|
|
1045
|
+
|
|
1046
|
+
return function removeDirIfEmpty(_x25) {
|
|
1047
|
+
return _ref12.apply(this, arguments);
|
|
1048
|
+
};
|
|
1049
|
+
}();
|
|
1050
|
+
|
|
1051
|
+
var readMetadata = function readMetadata(metadataPath) {
|
|
1052
|
+
if (!_fs2.default.existsSync(metadataPath)) {
|
|
1053
|
+
return null;
|
|
1054
|
+
}
|
|
1055
|
+
try {
|
|
1056
|
+
return JSON.parse(_fs2.default.readFileSync(metadataPath, 'utf-8'));
|
|
1057
|
+
} catch (error) {
|
|
1058
|
+
return null;
|
|
1059
|
+
}
|
|
1060
|
+
};
|
|
1061
|
+
|
|
1062
|
+
var writeMetadata = function () {
|
|
1063
|
+
var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(metadataPath, metadata) {
|
|
1064
|
+
return _regenerator2.default.wrap(function _callee12$(_context12) {
|
|
1065
|
+
while (1) {
|
|
1066
|
+
switch (_context12.prev = _context12.next) {
|
|
1067
|
+
case 0:
|
|
1068
|
+
_context12.next = 2;
|
|
1069
|
+
return _fs2.default.promises.mkdir(_path2.default.dirname(metadataPath), { recursive: true });
|
|
1070
|
+
|
|
1071
|
+
case 2:
|
|
1072
|
+
_context12.next = 4;
|
|
1073
|
+
return _fs2.default.promises.writeFile(metadataPath, (0, _stringify2.default)(metadata, null, 2));
|
|
1074
|
+
|
|
1075
|
+
case 4:
|
|
1076
|
+
case 'end':
|
|
1077
|
+
return _context12.stop();
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}, _callee12, undefined);
|
|
1081
|
+
}));
|
|
1082
|
+
|
|
1083
|
+
return function writeMetadata(_x26, _x27) {
|
|
1084
|
+
return _ref13.apply(this, arguments);
|
|
1085
|
+
};
|
|
1086
|
+
}();
|
|
1087
|
+
|
|
1088
|
+
var isClnCiReachable = function () {
|
|
1089
|
+
var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13() {
|
|
1090
|
+
var res;
|
|
1091
|
+
return _regenerator2.default.wrap(function _callee13$(_context13) {
|
|
1092
|
+
while (1) {
|
|
1093
|
+
switch (_context13.prev = _context13.next) {
|
|
1094
|
+
case 0:
|
|
1095
|
+
_context13.prev = 0;
|
|
1096
|
+
_context13.next = 3;
|
|
1097
|
+
return fetchWithTimeout(CLN_CI_INDEX_URL, {
|
|
1098
|
+
headers: { accept: 'application/json' }
|
|
1099
|
+
});
|
|
1100
|
+
|
|
1101
|
+
case 3:
|
|
1102
|
+
res = _context13.sent;
|
|
1103
|
+
return _context13.abrupt('return', !!(res && res.ok));
|
|
1104
|
+
|
|
1105
|
+
case 7:
|
|
1106
|
+
_context13.prev = 7;
|
|
1107
|
+
_context13.t0 = _context13['catch'](0);
|
|
1108
|
+
return _context13.abrupt('return', false);
|
|
1109
|
+
|
|
1110
|
+
case 10:
|
|
1111
|
+
case 'end':
|
|
1112
|
+
return _context13.stop();
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
}, _callee13, undefined, [[0, 7]]);
|
|
1116
|
+
}));
|
|
1117
|
+
|
|
1118
|
+
return function isClnCiReachable() {
|
|
1119
|
+
return _ref14.apply(this, arguments);
|
|
1120
|
+
};
|
|
1121
|
+
}();
|
|
1122
|
+
|
|
1123
|
+
var resolvePlatformId = function resolvePlatformId(platformInfo) {
|
|
1124
|
+
return platformInfo.platform || platformInfo.os + '-' + platformInfo.arch;
|
|
1125
|
+
};
|
|
1126
|
+
|
|
1127
|
+
var ensureClnCiPlatformBinary = function () {
|
|
1128
|
+
var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(platformInfo) {
|
|
1129
|
+
var online = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1130
|
+
|
|
1131
|
+
var platformId, cacheDir, _metadataPath, _cached, _targetBinaryPath, _fallbackBinaryPath, manifest, file, metadataPath, cached, targetBinaryPath, fallbackBinaryPath, archiveName, archivePath, isCacheValid, binaryPath, actualSha, extracted;
|
|
1132
|
+
|
|
1133
|
+
return _regenerator2.default.wrap(function _callee14$(_context14) {
|
|
1134
|
+
while (1) {
|
|
1135
|
+
switch (_context14.prev = _context14.next) {
|
|
1136
|
+
case 0:
|
|
1137
|
+
platformId = resolvePlatformId(platformInfo);
|
|
1138
|
+
cacheDir = getClnCiCacheDir(platformId);
|
|
1139
|
+
_context14.next = 4;
|
|
1140
|
+
return ensureClnCiDir(cacheDir);
|
|
1141
|
+
|
|
1142
|
+
case 4:
|
|
1143
|
+
if (online) {
|
|
1144
|
+
_context14.next = 14;
|
|
1145
|
+
break;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
_metadataPath = _path2.default.join(cacheDir, 'metadata.json');
|
|
1149
|
+
_cached = readMetadata(_metadataPath);
|
|
1150
|
+
_targetBinaryPath = _cached && _cached.entry ? _path2.default.join(cacheDir, _cached.entry) : null;
|
|
1151
|
+
_fallbackBinaryPath = _cached && _cached.tempEntry ? _path2.default.join(cacheDir, _cached.tempEntry) : null;
|
|
1152
|
+
|
|
1153
|
+
if (!(_targetBinaryPath && _fs2.default.existsSync(_targetBinaryPath))) {
|
|
1154
|
+
_context14.next = 11;
|
|
1155
|
+
break;
|
|
1156
|
+
}
|
|
1157
|
+
|
|
1158
|
+
return _context14.abrupt('return', {
|
|
1159
|
+
binaryPath: _targetBinaryPath,
|
|
1160
|
+
version: _cached.version,
|
|
1161
|
+
platformId: platformId
|
|
1162
|
+
});
|
|
1163
|
+
|
|
1164
|
+
case 11:
|
|
1165
|
+
if (!(_fallbackBinaryPath && _fs2.default.existsSync(_fallbackBinaryPath))) {
|
|
1166
|
+
_context14.next = 13;
|
|
1167
|
+
break;
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
return _context14.abrupt('return', {
|
|
1171
|
+
binaryPath: _fallbackBinaryPath,
|
|
1172
|
+
version: _cached.version,
|
|
1173
|
+
platformId: platformId
|
|
1174
|
+
});
|
|
1175
|
+
|
|
1176
|
+
case 13:
|
|
1177
|
+
throw new Error('Local cln-ci binary not found for ' + platformId + ' in ' + cacheDir);
|
|
1178
|
+
|
|
1179
|
+
case 14:
|
|
1180
|
+
_context14.next = 16;
|
|
1181
|
+
return fetchJson(resolveDownloadUrl(platformInfo.manifest));
|
|
1182
|
+
|
|
1183
|
+
case 16:
|
|
1184
|
+
manifest = _context14.sent;
|
|
1185
|
+
file = manifest.files && manifest.files[0];
|
|
1186
|
+
|
|
1187
|
+
if (!(!file || !file.pack || file.pack.format !== 'zip')) {
|
|
1188
|
+
_context14.next = 20;
|
|
1189
|
+
break;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
throw new Error('Unsupported cln-ci package format: ' + (file && file.pack ? file.pack.format : 'unknown'));
|
|
1193
|
+
|
|
1194
|
+
case 20:
|
|
1195
|
+
metadataPath = _path2.default.join(cacheDir, 'metadata.json');
|
|
1196
|
+
cached = readMetadata(metadataPath);
|
|
1197
|
+
targetBinaryPath = _path2.default.join(cacheDir, file.pack.entry);
|
|
1198
|
+
fallbackBinaryPath = cached && cached.tempEntry ? _path2.default.join(cacheDir, cached.tempEntry) : null;
|
|
1199
|
+
archiveName = _path2.default.basename(file.url);
|
|
1200
|
+
archivePath = _path2.default.join(cacheDir, archiveName);
|
|
1201
|
+
isCacheValid = cached && cached.version === manifest.version && cached.entry === file.pack.entry && cached.sha256 === file.sha256 && (_fs2.default.existsSync(targetBinaryPath) || fallbackBinaryPath && _fs2.default.existsSync(fallbackBinaryPath));
|
|
1202
|
+
binaryPath = targetBinaryPath;
|
|
1203
|
+
|
|
1204
|
+
if (isCacheValid) {
|
|
1205
|
+
_context14.next = 49;
|
|
1206
|
+
break;
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
_context14.next = 31;
|
|
1210
|
+
return downloadFile(resolveDownloadUrl(file.url), archivePath);
|
|
1211
|
+
|
|
1212
|
+
case 31:
|
|
1213
|
+
_context14.next = 33;
|
|
1214
|
+
return sha256File(archivePath);
|
|
1215
|
+
|
|
1216
|
+
case 33:
|
|
1217
|
+
actualSha = _context14.sent;
|
|
1218
|
+
|
|
1219
|
+
if (!(actualSha !== file.sha256)) {
|
|
1220
|
+
_context14.next = 38;
|
|
1221
|
+
break;
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
_context14.next = 37;
|
|
1225
|
+
return _fs2.default.promises.rm(archivePath, { force: true }).catch(function () {
|
|
1226
|
+
return undefined;
|
|
1227
|
+
});
|
|
1228
|
+
|
|
1229
|
+
case 37:
|
|
1230
|
+
throw new Error('Downloaded cln-ci package failed sha256 verification.');
|
|
1231
|
+
|
|
1232
|
+
case 38:
|
|
1233
|
+
_context14.next = 40;
|
|
1234
|
+
return extractZip(archivePath, cacheDir, file.pack.entry);
|
|
1235
|
+
|
|
1236
|
+
case 40:
|
|
1237
|
+
extracted = _context14.sent;
|
|
1238
|
+
|
|
1239
|
+
binaryPath = extracted.entryPath;
|
|
1240
|
+
|
|
1241
|
+
if (!(process.platform !== 'win32')) {
|
|
1242
|
+
_context14.next = 45;
|
|
1243
|
+
break;
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
_context14.next = 45;
|
|
1247
|
+
return _fs2.default.promises.chmod(binaryPath, 493);
|
|
1248
|
+
|
|
1249
|
+
case 45:
|
|
1250
|
+
_context14.next = 47;
|
|
1251
|
+
return writeMetadata(metadataPath, {
|
|
1252
|
+
version: manifest.version,
|
|
1253
|
+
entry: file.pack.entry,
|
|
1254
|
+
tempEntry: extracted.tempEntry,
|
|
1255
|
+
archive: archiveName,
|
|
1256
|
+
sha256: file.sha256
|
|
1257
|
+
});
|
|
1258
|
+
|
|
1259
|
+
case 47:
|
|
1260
|
+
_context14.next = 50;
|
|
1261
|
+
break;
|
|
1262
|
+
|
|
1263
|
+
case 49:
|
|
1264
|
+
if (!_fs2.default.existsSync(targetBinaryPath) && fallbackBinaryPath && _fs2.default.existsSync(fallbackBinaryPath)) {
|
|
1265
|
+
binaryPath = fallbackBinaryPath;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
case 50:
|
|
1269
|
+
if (!_fs2.default.existsSync(targetBinaryPath)) {
|
|
1270
|
+
_context14.next = 55;
|
|
1271
|
+
break;
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
binaryPath = targetBinaryPath;
|
|
1275
|
+
|
|
1276
|
+
if (!(cached && cached.tempEntry)) {
|
|
1277
|
+
_context14.next = 55;
|
|
1278
|
+
break;
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
_context14.next = 55;
|
|
1282
|
+
return _fs2.default.promises.rm(_path2.default.join(cacheDir, cached.tempEntry), { force: true }).catch(function () {
|
|
1283
|
+
return undefined;
|
|
1284
|
+
});
|
|
1285
|
+
|
|
1286
|
+
case 55:
|
|
1287
|
+
return _context14.abrupt('return', { binaryPath: binaryPath, version: manifest.version });
|
|
1288
|
+
|
|
1289
|
+
case 56:
|
|
1290
|
+
case 'end':
|
|
1291
|
+
return _context14.stop();
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
}, _callee14, undefined);
|
|
1295
|
+
}));
|
|
1296
|
+
|
|
1297
|
+
return function ensureClnCiPlatformBinary(_x29) {
|
|
1298
|
+
return _ref15.apply(this, arguments);
|
|
1299
|
+
};
|
|
1300
|
+
}();
|
|
49
1301
|
|
|
50
|
-
var
|
|
1302
|
+
var ensureLocalClnCiBinary = function () {
|
|
1303
|
+
var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() {
|
|
1304
|
+
var platformId;
|
|
1305
|
+
return _regenerator2.default.wrap(function _callee15$(_context15) {
|
|
1306
|
+
while (1) {
|
|
1307
|
+
switch (_context15.prev = _context15.next) {
|
|
1308
|
+
case 0:
|
|
1309
|
+
platformId = resolveCurrentPlatformId();
|
|
1310
|
+
_context15.next = 3;
|
|
1311
|
+
return ensureClnCiPlatformBinary({
|
|
1312
|
+
os: getClnCiPlatform().os,
|
|
1313
|
+
arch: getClnCiPlatform().arch,
|
|
1314
|
+
platform: platformId
|
|
1315
|
+
}, false);
|
|
1316
|
+
|
|
1317
|
+
case 3:
|
|
1318
|
+
return _context15.abrupt('return', _context15.sent);
|
|
1319
|
+
|
|
1320
|
+
case 4:
|
|
1321
|
+
case 'end':
|
|
1322
|
+
return _context15.stop();
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
}, _callee15, undefined);
|
|
1326
|
+
}));
|
|
51
1327
|
|
|
52
|
-
|
|
1328
|
+
return function ensureLocalClnCiBinary() {
|
|
1329
|
+
return _ref16.apply(this, arguments);
|
|
1330
|
+
};
|
|
1331
|
+
}();
|
|
53
1332
|
|
|
54
|
-
var
|
|
1333
|
+
var ensureClnCiBinary = function () {
|
|
1334
|
+
var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17() {
|
|
1335
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1336
|
+
var platformKey, online, currentPlatformId, index, platforms, currentPlatformInfo;
|
|
1337
|
+
return _regenerator2.default.wrap(function _callee17$(_context17) {
|
|
1338
|
+
while (1) {
|
|
1339
|
+
switch (_context17.prev = _context17.next) {
|
|
1340
|
+
case 0:
|
|
1341
|
+
platformKey = getClnCiPlatform();
|
|
1342
|
+
_context17.next = 3;
|
|
1343
|
+
return ensureClnCiDir(getClnCiRootDir());
|
|
55
1344
|
|
|
56
|
-
|
|
1345
|
+
case 3:
|
|
1346
|
+
_context17.next = 5;
|
|
1347
|
+
return ensureClnCiDir(getClnCiBinRootDir());
|
|
57
1348
|
|
|
58
|
-
|
|
1349
|
+
case 5:
|
|
1350
|
+
if (!options.preferLocal) {
|
|
1351
|
+
_context17.next = 14;
|
|
1352
|
+
break;
|
|
1353
|
+
}
|
|
59
1354
|
|
|
60
|
-
|
|
1355
|
+
_context17.prev = 6;
|
|
1356
|
+
_context17.next = 9;
|
|
1357
|
+
return ensureLocalClnCiBinary();
|
|
61
1358
|
|
|
62
|
-
|
|
1359
|
+
case 9:
|
|
1360
|
+
return _context17.abrupt('return', _context17.sent);
|
|
63
1361
|
|
|
64
|
-
|
|
1362
|
+
case 12:
|
|
1363
|
+
_context17.prev = 12;
|
|
1364
|
+
_context17.t0 = _context17['catch'](6);
|
|
65
1365
|
|
|
66
|
-
|
|
1366
|
+
case 14:
|
|
1367
|
+
_context17.next = 16;
|
|
1368
|
+
return isClnCiReachable();
|
|
67
1369
|
|
|
68
|
-
|
|
1370
|
+
case 16:
|
|
1371
|
+
online = _context17.sent;
|
|
1372
|
+
currentPlatformId = platformKey.os + '-' + platformKey.arch;
|
|
69
1373
|
|
|
70
|
-
|
|
1374
|
+
if (online) {
|
|
1375
|
+
_context17.next = 22;
|
|
1376
|
+
break;
|
|
1377
|
+
}
|
|
71
1378
|
|
|
72
|
-
|
|
1379
|
+
_context17.next = 21;
|
|
1380
|
+
return ensureClnCiPlatformBinary({
|
|
1381
|
+
os: platformKey.os,
|
|
1382
|
+
arch: platformKey.arch,
|
|
1383
|
+
platform: currentPlatformId
|
|
1384
|
+
}, false);
|
|
1385
|
+
|
|
1386
|
+
case 21:
|
|
1387
|
+
return _context17.abrupt('return', _context17.sent);
|
|
1388
|
+
|
|
1389
|
+
case 22:
|
|
1390
|
+
_context17.next = 24;
|
|
1391
|
+
return fetchJson(CLN_CI_INDEX_URL);
|
|
1392
|
+
|
|
1393
|
+
case 24:
|
|
1394
|
+
index = _context17.sent;
|
|
1395
|
+
platforms = index.platforms || [];
|
|
1396
|
+
currentPlatformInfo = platforms.find(function (entry) {
|
|
1397
|
+
return entry.os === platformKey.os && entry.arch === platformKey.arch;
|
|
1398
|
+
});
|
|
73
1399
|
|
|
74
|
-
|
|
1400
|
+
if (currentPlatformInfo) {
|
|
1401
|
+
_context17.next = 29;
|
|
1402
|
+
break;
|
|
1403
|
+
}
|
|
75
1404
|
|
|
76
|
-
|
|
1405
|
+
throw new Error('No cln-ci build for ' + platformKey.os + '/' + platformKey.arch);
|
|
77
1406
|
|
|
78
|
-
|
|
1407
|
+
case 29:
|
|
1408
|
+
_context17.next = 31;
|
|
1409
|
+
return _promise2.default.all(platforms.map(function () {
|
|
1410
|
+
var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(entry) {
|
|
1411
|
+
return _regenerator2.default.wrap(function _callee16$(_context16) {
|
|
1412
|
+
while (1) {
|
|
1413
|
+
switch (_context16.prev = _context16.next) {
|
|
1414
|
+
case 0:
|
|
1415
|
+
_context16.prev = 0;
|
|
1416
|
+
_context16.next = 3;
|
|
1417
|
+
return ensureClnCiPlatformBinary(entry, true);
|
|
79
1418
|
|
|
80
|
-
|
|
1419
|
+
case 3:
|
|
1420
|
+
_context16.next = 12;
|
|
1421
|
+
break;
|
|
81
1422
|
|
|
82
|
-
|
|
1423
|
+
case 5:
|
|
1424
|
+
_context16.prev = 5;
|
|
1425
|
+
_context16.t0 = _context16['catch'](0);
|
|
83
1426
|
|
|
84
|
-
|
|
1427
|
+
if (!(resolvePlatformId(entry) === resolvePlatformId(currentPlatformInfo))) {
|
|
1428
|
+
_context16.next = 9;
|
|
1429
|
+
break;
|
|
1430
|
+
}
|
|
85
1431
|
|
|
86
|
-
|
|
1432
|
+
throw _context16.t0;
|
|
87
1433
|
|
|
88
|
-
|
|
1434
|
+
case 9:
|
|
1435
|
+
_context16.next = 11;
|
|
1436
|
+
return removeDirIfEmpty(getClnCiCacheDir(resolvePlatformId(entry)));
|
|
89
1437
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
spawn = _require.spawn;
|
|
1438
|
+
case 11:
|
|
1439
|
+
_consola2.default.warn('Skip syncing optional cln-ci platform ' + resolvePlatformId(entry) + ': ' + (_context16.t0 && _context16.t0.message ? _context16.t0.message : _context16.t0));
|
|
93
1440
|
|
|
94
|
-
|
|
95
|
-
|
|
1441
|
+
case 12:
|
|
1442
|
+
case 'end':
|
|
1443
|
+
return _context16.stop();
|
|
1444
|
+
}
|
|
1445
|
+
}
|
|
1446
|
+
}, _callee16, undefined, [[0, 5]]);
|
|
1447
|
+
}));
|
|
96
1448
|
|
|
97
|
-
|
|
1449
|
+
return function (_x31) {
|
|
1450
|
+
return _ref18.apply(this, arguments);
|
|
1451
|
+
};
|
|
1452
|
+
}()));
|
|
98
1453
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
};
|
|
1454
|
+
case 31:
|
|
1455
|
+
_context17.next = 33;
|
|
1456
|
+
return ensureClnCiPlatformBinary(currentPlatformInfo, true);
|
|
103
1457
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// persistent: true,
|
|
107
|
-
// usePolling: true,
|
|
108
|
-
// });
|
|
109
|
-
//
|
|
110
|
-
// watcher.on('change', callback);
|
|
111
|
-
// };
|
|
1458
|
+
case 33:
|
|
1459
|
+
return _context17.abrupt('return', _context17.sent);
|
|
112
1460
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
1461
|
+
case 34:
|
|
1462
|
+
case 'end':
|
|
1463
|
+
return _context17.stop();
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
}, _callee17, undefined, [[6, 12]]);
|
|
1467
|
+
}));
|
|
116
1468
|
|
|
117
|
-
|
|
1469
|
+
return function ensureClnCiBinary() {
|
|
1470
|
+
return _ref17.apply(this, arguments);
|
|
1471
|
+
};
|
|
1472
|
+
}();
|
|
118
1473
|
|
|
119
|
-
|
|
1474
|
+
var spawnClnCiBinary = function () {
|
|
1475
|
+
var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(binaryPath, args) {
|
|
1476
|
+
return _regenerator2.default.wrap(function _callee18$(_context18) {
|
|
120
1477
|
while (1) {
|
|
121
|
-
switch (
|
|
1478
|
+
switch (_context18.prev = _context18.next) {
|
|
122
1479
|
case 0:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
1480
|
+
_context18.next = 2;
|
|
1481
|
+
return new _promise2.default(function (resolve, reject) {
|
|
1482
|
+
var child = spawn(binaryPath, args, {
|
|
1483
|
+
stdio: 'inherit',
|
|
1484
|
+
env: createProjectEnv()
|
|
1485
|
+
});
|
|
129
1486
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
1487
|
+
child.on('error', reject);
|
|
1488
|
+
child.on('close', function (code, signal) {
|
|
1489
|
+
if (signal) {
|
|
1490
|
+
resolve(1);
|
|
1491
|
+
return;
|
|
1492
|
+
}
|
|
1493
|
+
resolve(code || 0);
|
|
1494
|
+
});
|
|
1495
|
+
});
|
|
134
1496
|
|
|
135
|
-
|
|
1497
|
+
case 2:
|
|
1498
|
+
return _context18.abrupt('return', _context18.sent);
|
|
136
1499
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
1500
|
+
case 3:
|
|
1501
|
+
case 'end':
|
|
1502
|
+
return _context18.stop();
|
|
1503
|
+
}
|
|
1504
|
+
}
|
|
1505
|
+
}, _callee18, undefined);
|
|
1506
|
+
}));
|
|
142
1507
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return (0, _inclusive2.default)({
|
|
148
|
-
apps: apps,
|
|
149
|
-
enabledAll: enabledAll,
|
|
150
|
-
ykServerEnv: ykServerEnv,
|
|
151
|
-
pkg: _package2.default,
|
|
152
|
-
dkyModeDef: dkyModeDef
|
|
153
|
-
});
|
|
1508
|
+
return function spawnClnCiBinary(_x32, _x33) {
|
|
1509
|
+
return _ref19.apply(this, arguments);
|
|
1510
|
+
};
|
|
1511
|
+
}();
|
|
154
1512
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
conf = _ref2.conf;
|
|
1513
|
+
var parseClnCiArgs = function parseClnCiArgs() {
|
|
1514
|
+
var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
158
1515
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
1516
|
+
var passThroughArgs = [];
|
|
1517
|
+
var preferLocal = false;
|
|
163
1518
|
|
|
164
|
-
|
|
165
|
-
|
|
1519
|
+
args.forEach(function (arg) {
|
|
1520
|
+
if (arg === '--local-bin') {
|
|
1521
|
+
preferLocal = true;
|
|
1522
|
+
return;
|
|
1523
|
+
}
|
|
1524
|
+
passThroughArgs.push(arg);
|
|
1525
|
+
});
|
|
166
1526
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
1527
|
+
return {
|
|
1528
|
+
preferLocal: preferLocal,
|
|
1529
|
+
args: passThroughArgs
|
|
1530
|
+
};
|
|
1531
|
+
};
|
|
170
1532
|
|
|
171
|
-
|
|
172
|
-
|
|
1533
|
+
var runClnCiCommand = function () {
|
|
1534
|
+
var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(command) {
|
|
1535
|
+
var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
173
1536
|
|
|
174
|
-
|
|
1537
|
+
var parsed, _ref21, binaryPath;
|
|
175
1538
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}).then();
|
|
186
|
-
}, { event: "change" });
|
|
187
|
-
}
|
|
1539
|
+
return _regenerator2.default.wrap(function _callee19$(_context19) {
|
|
1540
|
+
while (1) {
|
|
1541
|
+
switch (_context19.prev = _context19.next) {
|
|
1542
|
+
case 0:
|
|
1543
|
+
parsed = parseClnCiArgs(args);
|
|
1544
|
+
_context19.next = 3;
|
|
1545
|
+
return ensureClnCiBinary({
|
|
1546
|
+
preferLocal: parsed.preferLocal
|
|
1547
|
+
});
|
|
188
1548
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}));
|
|
195
|
-
}
|
|
1549
|
+
case 3:
|
|
1550
|
+
_ref21 = _context19.sent;
|
|
1551
|
+
binaryPath = _ref21.binaryPath;
|
|
1552
|
+
_context19.next = 7;
|
|
1553
|
+
return spawnClnCiBinary(binaryPath, [command].concat((0, _toConsumableArray3.default)(parsed.args)));
|
|
196
1554
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
process.exit(1);
|
|
200
|
-
}
|
|
201
|
-
return _context.abrupt('return', { conf: conf, apps: apps });
|
|
1555
|
+
case 7:
|
|
1556
|
+
return _context19.abrupt('return', _context19.sent);
|
|
202
1557
|
|
|
203
|
-
case
|
|
1558
|
+
case 8:
|
|
204
1559
|
case 'end':
|
|
205
|
-
return
|
|
1560
|
+
return _context19.stop();
|
|
206
1561
|
}
|
|
207
1562
|
}
|
|
208
|
-
},
|
|
1563
|
+
}, _callee19, undefined);
|
|
209
1564
|
}));
|
|
210
1565
|
|
|
211
|
-
return function
|
|
212
|
-
return
|
|
1566
|
+
return function runClnCiCommand(_x36) {
|
|
1567
|
+
return _ref20.apply(this, arguments);
|
|
213
1568
|
};
|
|
214
1569
|
}();
|
|
215
1570
|
|
|
216
|
-
var alias = function alias() {
|
|
217
|
-
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
218
|
-
|
|
219
|
-
_server.global.__cln_appName__ = options.appName;
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
var execCmd = function execCmd(cmd) {
|
|
223
|
-
execSync(cmd, { shell: true, stdio: 'inherit' });
|
|
224
|
-
};
|
|
225
|
-
|
|
226
1571
|
var run = exports.run = function () {
|
|
227
|
-
var
|
|
228
|
-
|
|
1572
|
+
var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee34(_argv) {
|
|
1573
|
+
var argv, rawArgs, command, commandArgs, exitCode;
|
|
1574
|
+
return _regenerator2.default.wrap(function _callee34$(_context34) {
|
|
229
1575
|
while (1) {
|
|
230
|
-
switch (
|
|
1576
|
+
switch (_context34.prev = _context34.next) {
|
|
231
1577
|
case 0:
|
|
1578
|
+
argv = Array.isArray(_argv) && _argv.length > 0 ? _argv : process.argv;
|
|
1579
|
+
rawArgs = argv.slice(2);
|
|
1580
|
+
|
|
1581
|
+
if (!(rawArgs[0] === 'image')) {
|
|
1582
|
+
_context34.next = 17;
|
|
1583
|
+
break;
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
_context34.prev = 3;
|
|
1587
|
+
command = rawArgs[1] || 'image';
|
|
1588
|
+
commandArgs = rawArgs[1] ? rawArgs.slice(2) : [];
|
|
1589
|
+
_context34.next = 8;
|
|
1590
|
+
return runClnCiCommand(command, commandArgs);
|
|
1591
|
+
|
|
1592
|
+
case 8:
|
|
1593
|
+
exitCode = _context34.sent;
|
|
1594
|
+
|
|
1595
|
+
process.exitCode = exitCode;
|
|
1596
|
+
_context34.next = 16;
|
|
1597
|
+
break;
|
|
1598
|
+
|
|
1599
|
+
case 12:
|
|
1600
|
+
_context34.prev = 12;
|
|
1601
|
+
_context34.t0 = _context34['catch'](3);
|
|
1602
|
+
|
|
1603
|
+
_consola2.default.error(_context34.t0 && _context34.t0.message ? _context34.t0.message : _context34.t0);
|
|
1604
|
+
process.exitCode = 1;
|
|
1605
|
+
|
|
1606
|
+
case 16:
|
|
1607
|
+
return _context34.abrupt('return');
|
|
1608
|
+
|
|
1609
|
+
case 17:
|
|
1610
|
+
|
|
232
1611
|
_commander2.default.version(_package2.default.version, '-v, --version');
|
|
233
1612
|
|
|
234
1613
|
_commander2.default.command('dev').description('go into developer mode').option('-y0ba, --yk0-build-app <appName>', 'Building a specified application').option('-e, --env <envName>', 'yk server env').option('-m, --mode <modeName>', 'yk develop start mode').action(function () {
|
|
235
|
-
var
|
|
236
|
-
var yk0BuildApp =
|
|
237
|
-
env =
|
|
238
|
-
mode =
|
|
1614
|
+
var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(_ref23) {
|
|
1615
|
+
var yk0BuildApp = _ref23.yk0BuildApp,
|
|
1616
|
+
env = _ref23.env,
|
|
1617
|
+
mode = _ref23.mode;
|
|
239
1618
|
|
|
240
|
-
var
|
|
1619
|
+
var _ref25, apps, bin;
|
|
241
1620
|
|
|
242
|
-
return _regenerator2.default.wrap(function
|
|
1621
|
+
return _regenerator2.default.wrap(function _callee20$(_context20) {
|
|
243
1622
|
while (1) {
|
|
244
|
-
switch (
|
|
1623
|
+
switch (_context20.prev = _context20.next) {
|
|
245
1624
|
case 0:
|
|
246
1625
|
// console.log(args);
|
|
247
1626
|
_consola2.default.log('In the preparation...');
|
|
248
1627
|
process.env.NODE_ENV = 'development';
|
|
249
|
-
|
|
1628
|
+
_context20.next = 4;
|
|
250
1629
|
return gi({ app: yk0BuildApp, ykServerEnv: env });
|
|
251
1630
|
|
|
252
1631
|
case 4:
|
|
253
|
-
|
|
254
|
-
apps =
|
|
1632
|
+
_ref25 = _context20.sent;
|
|
1633
|
+
apps = _ref25.apps;
|
|
255
1634
|
bin = "yk-dev";
|
|
256
|
-
|
|
257
|
-
|
|
1635
|
+
_context20.t0 = _os2.default.type();
|
|
1636
|
+
_context20.next = _context20.t0 === "Linux" ? 10 : 12;
|
|
258
1637
|
break;
|
|
259
1638
|
|
|
260
1639
|
case 10:
|
|
261
1640
|
bin = "yk";
|
|
262
|
-
return
|
|
1641
|
+
return _context20.abrupt('break', 12);
|
|
263
1642
|
|
|
264
1643
|
case 12:
|
|
265
1644
|
|
|
@@ -277,71 +1656,71 @@ var run = exports.run = function () {
|
|
|
277
1656
|
|
|
278
1657
|
case 13:
|
|
279
1658
|
case 'end':
|
|
280
|
-
return
|
|
1659
|
+
return _context20.stop();
|
|
281
1660
|
}
|
|
282
1661
|
}
|
|
283
|
-
},
|
|
1662
|
+
}, _callee20, undefined);
|
|
284
1663
|
}));
|
|
285
1664
|
|
|
286
|
-
return function (
|
|
287
|
-
return
|
|
1665
|
+
return function (_x38) {
|
|
1666
|
+
return _ref24.apply(this, arguments);
|
|
288
1667
|
};
|
|
289
1668
|
}());
|
|
290
1669
|
|
|
291
1670
|
_commander2.default.command('serve <cmd>').description('go into developer mode')
|
|
292
1671
|
// .option('-y0ba, --yk0-build-app <appName>', 'Building a specified application')
|
|
293
1672
|
.action(function () {
|
|
294
|
-
var
|
|
295
|
-
return _regenerator2.default.wrap(function
|
|
1673
|
+
var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(cmd) {
|
|
1674
|
+
return _regenerator2.default.wrap(function _callee22$(_context22) {
|
|
296
1675
|
while (1) {
|
|
297
|
-
switch (
|
|
1676
|
+
switch (_context22.prev = _context22.next) {
|
|
298
1677
|
case 0:
|
|
299
1678
|
// console.log(args);
|
|
300
1679
|
process.env.NODE_ENV = 'development';
|
|
301
1680
|
// gi({app: yk0BuildApp});
|
|
302
|
-
|
|
1681
|
+
_context22.next = 3;
|
|
303
1682
|
return _server._.asyncMap(cmd.split(','), function () {
|
|
304
|
-
var
|
|
305
|
-
return _regenerator2.default.wrap(function
|
|
1683
|
+
var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(key) {
|
|
1684
|
+
return _regenerator2.default.wrap(function _callee21$(_context21) {
|
|
306
1685
|
while (1) {
|
|
307
|
-
switch (
|
|
1686
|
+
switch (_context21.prev = _context21.next) {
|
|
308
1687
|
case 0:
|
|
309
1688
|
alias({ appName: key });
|
|
310
|
-
|
|
1689
|
+
_context21.next = 3;
|
|
311
1690
|
return require(params.serverPath)('dev', key);
|
|
312
1691
|
|
|
313
1692
|
case 3:
|
|
314
1693
|
case 'end':
|
|
315
|
-
return
|
|
1694
|
+
return _context21.stop();
|
|
316
1695
|
}
|
|
317
1696
|
}
|
|
318
|
-
},
|
|
1697
|
+
}, _callee21, undefined);
|
|
319
1698
|
}));
|
|
320
1699
|
|
|
321
|
-
return function (
|
|
322
|
-
return
|
|
1700
|
+
return function (_x40) {
|
|
1701
|
+
return _ref27.apply(this, arguments);
|
|
323
1702
|
};
|
|
324
1703
|
}());
|
|
325
1704
|
|
|
326
1705
|
case 3:
|
|
327
1706
|
case 'end':
|
|
328
|
-
return
|
|
1707
|
+
return _context22.stop();
|
|
329
1708
|
}
|
|
330
1709
|
}
|
|
331
|
-
},
|
|
1710
|
+
}, _callee22, undefined);
|
|
332
1711
|
}));
|
|
333
1712
|
|
|
334
|
-
return function (
|
|
335
|
-
return
|
|
1713
|
+
return function (_x39) {
|
|
1714
|
+
return _ref26.apply(this, arguments);
|
|
336
1715
|
};
|
|
337
1716
|
}());
|
|
338
1717
|
|
|
339
|
-
_commander2.default.command('init').description('cln2 is initialized.').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function
|
|
1718
|
+
_commander2.default.command('init').description('cln2 is initialized.').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23() {
|
|
340
1719
|
var pkgPath, _pkg, obj;
|
|
341
1720
|
|
|
342
|
-
return _regenerator2.default.wrap(function
|
|
1721
|
+
return _regenerator2.default.wrap(function _callee23$(_context23) {
|
|
343
1722
|
while (1) {
|
|
344
|
-
switch (
|
|
1723
|
+
switch (_context23.prev = _context23.next) {
|
|
345
1724
|
case 0:
|
|
346
1725
|
// add image
|
|
347
1726
|
try {
|
|
@@ -364,173 +1743,27 @@ var run = exports.run = function () {
|
|
|
364
1743
|
|
|
365
1744
|
case 2:
|
|
366
1745
|
case 'end':
|
|
367
|
-
return
|
|
1746
|
+
return _context23.stop();
|
|
368
1747
|
}
|
|
369
1748
|
}
|
|
370
|
-
},
|
|
1749
|
+
}, _callee23, undefined);
|
|
371
1750
|
})));
|
|
372
1751
|
|
|
373
|
-
_commander2.default.command('image').description('Build image
|
|
374
|
-
var isTestInner, res, inner, CS, isInner, CLNENV, CLNBUILD, CLNPACK, noCache, CLNWORKERS, TRY_TIMES, CLNVERSION, pkg, NMCI, projectName, obj, imageReleaseName, imageReleaseNameSave, BI, preLoad, DEP, EXPORT, DKY, Dockerfile, buildkit, prefixCmd, suffixCmd, fileStr, loop;
|
|
375
|
-
return _regenerator2.default.wrap(function _callee6$(_context6) {
|
|
376
|
-
while (1) {
|
|
377
|
-
switch (_context6.prev = _context6.next) {
|
|
378
|
-
case 0:
|
|
379
|
-
isTestInner = false;
|
|
380
|
-
// const {success: isTestInner} = connectionTester.test('fe-repo.inner.px.nfjbill.ren', 5000, 1000)
|
|
381
|
-
|
|
382
|
-
try {
|
|
383
|
-
res = (0, _syncRequest2.default)('GET', 'https://sl.rdc.nfjbill.ren/sys/health-check', {
|
|
384
|
-
timeout: 1000
|
|
385
|
-
});
|
|
386
|
-
inner = JSON.parse(res.getBody('utf8'));
|
|
387
|
-
|
|
388
|
-
isTestInner = inner.data === 'alive';
|
|
389
|
-
} catch (e) {}
|
|
390
|
-
|
|
391
|
-
CS = (0, _server.gPwd)();
|
|
392
|
-
isInner = process.env.CLN_IMAGE_ISINNER === undefined ? isTestInner : process.env.CLN_IMAGE_ISINNER === '1';
|
|
393
|
-
CLNENV = process.env.CLN_IMAGE_ENV || 'local';
|
|
394
|
-
CLNBUILD = process.env.CLN_IMAGE_BUILD === undefined;
|
|
395
|
-
CLNPACK = process.env.CLN_IMAGE_PACK === undefined;
|
|
396
|
-
noCache = process.env.NO_CACHE === '1';
|
|
397
|
-
CLNWORKERS = process.env.CLN_IMAGE_WORKERS || _os2.default.cpus().length;
|
|
398
|
-
TRY_TIMES = process.env.TRY_TIMES || '3';
|
|
399
|
-
CLNVERSION = process.env.CLN_IMAGE_VERSION || CS;
|
|
400
|
-
pkg = _paths2.default.read(_paths2.default.appPackageJson);
|
|
401
|
-
NMCI = 'nm_' + (0, _server.md5)(pkg).substring(0, 6);
|
|
402
|
-
projectName = 'cln_img';
|
|
403
|
-
|
|
404
|
-
try {
|
|
405
|
-
obj = JSON.parse(pkg);
|
|
406
|
-
|
|
407
|
-
projectName = obj.name;
|
|
408
|
-
NMCI = 'nm_' + (0, _server.md5)((0, _stringify2.default)(obj.dependencies) + (0, _stringify2.default)(obj.peerDependencies) + (0, _stringify2.default)(obj.devDependencies)).substring(0, 6);
|
|
409
|
-
CLNVERSION = process.env.CLN_IMAGE_VERSION || obj.version;
|
|
410
|
-
} catch (e) {}
|
|
411
|
-
projectName = process.env.CLN_IMAGE_NAME || projectName;
|
|
412
|
-
imageReleaseName = projectName + ':' + CLNVERSION;
|
|
413
|
-
imageReleaseNameSave = (projectName + '_' + CLNVERSION).replace(/\//g, "_");
|
|
414
|
-
BI = process.env.CLN_IMAGE_BI || (isInner ? 'registry-image.rdc.nfjbill.ren/cln-server:0.7.4' : 'nfjbill/cln-server:0.7.4');
|
|
415
|
-
preLoad = (process.env.CLN_IMAGE_LOAD || '').split(',');
|
|
416
|
-
// let BI = process.env.CLN_IMAGE_BI
|
|
417
|
-
|
|
418
|
-
DEP = process.env.CLN_IMAGE_DEP === undefined ? false : process.env.CLN_IMAGE_DEP;
|
|
419
|
-
EXPORT = process.env.CLN_IMAGE_EXPORT !== "false";
|
|
420
|
-
DKY = process.env.CLN_IMAGE_DKY === "true";
|
|
421
|
-
Dockerfile = "Dockerfile";
|
|
422
|
-
buildkit = "DOCKER_BUILDKIT=1";
|
|
423
|
-
prefixCmd = "";
|
|
424
|
-
// let suffixCmd = process.env.CLN_IMAGE_SUFFIX !== undefined ? process.env.CLN_IMAGE_SUFFIX : " >/dev/null 2>&1"
|
|
425
|
-
|
|
426
|
-
suffixCmd = process.env.CLN_IMAGE_SUFFIX !== undefined ? process.env.CLN_IMAGE_SUFFIX : "";
|
|
427
|
-
|
|
428
|
-
if (_os2.default.platform() === 'win32') {
|
|
429
|
-
prefixCmd = "cross-env ";
|
|
430
|
-
suffixCmd = "";
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
if (DEP) {
|
|
434
|
-
Dockerfile = "Dockerfile_DEP";
|
|
435
|
-
BI = BI || "registry-image.rdc.nfjbill.ren/cln-server:0.7.4";
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
if (preLoad.length > 0) {
|
|
439
|
-
preLoad.forEach(function (p) {
|
|
440
|
-
if (p) {
|
|
441
|
-
execCmd('docker load < ' + p);
|
|
442
|
-
}
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
fileStr = '-f ' + _paths2.default.ykRootImage + Dockerfile;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
if (DKY) {
|
|
450
|
-
buildkit = '';
|
|
451
|
-
fileStr = '';
|
|
452
|
-
EXPORT = false;
|
|
453
|
-
execCmd('cp -rfp ' + _paths2.default.ykRootImage + Dockerfile + ' ./Dockerfile');
|
|
454
|
-
execCmd('cp -rfp ' + _paths2.default.ykRootImage + '.dockerignore ./');
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
if ((0, _commandExists.sync)('docker')) {
|
|
458
|
-
_context6.next = 36;
|
|
459
|
-
break;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
_consola2.default.error('docker must be installed!');
|
|
463
|
-
process.exit(1);
|
|
464
|
-
return _context6.abrupt('return');
|
|
465
|
-
|
|
466
|
-
case 36:
|
|
467
|
-
if (!(0, _commandExists.sync)('pxnpm') && !DEP) {
|
|
468
|
-
execCmd(isInner ? 'npm i -g pxnpm --registry=https://registry-pxnpm.rdc.nfjbill.ren' : 'npm i -g pxnpm');
|
|
469
|
-
}
|
|
470
|
-
if (!(0, _commandExists.sync)('cross-env') && !DEP) {
|
|
471
|
-
execCmd('pxnpm i -g cross-env');
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
if (CLNBUILD) {
|
|
475
|
-
execCmd(prefixCmd + ' YK0_server__yk4Addr=http://1.1.1.1 YK0_server__orbAddr=http://1.1.1.1 YK_ENV=' + CLNENV + ' YK_SERVER_ENV=' + CLNENV + ' YK_VERSIONSHA=' + CS + ' YK_DOCKERNAME=' + CS + ' YK_MACHINE_TYPE=workstation YK0_env=docker YK0_CONFIG_WORKERS=' + CLNWORKERS + ' npm run build');
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
if (_os2.default.platform() === 'win32') {
|
|
479
|
-
(0, _midfilter2.default)(_paths2.default.ykServerPath);
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
loop = function loop(i) {
|
|
483
|
-
try {
|
|
484
|
-
if (i < parseInt(TRY_TIMES)) {
|
|
485
|
-
execCmd(prefixCmd + ' ' + buildkit + ' docker build ' + (noCache ? '--no-cache' : '') + ' ' + fileStr + ' --build-arg BASE_IMAGE=' + BI + ' --build-arg YK_VERSIONSHA=' + CS + ' --build-arg YK_ENV=' + CLNENV + ' --build-arg DEP=' + DEP + ' --build-arg NPM_MODULES_CACHE_ID=' + NMCI + ' -t ' + imageReleaseName + ' . ' + suffixCmd);
|
|
486
|
-
} else {
|
|
487
|
-
_consola2.default.error('Image build failure!');
|
|
488
|
-
process.exit(0);
|
|
489
|
-
}
|
|
490
|
-
} catch (e) {
|
|
491
|
-
loop(i + 1);
|
|
492
|
-
}
|
|
493
|
-
};
|
|
494
|
-
|
|
495
|
-
loop(0);
|
|
496
|
-
|
|
497
|
-
_context6.next = 44;
|
|
498
|
-
return (0, _server.delay)(1000);
|
|
499
|
-
|
|
500
|
-
case 44:
|
|
501
|
-
|
|
502
|
-
if (CLNPACK && EXPORT) {
|
|
503
|
-
if (!(0, _commandExists.sync)('gzip')) {
|
|
504
|
-
execCmd('docker save > ' + imageReleaseNameSave + '.tar ' + imageReleaseName);
|
|
505
|
-
} else {
|
|
506
|
-
execCmd('docker save ' + imageReleaseName + ' | gzip >' + imageReleaseNameSave + '.tar');
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
_consola2.default.success('Image tar: ' + imageReleaseNameSave + '.tar');
|
|
511
|
-
_consola2.default.success('Image name: ' + imageReleaseName);
|
|
512
|
-
|
|
513
|
-
case 47:
|
|
514
|
-
case 'end':
|
|
515
|
-
return _context6.stop();
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}, _callee6, undefined);
|
|
519
|
-
})));
|
|
1752
|
+
_commander2.default.command('image').description('Build image with cln-ci.');
|
|
520
1753
|
|
|
521
1754
|
_commander2.default.command('build').description('build a model').option('-y0ba, --yk0-build-app <appName>', 'Building a specified application').option('-workers <workers>', 'Building a specified application').option('-e, --env <envName>', 'yk server env')
|
|
522
1755
|
// .action(async ({app}) => {
|
|
523
1756
|
.action(function () {
|
|
524
|
-
var
|
|
525
|
-
var yk0BuildApp =
|
|
526
|
-
env =
|
|
527
|
-
wk =
|
|
1757
|
+
var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(_ref29) {
|
|
1758
|
+
var yk0BuildApp = _ref29.yk0BuildApp,
|
|
1759
|
+
env = _ref29.env,
|
|
1760
|
+
wk = _ref29.workers;
|
|
528
1761
|
|
|
529
|
-
var
|
|
1762
|
+
var _ref31, apps, workers, cpuLen, concurrency, nextIndex, activeChildren, heartbeat, buildSucceeded, abortState, stopActiveChildren, runWorker;
|
|
530
1763
|
|
|
531
|
-
return _regenerator2.default.wrap(function
|
|
1764
|
+
return _regenerator2.default.wrap(function _callee25$(_context25) {
|
|
532
1765
|
while (1) {
|
|
533
|
-
switch (
|
|
1766
|
+
switch (_context25.prev = _context25.next) {
|
|
534
1767
|
case 0:
|
|
535
1768
|
// process.env.NODE_ENV = 'production';
|
|
536
1769
|
// process.env.NODE_CMD = 'build';
|
|
@@ -540,69 +1773,134 @@ var run = exports.run = function () {
|
|
|
540
1773
|
_consola2.default.log('In the preparation...');
|
|
541
1774
|
process.env.NODE_ENV = 'production';
|
|
542
1775
|
process.env.NODE_CMD = 'build';
|
|
543
|
-
|
|
1776
|
+
_context25.next = 5;
|
|
544
1777
|
return gi({ app: yk0BuildApp, ykServerEnv: env });
|
|
545
1778
|
|
|
546
1779
|
case 5:
|
|
547
|
-
|
|
548
|
-
apps =
|
|
1780
|
+
_ref31 = _context25.sent;
|
|
1781
|
+
apps = _ref31.apps;
|
|
549
1782
|
workers = wk || process.env.YK0_CONFIG_WORKERS || process.env.npm_config_workers;
|
|
550
1783
|
// const workers = process.env.npm_config_workers;
|
|
551
1784
|
|
|
552
1785
|
cpuLen = _os2.default.cpus().length;
|
|
553
1786
|
|
|
554
1787
|
if (workers) {
|
|
555
|
-
cpuLen = parseInt(workers);
|
|
1788
|
+
cpuLen = parseInt(workers, 10);
|
|
556
1789
|
}
|
|
557
1790
|
|
|
558
|
-
|
|
1791
|
+
if (!(0, _isInteger2.default)(cpuLen) || cpuLen <= 0) {
|
|
1792
|
+
cpuLen = 1;
|
|
1793
|
+
}
|
|
559
1794
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
1795
|
+
concurrency = Math.min(cpuLen, apps.length);
|
|
1796
|
+
nextIndex = 0;
|
|
1797
|
+
activeChildren = new _set2.default();
|
|
1798
|
+
heartbeat = createBuildHeartbeat(apps);
|
|
1799
|
+
buildSucceeded = false;
|
|
1800
|
+
abortState = {
|
|
1801
|
+
stopped: false,
|
|
1802
|
+
error: null
|
|
1803
|
+
};
|
|
564
1804
|
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
1805
|
+
stopActiveChildren = function stopActiveChildren() {
|
|
1806
|
+
activeChildren.forEach(function (child) {
|
|
1807
|
+
try {
|
|
1808
|
+
child.kill('SIGTERM');
|
|
1809
|
+
} catch (e) {}
|
|
1810
|
+
});
|
|
570
1811
|
};
|
|
571
1812
|
|
|
572
|
-
|
|
573
|
-
var
|
|
574
|
-
|
|
1813
|
+
runWorker = function () {
|
|
1814
|
+
var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24() {
|
|
1815
|
+
var currentIndex;
|
|
1816
|
+
return _regenerator2.default.wrap(function _callee24$(_context24) {
|
|
575
1817
|
while (1) {
|
|
576
|
-
switch (
|
|
1818
|
+
switch (_context24.prev = _context24.next) {
|
|
577
1819
|
case 0:
|
|
578
|
-
if (
|
|
579
|
-
|
|
580
|
-
|
|
1820
|
+
if (!(!abortState.stopped && nextIndex < apps.length)) {
|
|
1821
|
+
_context24.next = 14;
|
|
1822
|
+
break;
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
currentIndex = nextIndex;
|
|
1826
|
+
|
|
1827
|
+
nextIndex += 1;
|
|
1828
|
+
_context24.prev = 3;
|
|
1829
|
+
_context24.next = 6;
|
|
1830
|
+
return spawnBuildProcess(apps[currentIndex], { activeChildren: activeChildren, abortState: abortState });
|
|
1831
|
+
|
|
1832
|
+
case 6:
|
|
1833
|
+
_context24.next = 12;
|
|
1834
|
+
break;
|
|
1835
|
+
|
|
1836
|
+
case 8:
|
|
1837
|
+
_context24.prev = 8;
|
|
1838
|
+
_context24.t0 = _context24['catch'](3);
|
|
1839
|
+
|
|
1840
|
+
if (!abortState.error) {
|
|
1841
|
+
abortState.error = _context24.t0;
|
|
1842
|
+
abortState.stopped = true;
|
|
1843
|
+
stopActiveChildren();
|
|
581
1844
|
}
|
|
1845
|
+
throw _context24.t0;
|
|
1846
|
+
|
|
1847
|
+
case 12:
|
|
1848
|
+
_context24.next = 0;
|
|
1849
|
+
break;
|
|
582
1850
|
|
|
583
|
-
case
|
|
1851
|
+
case 14:
|
|
584
1852
|
case 'end':
|
|
585
|
-
return
|
|
1853
|
+
return _context24.stop();
|
|
586
1854
|
}
|
|
587
1855
|
}
|
|
588
|
-
},
|
|
1856
|
+
}, _callee24, undefined, [[3, 8]]);
|
|
589
1857
|
}));
|
|
590
1858
|
|
|
591
|
-
return function (
|
|
592
|
-
return
|
|
1859
|
+
return function runWorker() {
|
|
1860
|
+
return _ref32.apply(this, arguments);
|
|
593
1861
|
};
|
|
594
|
-
}()
|
|
1862
|
+
}();
|
|
1863
|
+
|
|
1864
|
+
_context25.prev = 19;
|
|
1865
|
+
_context25.next = 22;
|
|
1866
|
+
return _promise2.default.all((0, _from2.default)({ length: concurrency }, function () {
|
|
1867
|
+
return runWorker();
|
|
1868
|
+
}));
|
|
1869
|
+
|
|
1870
|
+
case 22:
|
|
1871
|
+
buildSucceeded = true;
|
|
1872
|
+
heartbeat.markCompleted({ appCount: apps.length });
|
|
1873
|
+
_consola2.default.success('Build completed for ' + apps.length + ' app(s).');
|
|
1874
|
+
_context25.next = 31;
|
|
1875
|
+
break;
|
|
595
1876
|
|
|
596
|
-
case
|
|
1877
|
+
case 27:
|
|
1878
|
+
_context25.prev = 27;
|
|
1879
|
+
_context25.t0 = _context25['catch'](19);
|
|
1880
|
+
|
|
1881
|
+
heartbeat.markFailed(abortState.error || _context25.t0);
|
|
1882
|
+
throw abortState.error || _context25.t0;
|
|
1883
|
+
|
|
1884
|
+
case 31:
|
|
1885
|
+
_context25.prev = 31;
|
|
1886
|
+
_context25.next = 34;
|
|
1887
|
+
return heartbeat.stop({
|
|
1888
|
+
graceMs: buildSucceeded ? BUILD_HEARTBEAT_GRACE_MS : 0
|
|
1889
|
+
});
|
|
1890
|
+
|
|
1891
|
+
case 34:
|
|
1892
|
+
return _context25.finish(31);
|
|
1893
|
+
|
|
1894
|
+
case 35:
|
|
597
1895
|
case 'end':
|
|
598
|
-
return
|
|
1896
|
+
return _context25.stop();
|
|
599
1897
|
}
|
|
600
1898
|
}
|
|
601
|
-
},
|
|
1899
|
+
}, _callee25, undefined, [[19, 27, 31, 35]]);
|
|
602
1900
|
}));
|
|
603
1901
|
|
|
604
|
-
return function (
|
|
605
|
-
return
|
|
1902
|
+
return function (_x41) {
|
|
1903
|
+
return _ref30.apply(this, arguments);
|
|
606
1904
|
};
|
|
607
1905
|
}());
|
|
608
1906
|
|
|
@@ -610,147 +1908,147 @@ var run = exports.run = function () {
|
|
|
610
1908
|
// .option('-y0ba, --yk0-build-app <appName>', 'Building a specified application')
|
|
611
1909
|
// .action(async ({app}) => {
|
|
612
1910
|
.action(function () {
|
|
613
|
-
var
|
|
614
|
-
return _regenerator2.default.wrap(function
|
|
1911
|
+
var _ref33 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(cmd) {
|
|
1912
|
+
return _regenerator2.default.wrap(function _callee26$(_context26) {
|
|
615
1913
|
while (1) {
|
|
616
|
-
switch (
|
|
1914
|
+
switch (_context26.prev = _context26.next) {
|
|
617
1915
|
case 0:
|
|
618
1916
|
process.env.NODE_ENV = 'production';
|
|
619
1917
|
process.env.NODE_CMD = 'build';
|
|
620
1918
|
// console.log(app);
|
|
621
1919
|
// gi({app: yk0BuildApp});
|
|
622
1920
|
alias({ appName: cmd });
|
|
623
|
-
|
|
1921
|
+
_context26.next = 5;
|
|
624
1922
|
return require(params.serverPath)('build', cmd);
|
|
625
1923
|
|
|
626
1924
|
case 5:
|
|
627
1925
|
case 'end':
|
|
628
|
-
return
|
|
1926
|
+
return _context26.stop();
|
|
629
1927
|
}
|
|
630
1928
|
}
|
|
631
|
-
},
|
|
1929
|
+
}, _callee26, undefined);
|
|
632
1930
|
}));
|
|
633
1931
|
|
|
634
|
-
return function (
|
|
635
|
-
return
|
|
1932
|
+
return function (_x42) {
|
|
1933
|
+
return _ref33.apply(this, arguments);
|
|
636
1934
|
};
|
|
637
1935
|
}());
|
|
638
1936
|
|
|
639
|
-
_commander2.default.command('generate').alias('g').description('generate a model').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function
|
|
640
|
-
return _regenerator2.default.wrap(function
|
|
1937
|
+
_commander2.default.command('generate').alias('g').description('generate a model').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27() {
|
|
1938
|
+
return _regenerator2.default.wrap(function _callee27$(_context27) {
|
|
641
1939
|
while (1) {
|
|
642
|
-
switch (
|
|
1940
|
+
switch (_context27.prev = _context27.next) {
|
|
643
1941
|
case 0:
|
|
644
1942
|
process.env.NODE_ENV = 'production';
|
|
645
|
-
|
|
1943
|
+
_context27.next = 3;
|
|
646
1944
|
return gi();
|
|
647
1945
|
|
|
648
1946
|
case 3:
|
|
649
|
-
|
|
650
|
-
|
|
1947
|
+
_context27.prev = 3;
|
|
1948
|
+
_context27.next = 6;
|
|
651
1949
|
return nuxtCli.run(['generate']);
|
|
652
1950
|
|
|
653
1951
|
case 6:
|
|
654
|
-
|
|
1952
|
+
_context27.next = 12;
|
|
655
1953
|
break;
|
|
656
1954
|
|
|
657
1955
|
case 8:
|
|
658
|
-
|
|
659
|
-
|
|
1956
|
+
_context27.prev = 8;
|
|
1957
|
+
_context27.t0 = _context27['catch'](3);
|
|
660
1958
|
|
|
661
|
-
_consola2.default.fatal(
|
|
1959
|
+
_consola2.default.fatal(_context27.t0);
|
|
662
1960
|
process.exit(2);
|
|
663
1961
|
|
|
664
1962
|
case 12:
|
|
665
1963
|
case 'end':
|
|
666
|
-
return
|
|
1964
|
+
return _context27.stop();
|
|
667
1965
|
}
|
|
668
1966
|
}
|
|
669
|
-
},
|
|
1967
|
+
}, _callee27, undefined, [[3, 8]]);
|
|
670
1968
|
})));
|
|
671
1969
|
|
|
672
|
-
_commander2.default.command('clean').description('clean cache').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function
|
|
673
|
-
return _regenerator2.default.wrap(function
|
|
1970
|
+
_commander2.default.command('clean').description('clean cache').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28() {
|
|
1971
|
+
return _regenerator2.default.wrap(function _callee28$(_context28) {
|
|
674
1972
|
while (1) {
|
|
675
|
-
switch (
|
|
1973
|
+
switch (_context28.prev = _context28.next) {
|
|
676
1974
|
case 0:
|
|
677
1975
|
_rimraf2.default.sync(_paths2.default.hardSourceCache);
|
|
678
1976
|
_rimraf2.default.sync(_paths2.default.ykRootCacheDir);
|
|
679
1977
|
|
|
680
1978
|
case 2:
|
|
681
1979
|
case 'end':
|
|
682
|
-
return
|
|
1980
|
+
return _context28.stop();
|
|
683
1981
|
}
|
|
684
1982
|
}
|
|
685
|
-
},
|
|
1983
|
+
}, _callee28, undefined);
|
|
686
1984
|
})));
|
|
687
1985
|
|
|
688
|
-
_commander2.default.command('cr').description('Code screening secondary compression').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function
|
|
689
|
-
return _regenerator2.default.wrap(function
|
|
1986
|
+
_commander2.default.command('cr').description('Code screening secondary compression').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29() {
|
|
1987
|
+
return _regenerator2.default.wrap(function _callee29$(_context29) {
|
|
690
1988
|
while (1) {
|
|
691
|
-
switch (
|
|
1989
|
+
switch (_context29.prev = _context29.next) {
|
|
692
1990
|
case 0:
|
|
693
|
-
|
|
1991
|
+
_context29.next = 2;
|
|
694
1992
|
return (0, _compress2.default)();
|
|
695
1993
|
|
|
696
1994
|
case 2:
|
|
697
1995
|
case 'end':
|
|
698
|
-
return
|
|
1996
|
+
return _context29.stop();
|
|
699
1997
|
}
|
|
700
1998
|
}
|
|
701
|
-
},
|
|
1999
|
+
}, _callee29, undefined);
|
|
702
2000
|
})));
|
|
703
2001
|
|
|
704
2002
|
_commander2.default.command('verify <cmd>').option('-ed, --edit <envName>', 'commit file').option('-m, --msg <msg>', 'commit msg').option('-y0ba, --yk0-build-app <appName>', 'Building a specified application').option('-e, --env <envName>', 'yk server env').description('husky').action(function () {
|
|
705
|
-
var
|
|
706
|
-
var edit =
|
|
707
|
-
msg =
|
|
708
|
-
yk0BuildApp =
|
|
709
|
-
env =
|
|
710
|
-
return _regenerator2.default.wrap(function
|
|
2003
|
+
var _ref38 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(cmd, _ref37) {
|
|
2004
|
+
var edit = _ref37.edit,
|
|
2005
|
+
msg = _ref37.msg,
|
|
2006
|
+
yk0BuildApp = _ref37.yk0BuildApp,
|
|
2007
|
+
env = _ref37.env;
|
|
2008
|
+
return _regenerator2.default.wrap(function _callee30$(_context30) {
|
|
711
2009
|
while (1) {
|
|
712
|
-
switch (
|
|
2010
|
+
switch (_context30.prev = _context30.next) {
|
|
713
2011
|
case 0:
|
|
714
2012
|
alias({ appName: "__common" });
|
|
715
2013
|
|
|
716
2014
|
if (!(cmd !== "commit-init")) {
|
|
717
|
-
|
|
2015
|
+
_context30.next = 4;
|
|
718
2016
|
break;
|
|
719
2017
|
}
|
|
720
2018
|
|
|
721
|
-
|
|
2019
|
+
_context30.next = 4;
|
|
722
2020
|
return gi({ app: yk0BuildApp, ykServerEnv: env, appsNoneExit: false });
|
|
723
2021
|
|
|
724
2022
|
case 4:
|
|
725
|
-
|
|
726
|
-
|
|
2023
|
+
_context30.t0 = cmd;
|
|
2024
|
+
_context30.next = _context30.t0 === "commit-init" ? 7 : 8;
|
|
727
2025
|
break;
|
|
728
2026
|
|
|
729
2027
|
case 7:
|
|
730
|
-
return
|
|
2028
|
+
return _context30.abrupt('break', 14);
|
|
731
2029
|
|
|
732
2030
|
case 8:
|
|
733
|
-
|
|
2031
|
+
_context30.next = 10;
|
|
734
2032
|
return (0, _verify.commitEsLint)({ edit: edit });
|
|
735
2033
|
|
|
736
2034
|
case 10:
|
|
737
|
-
|
|
2035
|
+
_context30.next = 12;
|
|
738
2036
|
return (0, _verify.commitStyleLint)({ edit: edit });
|
|
739
2037
|
|
|
740
2038
|
case 12:
|
|
741
|
-
|
|
2039
|
+
_context30.next = 14;
|
|
742
2040
|
return (0, _verify.commitMsg)({ edit: msg });
|
|
743
2041
|
|
|
744
2042
|
case 14:
|
|
745
2043
|
case 'end':
|
|
746
|
-
return
|
|
2044
|
+
return _context30.stop();
|
|
747
2045
|
}
|
|
748
2046
|
}
|
|
749
|
-
},
|
|
2047
|
+
}, _callee30, undefined);
|
|
750
2048
|
}));
|
|
751
2049
|
|
|
752
|
-
return function (
|
|
753
|
-
return
|
|
2050
|
+
return function (_x43, _x44) {
|
|
2051
|
+
return _ref38.apply(this, arguments);
|
|
754
2052
|
};
|
|
755
2053
|
}()
|
|
756
2054
|
// case "commit-eslint":
|
|
@@ -765,78 +2063,78 @@ var run = exports.run = function () {
|
|
|
765
2063
|
);
|
|
766
2064
|
|
|
767
2065
|
_commander2.default.command('server <cmd>').alias('s').option('-y0ba, --yk0-build-app <appName>', 'Building a specified application').option('-e, --env <envName>', 'yk server env').description('service control').action(function () {
|
|
768
|
-
var
|
|
769
|
-
var yk0BuildApp =
|
|
770
|
-
env =
|
|
2066
|
+
var _ref40 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee32(cmd, _ref39) {
|
|
2067
|
+
var yk0BuildApp = _ref39.yk0BuildApp,
|
|
2068
|
+
env = _ref39.env;
|
|
771
2069
|
|
|
772
|
-
var
|
|
2070
|
+
var _ref41, apps;
|
|
773
2071
|
|
|
774
|
-
return _regenerator2.default.wrap(function
|
|
2072
|
+
return _regenerator2.default.wrap(function _callee32$(_context32) {
|
|
775
2073
|
while (1) {
|
|
776
|
-
switch (
|
|
2074
|
+
switch (_context32.prev = _context32.next) {
|
|
777
2075
|
case 0:
|
|
778
2076
|
if (!(_os2.default.platform() === 'win32')) {
|
|
779
|
-
|
|
2077
|
+
_context32.next = 3;
|
|
780
2078
|
break;
|
|
781
2079
|
}
|
|
782
2080
|
|
|
783
2081
|
_consola2.default.error(_msg.errMsg['os.win32.cmd.server']);
|
|
784
|
-
return
|
|
2082
|
+
return _context32.abrupt('return');
|
|
785
2083
|
|
|
786
2084
|
case 3:
|
|
787
2085
|
process.env.NODE_ENV = 'production';
|
|
788
2086
|
process.env.NODE_CMD = 'server ' + cmd;
|
|
789
|
-
|
|
2087
|
+
_context32.next = 7;
|
|
790
2088
|
return gi({ app: yk0BuildApp, ykServerEnv: env });
|
|
791
2089
|
|
|
792
2090
|
case 7:
|
|
793
|
-
|
|
794
|
-
apps =
|
|
2091
|
+
_ref41 = _context32.sent;
|
|
2092
|
+
apps = _ref41.apps;
|
|
795
2093
|
|
|
796
2094
|
if (!['start', 'stop', 'restart', 'lite', 'container'].includes(cmd)) {
|
|
797
|
-
|
|
2095
|
+
_context32.next = 21;
|
|
798
2096
|
break;
|
|
799
2097
|
}
|
|
800
2098
|
|
|
801
|
-
|
|
802
|
-
|
|
2099
|
+
_context32.t0 = cmd;
|
|
2100
|
+
_context32.next = _context32.t0 === 'lite' ? 13 : 17;
|
|
803
2101
|
break;
|
|
804
2102
|
|
|
805
2103
|
case 13:
|
|
806
2104
|
alias({ appName: apps[0] });
|
|
807
|
-
|
|
2105
|
+
_context32.next = 16;
|
|
808
2106
|
return require(params.serverLite)(cmd);
|
|
809
2107
|
|
|
810
2108
|
case 16:
|
|
811
|
-
return
|
|
2109
|
+
return _context32.abrupt('break', 19);
|
|
812
2110
|
|
|
813
2111
|
case 17:
|
|
814
|
-
|
|
2112
|
+
_context32.next = 19;
|
|
815
2113
|
return _server._.asyncMap(apps, function () {
|
|
816
|
-
var
|
|
817
|
-
return _regenerator2.default.wrap(function
|
|
2114
|
+
var _ref42 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee31(key, j) {
|
|
2115
|
+
return _regenerator2.default.wrap(function _callee31$(_context31) {
|
|
818
2116
|
while (1) {
|
|
819
|
-
switch (
|
|
2117
|
+
switch (_context31.prev = _context31.next) {
|
|
820
2118
|
case 0:
|
|
821
2119
|
alias({ appName: key });
|
|
822
|
-
|
|
2120
|
+
_context31.next = 3;
|
|
823
2121
|
return require(params.serverPath)(cmd, key, j !== apps.length - 1);
|
|
824
2122
|
|
|
825
2123
|
case 3:
|
|
826
2124
|
case 'end':
|
|
827
|
-
return
|
|
2125
|
+
return _context31.stop();
|
|
828
2126
|
}
|
|
829
2127
|
}
|
|
830
|
-
},
|
|
2128
|
+
}, _callee31, undefined);
|
|
831
2129
|
}));
|
|
832
2130
|
|
|
833
|
-
return function (
|
|
834
|
-
return
|
|
2131
|
+
return function (_x47, _x48) {
|
|
2132
|
+
return _ref42.apply(this, arguments);
|
|
835
2133
|
};
|
|
836
2134
|
}());
|
|
837
2135
|
|
|
838
2136
|
case 19:
|
|
839
|
-
|
|
2137
|
+
_context32.next = 23;
|
|
840
2138
|
break;
|
|
841
2139
|
|
|
842
2140
|
case 21:
|
|
@@ -845,14 +2143,14 @@ var run = exports.run = function () {
|
|
|
845
2143
|
|
|
846
2144
|
case 23:
|
|
847
2145
|
case 'end':
|
|
848
|
-
return
|
|
2146
|
+
return _context32.stop();
|
|
849
2147
|
}
|
|
850
2148
|
}
|
|
851
|
-
},
|
|
2149
|
+
}, _callee32, undefined);
|
|
852
2150
|
}));
|
|
853
2151
|
|
|
854
|
-
return function (
|
|
855
|
-
return
|
|
2152
|
+
return function (_x45, _x46) {
|
|
2153
|
+
return _ref40.apply(this, arguments);
|
|
856
2154
|
};
|
|
857
2155
|
}()).on('--help', function () {
|
|
858
2156
|
console.log('');
|
|
@@ -864,29 +2162,29 @@ var run = exports.run = function () {
|
|
|
864
2162
|
});
|
|
865
2163
|
|
|
866
2164
|
_commander2.default.command('publish').alias('pub').description('Publish to server').action(function () {
|
|
867
|
-
var
|
|
868
|
-
return _regenerator2.default.wrap(function
|
|
2165
|
+
var _ref43 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee33(env, options) {
|
|
2166
|
+
return _regenerator2.default.wrap(function _callee33$(_context33) {
|
|
869
2167
|
while (1) {
|
|
870
|
-
switch (
|
|
2168
|
+
switch (_context33.prev = _context33.next) {
|
|
871
2169
|
case 0:
|
|
872
2170
|
process.env.NODE_TYPE = 'publish';
|
|
873
|
-
|
|
2171
|
+
_context33.next = 3;
|
|
874
2172
|
return gi();
|
|
875
2173
|
|
|
876
2174
|
case 3:
|
|
877
|
-
|
|
2175
|
+
_context33.next = 5;
|
|
878
2176
|
return require('../utils/deployment')();
|
|
879
2177
|
|
|
880
2178
|
case 5:
|
|
881
2179
|
case 'end':
|
|
882
|
-
return
|
|
2180
|
+
return _context33.stop();
|
|
883
2181
|
}
|
|
884
2182
|
}
|
|
885
|
-
},
|
|
2183
|
+
}, _callee33, undefined);
|
|
886
2184
|
}));
|
|
887
2185
|
|
|
888
|
-
return function (
|
|
889
|
-
return
|
|
2186
|
+
return function (_x49, _x50) {
|
|
2187
|
+
return _ref43.apply(this, arguments);
|
|
890
2188
|
};
|
|
891
2189
|
}());
|
|
892
2190
|
|
|
@@ -895,18 +2193,18 @@ var run = exports.run = function () {
|
|
|
895
2193
|
process.exit(2);
|
|
896
2194
|
});
|
|
897
2195
|
|
|
898
|
-
_commander2.default.parse(
|
|
2196
|
+
_commander2.default.parse(argv);
|
|
899
2197
|
|
|
900
|
-
case
|
|
2198
|
+
case 32:
|
|
901
2199
|
case 'end':
|
|
902
|
-
return
|
|
2200
|
+
return _context34.stop();
|
|
903
2201
|
}
|
|
904
2202
|
}
|
|
905
|
-
},
|
|
2203
|
+
}, _callee34, undefined, [[3, 12]]);
|
|
906
2204
|
}));
|
|
907
2205
|
|
|
908
|
-
return function run(
|
|
909
|
-
return
|
|
2206
|
+
return function run(_x37) {
|
|
2207
|
+
return _ref22.apply(this, arguments);
|
|
910
2208
|
};
|
|
911
2209
|
}();
|
|
912
2210
|
|