@cocojs/cli 0.0.1-alpha202511172053 → 0.1.0-beta.20

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/dist/index.js CHANGED
@@ -7,6 +7,8 @@ var path$1 = require('node:path');
7
7
  var rollup = require('rollup');
8
8
  var typescript = require('@rollup/plugin-typescript');
9
9
  var babel = require('@rollup/plugin-babel');
10
+ var cocojs = require('@cocojs/rollup-plugin-mvc');
11
+ var fs = require('node:fs');
10
12
 
11
13
  function _arrayLikeToArray(r, a) {
12
14
  (null == a || a > r.length) && (a = r.length);
@@ -16,6 +18,31 @@ function _arrayLikeToArray(r, a) {
16
18
  function _arrayWithHoles(r) {
17
19
  if (Array.isArray(r)) return r;
18
20
  }
21
+ function asyncGeneratorStep(n, t, e, r, o, a, c) {
22
+ try {
23
+ var i = n[a](c),
24
+ u = i.value;
25
+ } catch (n) {
26
+ return void e(n);
27
+ }
28
+ i.done ? t(u) : Promise.resolve(u).then(r, o);
29
+ }
30
+ function _asyncToGenerator(n) {
31
+ return function () {
32
+ var t = this,
33
+ e = arguments;
34
+ return new Promise(function (r, o) {
35
+ var a = n.apply(t, e);
36
+ function _next(n) {
37
+ asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
38
+ }
39
+ function _throw(n) {
40
+ asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
41
+ }
42
+ _next(void 0);
43
+ });
44
+ };
45
+ }
19
46
  function _classCallCheck(a, n) {
20
47
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
21
48
  }
@@ -30,6 +57,14 @@ function _createClass(e, r, t) {
30
57
  writable: false
31
58
  }), e;
32
59
  }
