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.
Files changed (2) hide show
  1. package/cli/index.js +1750 -452
  2. 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 nuxtCli = _interopRequireWildcard(_cli);
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
- var _consola = require('consola');
1328
+ return function ensureLocalClnCiBinary() {
1329
+ return _ref16.apply(this, arguments);
1330
+ };
1331
+ }();
53
1332
 
54
- var _consola2 = _interopRequireDefault(_consola);
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
- var _msg = require('../config/msg');
1345
+ case 3:
1346
+ _context17.next = 5;
1347
+ return ensureClnCiDir(getClnCiBinRootDir());
57
1348
 
58
- var _os = require('os');
1349
+ case 5:
1350
+ if (!options.preferLocal) {
1351
+ _context17.next = 14;
1352
+ break;
1353
+ }
59
1354
 
60
- var _os2 = _interopRequireDefault(_os);
1355
+ _context17.prev = 6;
1356
+ _context17.next = 9;
1357
+ return ensureLocalClnCiBinary();
61
1358
 
62
- var _rimraf = require('rimraf');
1359
+ case 9:
1360
+ return _context17.abrupt('return', _context17.sent);
63
1361
 
64
- var _rimraf2 = _interopRequireDefault(_rimraf);
1362
+ case 12:
1363
+ _context17.prev = 12;
1364
+ _context17.t0 = _context17['catch'](6);
65
1365
 
66
- var _verify = require('../utils/verify');
1366
+ case 14:
1367
+ _context17.next = 16;
1368
+ return isClnCiReachable();
67
1369
 
68
- var _server = require('yakuza1/server');
1370
+ case 16:
1371
+ online = _context17.sent;
1372
+ currentPlatformId = platformKey.os + '-' + platformKey.arch;
69
1373
 
70
- var _commandExists = require('command-exists');
1374
+ if (online) {
1375
+ _context17.next = 22;
1376
+ break;
1377
+ }
71
1378
 
72
- var _connectionTester = require('connection-tester');
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
- var _connectionTester2 = _interopRequireDefault(_connectionTester);
1400
+ if (currentPlatformInfo) {
1401
+ _context17.next = 29;
1402
+ break;
1403
+ }
75
1404
 
76
- var _jsonFormat = require('json-format');
1405
+ throw new Error('No cln-ci build for ' + platformKey.os + '/' + platformKey.arch);
77
1406
 
78
- var _jsonFormat2 = _interopRequireDefault(_jsonFormat);
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
- var _syncRequest = require('sync-request');
1419
+ case 3:
1420
+ _context16.next = 12;
1421
+ break;
81
1422
 
82
- var _syncRequest2 = _interopRequireDefault(_syncRequest);
1423
+ case 5:
1424
+ _context16.prev = 5;
1425
+ _context16.t0 = _context16['catch'](0);
83
1426
 
84
- 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; } }
1427
+ if (!(resolvePlatformId(entry) === resolvePlatformId(currentPlatformInfo))) {
1428
+ _context16.next = 9;
1429
+ break;
1430
+ }
85
1431
 
86
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1432
+ throw _context16.t0;
87
1433
 
88
- process.env.YK_USAGE = 'CLI';
1434
+ case 9:
1435
+ _context16.next = 11;
1436
+ return removeDirIfEmpty(getClnCiCacheDir(resolvePlatformId(entry)));
89
1437
 
90
- var _require = require('child_process'),
91
- execSync = _require.execSync,
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
- // const util = require('util');
95
- // const spawn = util.promisify(require('child_process').spawn);
1441
+ case 12:
1442
+ case 'end':
1443
+ return _context16.stop();
1444
+ }
1445
+ }
1446
+ }, _callee16, undefined, [[0, 5]]);
1447
+ }));
96
1448
 
97
- if (_semver2.default.satisfies(process.versions.node, '>= 6.0.0')) require('v8-compile-cache');
1449
+ return function (_x31) {
1450
+ return _ref18.apply(this, arguments);
1451
+ };
1452
+ }()));
98
1453
 