60
+ function _defineProperty(e, r, t) {
61
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
62
+ value: t,
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true
66
+ }) : e[r] = t, e;
67
+ }
33
68
  function _iterableToArrayLimit(r, l) {
34
69
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
35
70
  if (null != t) {
@@ -190,41 +225,14 @@ function _unsupportedIterableToArray(r, a) {
190
225
  }
191
226
  }
192
227
 
193
- function __awaiter(thisArg, _arguments, P, generator) {
194
- function adopt(value) {
195
- return value instanceof P ? value : new P(function (resolve) {
196
- resolve(value);
197
- });
198
- }
199
- return new (P || (P = Promise))(function (resolve, reject) {
200
- function fulfilled(value) {
201
- try {
202
- step(generator.next(value));
203
- } catch (e) {
204
- reject(e);
205
- }
206
- }
207
- function rejected(value) {
208
- try {
209
- step(generator["throw"](value));
210
- } catch (e) {
211
- reject(e);
212
- }
213
- }
214
- function step(result) {
215
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
216
- }
217
- step((generator = generator.apply(thisArg, _arguments || [])).next());
218
- });
219
- }
220
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
221
- var e = new Error(message);
222
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
223
- };
224
-
225
228
  var WorkFlow = /*#__PURE__*/function () {
226
229
  function WorkFlow() {
227
230
  _classCallCheck(this, WorkFlow);
231
+ _defineProperty(this, "webpackProcess", void 0);
232
+ _defineProperty(this, "buildDotCocoProcess", void 0);
233
+ _defineProperty(this, "processingTask", void 0);
234
+ _defineProperty(this, "resolve", void 0);
235
+ _defineProperty(this, "reject", void 0);
228
236
  this.init();
229
237
  }
230
238
  return _createClass(WorkFlow, [{
@@ -275,10 +283,10 @@ var WorkFlow = /*#__PURE__*/function () {
275
283
  }, {
276
284
  key: "webpackMessageCb",
277
285
  value: function webpackMessageCb(msg) {
278
- var _a;
286
+ var _this$resolve;
279
287
  switch (msg) {
280
288
  case 'build-success':
281
- (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this);
289
+ (_this$resolve = this.resolve) === null || _this$resolve === void 0 || _this$resolve.call(this);
282
290
  break;
283
291
  default:
284
292
  console.info('rcv msg from webpack process', msg);
@@ -287,32 +295,46 @@ var WorkFlow = /*#__PURE__*/function () {
287
295
  }
288
296
  }, {
289
297
  key: "build",
290
- value: function build() {
291
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
298
+ value: function () {
299
+ var _build = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
292
300
  return _regenerator().w(function (_context) {
293
301
  while (1) switch (_context.n) {
294
302
  case 0:
295
- return _context.a(2, this.run('build-once'));
303
+ _context.n = 1;
304
+ return this.run('build-once');
305
+ case 1:
306
+ return _context.a(2, _context.v);
296
307
  }
297
308
  }, _callee, this);
298
309
  }));
299
- }
310
+ function build() {
311
+ return _build.apply(this, arguments);
312
+ }
313
+ return build;
314
+ }()
300
315
  }, {
301
316
  key: "dev",
302
- value: function dev() {
303
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {
317
+ value: function () {
318
+ var _dev = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
304
319
  return _regenerator().w(function (_context2) {
305
320
  while (1) switch (_context2.n) {
306
321
  case 0:
307
- return _context2.a(2, this.run('build-and-watch'));
322
+ _context2.n = 1;
323
+ return this.run('build-and-watch');
324
+ case 1:
325
+ return _context2.a(2, _context2.v);
308
326
  }
309
327
  }, _callee2, this);
310
328
  }));
311
- }
329
+ function dev() {
330
+ return _dev.apply(this, arguments);
331
+ }
332
+ return dev;
333
+ }()
312
334
  }, {
313
335
  key: "run",
314
- value: function run(task) {
315
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee3() {
336
+ value: function () {
337
+ var _run = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(task) {
316
338
  var _this3 = this;
317
339
  return _regenerator().w(function (_context3) {
318
340
  while (1) switch (_context3.n) {
@@ -332,7 +354,11 @@ var WorkFlow = /*#__PURE__*/function () {
332
354
  }
333
355
  }, _callee3, this);
334
356
  }));
335
- }
357
+ function run(_x) {
358
+ return _run.apply(this, arguments);
359
+ }
360
+ return run;
361
+ }()
336
362
  }, {
337
363
  key: "terminate",
338
364
  value: function terminate() {
@@ -347,7 +373,10 @@ var WorkFlow = /*#__PURE__*/function () {
347
373
  }();
348
374
 
349
375
  function devApp() {
350
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
376
+ return _devApp.apply(this, arguments);
377
+ }
378
+ function _devApp() {
379
+ _devApp = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
351
380
  var workflow;
352
381
  return _regenerator().w(function (_context) {
353
382
  while (1) switch (_context.n) {
@@ -361,10 +390,14 @@ function devApp() {
361
390
  }
362
391
  }, _callee);
363
392
  }));
393
+ return _devApp.apply(this, arguments);
364
394
  }
365
395
 
366
396
  function buildApp() {
367
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
397
+ return _buildApp.apply(this, arguments);
398
+ }
399
+ function _buildApp() {
400
+ _buildApp = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
368
401
  var workFlow;
369
402
  return _regenerator().w(function (_context) {
370
403
  while (1) switch (_context.n) {
@@ -380,18 +413,125 @@ function buildApp() {
380
413
  }
381
414
  }, _callee);
382
415
  }));
416
+ return _buildApp.apply(this, arguments);
383
417
  }
384
418
 
385
- var build = function build() {
386
- return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
387
- var result;
419
+ var cmdDefaultEnvMap = {
420
+ dev: 'dev',
421
+ build: 'prod'
422
+ };
423
+ var defaultConfigName = 'config.js';
424
+ /**
425
+ * 得到构建配置的名称
426
+ */
427
+ var configFileName = function configFileName(cmd) {
428
+ var env = process$1.env.NODE_ENV || cmdDefaultEnvMap[cmd] || '';
429
+ return env ? "config.".concat(env, ".js") : defaultConfigName;
430
+ };
431
+
432
+ var ValidProp;
433
+ (function (ValidProp) {
434
+ ValidProp["cocojs"] = "cocojs";
435
+ })(ValidProp || (ValidProp = {}));
436
+ function readRollup(_x) {
437
+ return _readRollup.apply(this, arguments);
438
+ } // 目前 rollup 的配置仅支持简单的自定义,后续有需求再增强
439
+ function _readRollup() {
440
+ _readRollup = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(cmd) {
441
+ var _yield$import, _content$rollup;
442
+ var filename, filepath, content, _t, _t2, _t3;
443
+ return _regenerator().w(function (_context2) {
444
+ while (1) switch (_context2.n) {
445
+ case 0:
446
+ filename = cmd ? configFileName(cmd) : defaultConfigName;
447
+ filepath = path$1.resolve(process$1.cwd(), "config/".concat(filename));
448
+ if (fs.existsSync(filepath)) {
449
+ _context2.n = 1;
450
+ break;
451
+ }
452
+ console.warn("\u914D\u7F6E\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1A".concat(filepath));
453
+ return _context2.a(2, {});
454
+ case 1:
455
+ _context2.n = 2;
456
+ return import(filepath);
457
+ case 2:
458
+ _t2 = _yield$import = _context2.v;
459
+ _t = _t2 === null;
460
+ if (_t) {
461
+ _context2.n = 3;
462
+ break;
463
+ }
464
+ _t = _yield$import === void 0;
465
+ case 3:
466
+ if (!_t) {
467
+ _context2.n = 4;
468
+ break;
469
+ }
470
+ _t3 = void 0;
471
+ _context2.n = 5;
472
+ break;
473
+ case 4:
474
+ _t3 = _yield$import["default"];
475
+ case 5:
476
+ content = _t3;
477
+ return _context2.a(2, (_content$rollup = content === null || content === void 0 ? void 0 : content.rollup) !== null && _content$rollup !== void 0 ? _content$rollup : {});
478
+ }
479
+ }, _callee2);
480
+ }));
481
+ return _readRollup.apply(this, arguments);
482
+ }
483
+ function mergeRollupConfig(config1, config2) {
484
+ var validKeys = [ValidProp.cocojs];
485
+ var _config1 = {};
486
+ var _config2 = {};
487
+ for (var _i = 0, _validKeys = validKeys; _i < _validKeys.length; _i++) {
488
+ var key = _validKeys[_i];
489
+ if ((config1 === null || config1 === void 0 ? void 0 : config1[key]) !== undefined) {
490
+ _config1[key] = config1[key];
491
+ }
492
+ if ((config2 === null || config2 === void 0 ? void 0 : config2[key]) !== undefined) {
493
+ _config2[key] = config2[key];
494
+ }
495
+ }
496
+ return Object.assign({}, _config1, _config2);
497
+ }
498
+ function getRollupConfig() {
499
+ return _getRollupConfig.apply(this, arguments);
500
+ }
501
+ function _getRollupConfig() {
502
+ _getRollupConfig = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
503
+ var baseConfig, envConfig;
504
+ return _regenerator().w(function (_context3) {
505
+ while (1) switch (_context3.n) {
506
+ case 0:
507
+ _context3.n = 1;
508
+ return readRollup();
509
+ case 1:
510
+ baseConfig = _context3.v;
511
+ _context3.n = 2;
512
+ return readRollup('build');
513
+ case 2:
514
+ envConfig = _context3.v;
515
+ return _context3.a(2, mergeRollupConfig(baseConfig, envConfig));
516
+ }
517
+ }, _callee3);
518
+ }));
519
+ return _getRollupConfig.apply(this, arguments);
520
+ }
521
+ var build = /*#__PURE__*/function () {
522
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
523
+ var config, result;
388
524
  return _regenerator().w(function (_context) {
389
525
  while (1) switch (_context.n) {
390
526
  case 0:
391
527
  _context.n = 1;
528
+ return getRollupConfig();
529
+ case 1:
530
+ config = _context.v;
531
+ _context.n = 2;
392
532
  return rollup.rollup({
393
- input: path$1.join(process$1.cwd(), './src/lib.ts'),
394
- plugins: [typescript({
533
+ input: path$1.join(process$1.cwd(), './src/index.ts'),
534
+ plugins: [cocojs(config[ValidProp.cocojs]), typescript({
395
535
  compilerOptions: {
396
536
  target: 'ESNext',
397
537
  lib: ['dom', 'esnext'],
@@ -416,71 +556,92 @@ var build = function build() {
416
556
  }]]
417
557
  })]
418
558
  });
419
- case 1:
559
+ case 2:
420
560
  result = _context.v;
421
- _context.n = 2;
561
+ _context.n = 3;
422
562
  return result.write({
423
- file: path$1.join(process$1.cwd(), './dist/bundle.esm.js'),
563
+ file: path$1.join(process$1.cwd(), './dist/index.esm.js'),
424
564
  format: 'es'
425
565
  });
426
- case 2:
566
+ case 3:
427
567
  return _context.a(2);
428
568
  }
429
569
  }, _callee);
430
570
  }));