99
- var params = {
100
- serverPath: '../server',
101
- serverLite: '../server/mode/lite'
102
- };
1454
+ case 31:
1455
+ _context17.next = 33;
1456
+ return ensureClnCiPlatformBinary(currentPlatformInfo, true);
103
1457
 
104
- // const watchChange = (watchPaths = [], callback) => {
105
- // const watcher = chokidar.watch(watchPaths, {
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
- var gi = function () {
114
- var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
115
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1461
+ case 34:
1462
+ case 'end':
1463
+ return _context17.stop();
1464
+ }
1465
+ }
1466
+ }, _callee17, undefined, [[6, 12]]);
1467
+ }));
116
1468
 
117
- var app, dkyModeDef, ykServerEnv, enabledAll, appsNoneExit, apps, _ref2, conf;
1469
+ return function ensureClnCiBinary() {
1470
+ return _ref17.apply(this, arguments);
1471
+ };
1472
+ }();
118
1473
 
119
- return _regenerator2.default.wrap(function _callee$(_context) {
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 (_context.prev = _context.next) {
1478
+ switch (_context18.prev = _context18.next) {
122
1479
  case 0:
123
- app = options.app || process.env.npm_config_yk0_build_app || process.env.npm_config_y0ba;
124
- dkyModeDef = process.env.NODE_ENV === 'development' ? 'dev' : 'normal';
125
- ykServerEnv = process.env.YK_SERVER_ENV || options.ykServerEnv || 'local';
126
- enabledAll = process.env.YK_MACHINE_TYPE === 'workstation';
127
- appsNoneExit = typeof options.appsNoneExit === 'boolean' ? options.appsNoneExit : true;
128
- // console.log(ykServerEnv);
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
- if (!_paths2.default.access(_paths2.default.envPath())) {
131
- _consola2.default.error(_msg.errMsg["server.config.none"]);
132
- process.exit(1);
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
- apps = [];
1497
+ case 2:
1498
+ return _context18.abrupt('return', _context18.sent);
136
1499
 
137
- if (typeof app === 'string') {
138
- apps = app.split(',').map(function (a) {
139
- return 'app.' + a;
140
- });
141
- }
1500
+ case 3:
1501
+ case 'end':
1502
+ return _context18.stop();
1503
+ }
1504
+ }
1505
+ }, _callee18, undefined);
1506
+ }));
142
1507
 
143
- _paths2.default.interfereFile.forEach(function (p) {
144
- _rimraf2.default.sync(p);
145
- });
146
- _context.next = 11;
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
- case 11:
156
- _ref2 = _context.sent;
157
- conf = _ref2.conf;
1513
+ var parseClnCiArgs = function parseClnCiArgs() {
1514
+ var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
158
1515
 
159
- if (!conf.extend.plugins.husky.enabled) {
160
- _context.next = 18;
161
- break;
162
- }
1516
+ var passThroughArgs = [];
1517
+ var preferLocal = false;
163
1518
 
164
- _context.next = 16;
165
- return (0, _verify.commitInit)();
1519
+ args.forEach(function (arg) {
1520
+ if (arg === '--local-bin') {
1521
+ preferLocal = true;
1522
+ return;
1523
+ }
1524
+ passThroughArgs.push(arg);
1525
+ });
166
1526
 
167
- case 16:
168
- _context.next = 19;
169
- break;
1527
+ return {
1528
+ preferLocal: preferLocal,
1529
+ args: passThroughArgs
1530
+ };
1531
+ };
170
1532
 
171
- case 18:
172
- _paths2.default.rm(_paths2.default.gitHooksCommitMsg);
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
- case 19:
1537
+ var parsed, _ref21, binaryPath;
175
1538
 
176
- if (conf.dev) {
177
- // conf
178
- (0, _server.watchDirChange)([_paths2.default.ykConfigJs, _paths2.default.envPath(), _paths2.default.envPath(ykServerEnv)], function () {
179
- (0, _inclusive2.default)({
180
- apps: apps,
181
- enabledAll: enabledAll,
182
- ykServerEnv: ykServerEnv,
183
- pkg: _package2.default,
184
- dkyModeDef: 'dev'
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
- if (apps.length === 0) {
190
- apps = _server._.compact(_server._.map(conf.router.config, function (v, key) {
191
- if (v.enabled) {
192
- return key;
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
- if (apps.length === 0 && appsNoneExit) {
198
- _consola2.default.error(_msg.errMsg["server.apps.none"]);
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 23:
1558
+ case 8:
204
1559
  case 'end':
205
- return _context.stop();
1560
+ return _context19.stop();
206
1561
  }
207
1562
  }
208
- }, _callee, undefined);
1563
+ }, _callee19, undefined);
209
1564
  }));
210
1565
 
211
- return function gi() {
212
- return _ref.apply(this, arguments);
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 _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_argv) {
228
- return _regenerator2.default.wrap(function _callee17$(_context17) {
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 (_context17.prev = _context17.next) {
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 _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref4) {
236
- var yk0BuildApp = _ref4.yk0BuildApp,
237
- env = _ref4.env,
238
- mode = _ref4.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 _ref6, apps, bin;
1619
+ var _ref25, apps, bin;
241
1620
 
242
- return _regenerator2.default.wrap(function _callee2$(_context2) {
1621
+ return _regenerator2.default.wrap(function _callee20$(_context20) {
243
1622
  while (1) {
244
- switch (_context2.prev = _context2.next) {
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
- _context2.next = 4;
1628
+ _context20.next = 4;
250
1629
  return gi({ app: yk0BuildApp, ykServerEnv: env });
251
1630
 
252
1631
  case 4:
253
- _ref6 = _context2.sent;
254
- apps = _ref6.apps;
1632
+ _ref25 = _context20.sent;
1633
+ apps = _ref25.apps;
255
1634
  bin = "yk-dev";
256
- _context2.t0 = _os2.default.type();
257
- _context2.next = _context2.t0 === "Linux" ? 10 : 12;
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 _context2.abrupt('break', 12);
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 _context2.stop();
1659
+ return _context20.stop();
281
1660
  }
282
1661
  }
283
- }, _callee2, undefined);
1662
+ }, _callee20, undefined);
284
1663
  }));
285
1664
 
286
- return function (_x4) {
287
- return _ref5.apply(this, arguments);
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 _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(cmd) {
295
- return _regenerator2.default.wrap(function _callee4$(_context4) {
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 (_context4.prev = _context4.next) {
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
- _context4.next = 3;
1681
+ _context22.next = 3;
303
1682
  return _server._.asyncMap(cmd.split(','), function () {
304
- var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(key) {
305
- return _regenerator2.default.wrap(function _callee3$(_context3) {
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 (_context3.prev = _context3.next) {
1686
+ switch (_context21.prev = _context21.next) {
308
1687
  case 0:
309
1688
  alias({ appName: key });
310
- _context3.next = 3;
1689
+ _context21.next = 3;
311
1690
  return require(params.serverPath)('dev', key);
312
1691
 
313
1692
  case 3:
314
1693
  case 'end':
315
- return _context3.stop();
1694
+ return _context21.stop();
316
1695
  }
317
1696
  }
318
- }, _callee3, undefined);
1697
+ }, _callee21, undefined);
319
1698
  }));
320
1699
 
321
- return function (_x6) {
322
- return _ref8.apply(this, arguments);
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 _context4.stop();
1707
+ return _context22.stop();
329
1708
  }
330
1709
  }
331
- }, _callee4, undefined);
1710
+ }, _callee22, undefined);
332
1711
  }));
333
1712
 
334
- return function (_x5) {
335
- return _ref7.apply(this, arguments);
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 _callee5() {
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 _callee5$(_context5) {
1721
+ return _regenerator2.default.wrap(function _callee23$(_context23) {
343
1722
  while (1) {
344
- switch (_context5.prev = _context5.next) {
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 _context5.stop();
1746
+ return _context23.stop();
368
1747
  }
369
1748
  }
370
- }, _callee5, undefined);
1749
+ }, _callee23, undefined);
371
1750
  })));
372
1751
 