431
- };
571
+ return function build() {
572
+ return _ref.apply(this, arguments);
573
+ };
574
+ }();
432
575
 
433
576
  var _test_helper;
434
577
 
435
- // TODO: 添加测试用例验证模版的基本功能都是正确的?
436
578
  /**
437
579
  * 应用项目命令
438
- * coco app create 搭建框架
439
580
  * coco app build 构建
440
581
  * coco app dev 开发
441
582
  */
442
- function execAppCmd(action) {
443
- switch (action) {
444
- case 'build':
445
- {
446
- buildApp();
447
- break;
448
- }
449
- case 'dev':
450
- {
451
- devApp();
452
- break;
453
- }
454
- default:
455
- {
456
- console.log("Unknown app action: ".concat(action));
457
- break;
458
- }
459
- }
583
+ function execAppCmd(_x) {
584
+ return _execAppCmd.apply(this, arguments);
460
585
  }
461
586
  /**
462
587
  * 组件库项目命令
463
- * coco lib create 搭建框架
464
588
  * coco lib build 构建
465
589
  */
466
- function execLibCmd(action) {
467
- switch (action) {
468
- case 'build':
469
- {
470
- build();
471
- break;
472
- }
473
- case 'dev':
474
- {
475
- devApp();
476
- break;
590
+ function _execAppCmd() {
591
+ _execAppCmd = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(action) {
592
+ var _t;
593
+ return _regenerator().w(function (_context) {
594
+ while (1) switch (_context.n) {
595
+ case 0:
596
+ _t = action;
597
+ _context.n = _t === 'build' ? 1 : _t === 'dev' ? 3 : 5;
598
+ break;
599
+ case 1:
600
+ _context.n = 2;
601
+ return buildApp();
602
+ case 2:
603
+ return _context.a(3, 6);
604
+ case 3:
605
+ _context.n = 4;
606
+ return devApp();
607
+ case 4:
608
+ return _context.a(3, 6);
609
+ case 5:
610
+ console.log("Unknown app action: ".concat(action));
611
+ return _context.a(3, 6);
612
+ case 6:
613
+ return _context.a(2);
477
614
  }
478
- default:
479
- {
480
- console.log("Unknown lib action: ".concat(action));
481
- break;
615
+ }, _callee);
616
+ }));
617
+ return _execAppCmd.apply(this, arguments);
618
+ }
619
+ function execLibCmd(_x2) {
620
+ return _execLibCmd.apply(this, arguments);
621
+ }
622
+ function _execLibCmd() {
623
+ _execLibCmd = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(action) {
624
+ var _t2;
625
+ return _regenerator().w(function (_context2) {
626
+ while (1) switch (_context2.n) {
627
+ case 0:
628
+ _t2 = action;
629
+ _context2.n = _t2 === 'build' ? 1 : 3;
630
+ break;
631
+ case 1:
632
+ _context2.n = 2;
633
+ return build();
634
+ case 2:
635
+ return _context2.a(3, 4);
636
+ case 3:
637
+ console.log("Unknown lib action: ".concat(action));
638
+ return _context2.a(3, 4);
639
+ case 4:
640
+ return _context2.a(2);
482
641
  }
483
- }
642
+ }, _callee2);
643
+ }));
644
+ return _execLibCmd.apply(this, arguments);
484
645
  }
485
646
  function cli(command, domain, rest) {
486
647
  var _rest = _slicedToArray(rest, 1),