373
- _commander2.default.command('image').description('Build image.').option('-nc, --no-cache', 'Do not use cache when building the image').action((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6() {
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 _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref11) {
525
- var yk0BuildApp = _ref11.yk0BuildApp,
526
- env = _ref11.env,
527
- wk = _ref11.workers;
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 _ref13, apps, workers, cpuLen, i, run;
1762
+ var _ref31, apps, workers, cpuLen, concurrency, nextIndex, activeChildren, heartbeat, buildSucceeded, abortState, stopActiveChildren, runWorker;
530
1763
 
531
- return _regenerator2.default.wrap(function _callee8$(_context8) {
1764
+ return _regenerator2.default.wrap(function _callee25$(_context25) {
532
1765
  while (1) {
533
- switch (_context8.prev = _context8.next) {
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
- _context8.next = 5;
1776
+ _context25.next = 5;
544
1777
  return gi({ app: yk0BuildApp, ykServerEnv: env });
545
1778
 
546
1779
  case 5:
547
- _ref13 = _context8.sent;
548
- apps = _ref13.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
- i = 0;
1791
+ if (!(0, _isInteger2.default)(cpuLen) || cpuLen <= 0) {
1792
+ cpuLen = 1;
1793
+ }
559
1794
 
560
- run = function run() {
561
- var key = apps[i];
562
- if (key) {
563
- var child = spawn('yk', ['bd', key], { shell: true, stdio: 'inherit' });
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
- child.on('close', function (exitCode) {
566
- i = i + 1;
567
- run(i);
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
- _server._.asyncMap(apps, function () {
573
- var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(key, j) {
574
- return _regenerator2.default.wrap(function _callee7$(_context7) {
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 (_context7.prev = _context7.next) {
1818
+ switch (_context24.prev = _context24.next) {
577
1819
  case 0:
578
- if (j < cpuLen) {
579
- i = j;
580
- run();
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 1:
1851
+ case 14:
584
1852
  case 'end':
585
- return _context7.stop();
1853
+ return _context24.stop();
586
1854
  }
587
1855
  }
588
- }, _callee7, undefined);
1856
+ }, _callee24, undefined, [[3, 8]]);
589
1857
  }));
590
1858
 
591
- return function (_x8, _x9) {
592
- return _ref14.apply(this, arguments);
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 13:
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 _context8.stop();
1896
+ return _context25.stop();
599
1897
  }
600
1898
  }
601
- }, _callee8, undefined);
1899
+ }, _callee25, undefined, [[19, 27, 31, 35]]);
602
1900
  }));
603
1901
 
604
- return function (_x7) {
605
- return _ref12.apply(this, arguments);
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 _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(cmd) {
614
- return _regenerator2.default.wrap(function _callee9$(_context9) {
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 (_context9.prev = _context9.next) {
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
- _context9.next = 5;
1921
+ _context26.next = 5;
624
1922
  return require(params.serverPath)('build', cmd);
625
1923
 
626
1924
  case 5:
627
1925
  case 'end':
628
- return _context9.stop();
1926
+ return _context26.stop();
629
1927
  }
630
1928
  }
631
- }, _callee9, undefined);
1929
+ }, _callee26, undefined);
632
1930
  }));
633
1931
 
634
- return function (_x10) {
635
- return _ref15.apply(this, arguments);
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 _callee10() {
640
- return _regenerator2.default.wrap(function _callee10$(_context10) {
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 (_context10.prev = _context10.next) {
1940
+ switch (_context27.prev = _context27.next) {
643
1941
  case 0:
644
1942
  process.env.NODE_ENV = 'production';
645
- _context10.next = 3;
1943
+ _context27.next = 3;
646
1944
  return gi();
647
1945
 
648
1946
  case 3:
649
- _context10.prev = 3;
650
- _context10.next = 6;
1947
+ _context27.prev = 3;
1948
+ _context27.next = 6;
651
1949
  return nuxtCli.run(['generate']);
652
1950
 
653
1951
  case 6:
654
- _context10.next = 12;
1952
+ _context27.next = 12;
655
1953
  break;
656
1954
 
657
1955
  case 8:
658
- _context10.prev = 8;
659
- _context10.t0 = _context10['catch'](3);
1956
+ _context27.prev = 8;
1957
+ _context27.t0 = _context27['catch'](3);
660
1958
 
661
- _consola2.default.fatal(_context10.t0);
1959
+ _consola2.default.fatal(_context27.t0);
662
1960
  process.exit(2);
663
1961
 
664
1962
  case 12:
665
1963
  case 'end':
666
- return _context10.stop();
1964
+ return _context27.stop();
667
1965
  }
668
1966
  }
669
- }, _callee10, undefined, [[3, 8]]);
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 _callee11() {
673
- return _regenerator2.default.wrap(function _callee11$(_context11) {
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 (_context11.prev = _context11.next) {
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 _context11.stop();
1980
+ return _context28.stop();
683
1981
  }
684
1982
  }
685
- }, _callee11, undefined);
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 _callee12() {
689
- return _regenerator2.default.wrap(function _callee12$(_context12) {
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 (_context12.prev = _context12.next) {
1989
+ switch (_context29.prev = _context29.next) {
692
1990
  case 0:
693
- _context12.next = 2;
1991
+ _context29.next = 2;
694
1992
  return (0, _compress2.default)();
695
1993
 
696
1994
  case 2:
697
1995
  case 'end':
698
- return _context12.stop();
1996
+ return _context29.stop();
699
1997
  }
700
1998
  }
701
- }, _callee12, undefined);
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 _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(cmd, _ref19) {
706
- var edit = _ref19.edit,
707
- msg = _ref19.msg,
708
- yk0BuildApp = _ref19.yk0BuildApp,
709
- env = _ref19.env;
710
- return _regenerator2.default.wrap(function _callee13$(_context13) {
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 (_context13.prev = _context13.next) {
2010
+ switch (_context30.prev = _context30.next) {
713
2011
  case 0:
714
2012
  alias({ appName: "__common" });
715
2013
 
716
2014
  if (!(cmd !== "commit-init")) {
717
- _context13.next = 4;
2015
+ _context30.next = 4;
718
2016
  break;
719
2017
  }
720
2018
 
721
- _context13.next = 4;
2019
+ _context30.next = 4;
722
2020
  return gi({ app: yk0BuildApp, ykServerEnv: env, appsNoneExit: false });
723
2021
 
724
2022
  case 4:
725
- _context13.t0 = cmd;
726
- _context13.next = _context13.t0 === "commit-init" ? 7 : 8;
2023
+ _context30.t0 = cmd;
2024
+ _context30.next = _context30.t0 === "commit-init" ? 7 : 8;
727
2025
  break;
728
2026
 
729
2027
  case 7:
730
- return _context13.abrupt('break', 14);
2028
+ return _context30.abrupt('break', 14);
731
2029
 
732
2030
  case 8:
733
- _context13.next = 10;
2031
+ _context30.next = 10;
734
2032
  return (0, _verify.commitEsLint)({ edit: edit });
735
2033
 
736
2034
  case 10:
737
- _context13.next = 12;
2035
+ _context30.next = 12;
738
2036
  return (0, _verify.commitStyleLint)({ edit: edit });
739
2037
 
740
2038
  case 12:
741
- _context13.next = 14;
2039
+ _context30.next = 14;
742
2040
  return (0, _verify.commitMsg)({ edit: msg });
743
2041
 
744
2042
  case 14:
745
2043
  case 'end':
746
- return _context13.stop();
2044
+ return _context30.stop();
747
2045
  }
748
2046
  }
749
- }, _callee13, undefined);
2047
+ }, _callee30, undefined);
750
2048
  }));
751
2049
 
752
- return function (_x11, _x12) {
753
- return _ref20.apply(this, arguments);
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 _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(cmd, _ref21) {
769
- var yk0BuildApp = _ref21.yk0BuildApp,
770
- env = _ref21.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 _ref23, apps;
2070
+ var _ref41, apps;
773
2071
 
774
- return _regenerator2.default.wrap(function _callee15$(_context15) {
2072
+ return _regenerator2.default.wrap(function _callee32$(_context32) {
775
2073
  while (1) {
776
- switch (_context15.prev = _context15.next) {
2074
+ switch (_context32.prev = _context32.next) {
777
2075
  case 0:
778
2076
  if (!(_os2.default.platform() === 'win32')) {
779
- _context15.next = 3;
2077
+ _context32.next = 3;
780
2078
  break;
781
2079
  }
782
2080
 
783
2081
  _consola2.default.error(_msg.errMsg['os.win32.cmd.server']);
784
- return _context15.abrupt('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
- _context15.next = 7;
2087
+ _context32.next = 7;
790
2088
  return gi({ app: yk0BuildApp, ykServerEnv: env });
791
2089
 
792
2090
  case 7:
793
- _ref23 = _context15.sent;
794
- apps = _ref23.apps;
2091
+ _ref41 = _context32.sent;
2092
+ apps = _ref41.apps;
795
2093
 
796
2094
  if (!['start', 'stop', 'restart', 'lite', 'container'].includes(cmd)) {
797
- _context15.next = 21;
2095
+ _context32.next = 21;
798
2096
  break;
799
2097
  }
800
2098
 
801
- _context15.t0 = cmd;
802
- _context15.next = _context15.t0 === 'lite' ? 13 : 17;
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
- _context15.next = 16;
2105
+ _context32.next = 16;
808
2106
  return require(params.serverLite)(cmd);
809
2107
 
810
2108
  case 16:
811
- return _context15.abrupt('break', 19);
2109
+ return _context32.abrupt('break', 19);
812
2110
 
813
2111
  case 17:
814
- _context15.next = 19;
2112
+ _context32.next = 19;
815
2113
  return _server._.asyncMap(apps, function () {
816
- var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(key, j) {
817
- return _regenerator2.default.wrap(function _callee14$(_context14) {
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 (_context14.prev = _context14.next) {
2117
+ switch (_context31.prev = _context31.next) {
820
2118
  case 0:
821
2119
  alias({ appName: key });
822
- _context14.next = 3;
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 _context14.stop();
2125
+ return _context31.stop();
828
2126
  }
829
2127
  }
830
- }, _callee14, undefined);
2128
+ }, _callee31, undefined);
831
2129
  }));
832
2130
 
833
- return function (_x15, _x16) {
834
- return _ref24.apply(this, arguments);
2131
+ return function (_x47, _x48) {
2132
+ return _ref42.apply(this, arguments);
835
2133
  };
836
2134
  }());
837
2135
 
838
2136
  case 19:
839
- _context15.next = 23;
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 _context15.stop();
2146
+ return _context32.stop();
849
2147
  }
850
2148
  }
851
- }, _callee15, undefined);
2149
+ }, _callee32, undefined);
852
2150
  }));
853
2151
 
854
- return function (_x13, _x14) {
855
- return _ref22.apply(this, arguments);
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 _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(env, options) {
868
- return _regenerator2.default.wrap(function _callee16$(_context16) {
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 (_context16.prev = _context16.next) {
2168
+ switch (_context33.prev = _context33.next) {
871
2169
  case 0:
872
2170
  process.env.NODE_TYPE = 'publish';
873
- _context16.next = 3;
2171
+ _context33.next = 3;
874
2172
  return gi();
875
2173
 
876
2174
  case 3:
877
- _context16.next = 5;
2175
+ _context33.next = 5;
878
2176
  return require('../utils/deployment')();
879
2177
 
880
2178
  case 5:
881
2179
  case 'end':
882
- return _context16.stop();
2180
+ return _context33.stop();
883
2181
  }
884
2182
  }
885
- }, _callee16, undefined);
2183
+ }, _callee33, undefined);
886
2184
  }));
887
2185
 
888
- return function (_x17, _x18) {
889
- return _ref25.apply(this, arguments);
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(process.argv);
2196
+ _commander2.default.parse(argv);
899
2197
 
900
- case 15:
2198
+ case 32:
901
2199
  case 'end':
902
- return _context17.stop();
2200
+ return _context34.stop();
903
2201
  }
904
2202
  }
905
- }, _callee17, undefined);
2203
+ }, _callee34, undefined, [[3, 12]]);
906
2204
  }));
907
2205
 
908
- return function run(_x3) {
909
- return _ref3.apply(this, arguments);
2206
+ return function run(_x37) {
2207
+ return _ref22.apply(this, arguments);
910
2208
  };
911
2209
  }();
912
2210