@doracli/helper 0.0.1
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/LICENSE +21 -0
- package/README.md +7 -0
- package/lib/cjs/index.js +1217 -0
- package/lib/esm/index.js +1181 -0
- package/lib/type/index.d.ts +246 -0
- package/package.json +44 -0
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1,1217 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var promises = require('fs/promises');
|
|
4
|
+
var path = require('path');
|
|
5
|
+
var filePro = require('@dorabag/file-pro');
|
|
6
|
+
var picocolors = require('picocolors');
|
|
7
|
+
var configLoader = require('@dorabag/config-loader');
|
|
8
|
+
var lang = require('@cclr/lang');
|
|
9
|
+
|
|
10
|
+
function _arrayLikeToArray(r, a) {
|
|
11
|
+
(null == a || a > r.length) && (a = r.length);
|
|
12
|
+
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
13
|
+
return n;
|
|
14
|
+
}
|
|
15
|
+
function _arrayWithHoles(r) {
|
|
16
|
+
if (Array.isArray(r)) return r;
|
|
17
|
+
}
|
|
18
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
19
|
+
try {
|
|
20
|
+
var i = n[a](c),
|
|
21
|
+
u = i.value;
|
|
22
|
+
} catch (n) {
|
|
23
|
+
return void e(n);
|
|
24
|
+
}
|
|
25
|
+
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
26
|
+
}
|
|
27
|
+
function _asyncToGenerator(n) {
|
|
28
|
+
return function () {
|
|
29
|
+
var t = this,
|
|
30
|
+
e = arguments;
|
|
31
|
+
return new Promise(function (r, o) {
|
|
32
|
+
var a = n.apply(t, e);
|
|
33
|
+
function _next(n) {
|
|
34
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
35
|
+
}
|
|
36
|
+
function _throw(n) {
|
|
37
|
+
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
38
|
+
}
|
|
39
|
+
_next(void 0);
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function _classCallCheck(a, n) {
|
|
44
|
+
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
|
45
|
+
}
|
|
46
|
+
function _defineProperties(e, r) {
|
|
47
|
+
for (var t = 0; t < r.length; t++) {
|
|
48
|
+
var o = r[t];
|
|
49
|
+
o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function _createClass(e, r, t) {
|
|
53
|
+
return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
|
|
54
|
+
writable: false
|
|
55
|
+
}), e;
|
|
56
|
+
}
|
|
57
|
+
function _defineProperty(e, r, t) {
|
|
58
|
+
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
59
|
+
value: t,
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: true
|
|
63
|
+
}) : e[r] = t, e;
|
|
64
|
+
}
|
|
65
|
+
function _iterableToArrayLimit(r, l) {
|
|
66
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
67
|
+
if (null != t) {
|
|
68
|
+
var e,
|
|
69
|
+
n,
|
|
70
|
+
i,
|
|
71
|
+
u,
|
|
72
|
+
a = [],
|
|
73
|
+
f = true,
|
|
74
|
+
o = false;
|
|
75
|
+
try {
|
|
76
|
+
if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
77
|
+
} catch (r) {
|
|
78
|
+
o = true, n = r;
|
|
79
|
+
} finally {
|
|
80
|
+
try {
|
|
81
|
+
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
|
82
|
+
} finally {
|
|
83
|
+
if (o) throw n;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return a;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function _nonIterableRest() {
|
|
90
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
91
|
+
}
|
|
92
|
+
function ownKeys(e, r) {
|
|
93
|
+
var t = Object.keys(e);
|
|
94
|
+
if (Object.getOwnPropertySymbols) {
|
|
95
|
+
var o = Object.getOwnPropertySymbols(e);
|
|
96
|
+
r && (o = o.filter(function (r) {
|
|
97
|
+
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
98
|
+
})), t.push.apply(t, o);
|
|
99
|
+
}
|
|
100
|
+
return t;
|
|
101
|
+
}
|
|
102
|
+
function _objectSpread2(e) {
|
|
103
|
+
for (var r = 1; r < arguments.length; r++) {
|
|
104
|
+
var t = null != arguments[r] ? arguments[r] : {};
|
|
105
|
+
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
|
|
106
|
+
_defineProperty(e, r, t[r]);
|
|
107
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
108
|
+
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
return e;
|
|
112
|
+
}
|
|
113
|
+
function _objectWithoutProperties(e, t) {
|
|
114
|
+
if (null == e) return {};
|
|
115
|
+
var o,
|
|
116
|
+
r,
|
|
117
|
+
i = _objectWithoutPropertiesLoose(e, t);
|
|
118
|
+
if (Object.getOwnPropertySymbols) {
|
|
119
|
+
var n = Object.getOwnPropertySymbols(e);
|
|
120
|
+
for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
121
|
+
}
|
|
122
|
+
return i;
|
|
123
|
+
}
|
|
124
|
+
function _objectWithoutPropertiesLoose(r, e) {
|
|
125
|
+
if (null == r) return {};
|
|
126
|
+
var t = {};
|
|
127
|
+
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
128
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
129
|
+
t[n] = r[n];
|
|
130
|
+
}
|
|
131
|
+
return t;
|
|
132
|
+
}
|
|
133
|
+
function _regenerator() {
|
|
134
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
135
|
+
var e,
|
|
136
|
+
t,
|
|
137
|
+
r = "function" == typeof Symbol ? Symbol : {},
|
|
138
|
+
n = r.iterator || "@@iterator",
|
|
139
|
+
o = r.toStringTag || "@@toStringTag";
|
|
140
|
+
function i(r, n, o, i) {
|
|
141
|
+
var c = n && n.prototype instanceof Generator ? n : Generator,
|
|
142
|
+
u = Object.create(c.prototype);
|
|
143
|
+
return _regeneratorDefine(u, "_invoke", function (r, n, o) {
|
|
144
|
+
var i,
|
|
145
|
+
c,
|
|
146
|
+
u,
|
|
147
|
+
f = 0,
|
|
148
|
+
p = o || [],
|
|
149
|
+
y = false,
|
|
150
|
+
G = {
|
|
151
|
+
p: 0,
|
|
152
|
+
n: 0,
|
|
153
|
+
v: e,
|
|
154
|
+
a: d,
|
|
155
|
+
f: d.bind(e, 4),
|
|
156
|
+
d: function (t, r) {
|
|
157
|
+
return i = t, c = 0, u = e, G.n = r, a;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
function d(r, n) {
|
|
161
|
+
for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
|
|
162
|
+
var o,
|
|
163
|
+
i = p[t],
|
|
164
|
+
d = G.p,
|
|
165
|
+
l = i[2];
|
|
166
|
+
r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
|
|
167
|
+
}
|
|
168
|
+
if (o || r > 1) return a;
|
|
169
|
+
throw y = true, n;
|
|
170
|
+
}
|
|
171
|
+
return function (o, p, l) {
|
|
172
|
+
if (f > 1) throw TypeError("Generator is already running");
|
|
173
|
+
for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
|
|
174
|
+
i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
|
|
175
|
+
try {
|
|
176
|
+
if (f = 2, i) {
|
|
177
|
+
if (c || (o = "next"), t = i[o]) {
|
|
178
|
+
if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
|
|
179
|
+
if (!t.done) return t;
|
|
180
|
+
u = t.value, c < 2 && (c = 0);
|
|
181
|
+
} else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
|
|
182
|
+
i = e;
|
|
183
|
+
} else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
|
|
184
|
+
} catch (t) {
|
|
185
|
+
i = e, c = 1, u = t;
|
|
186
|
+
} finally {
|
|
187
|
+
f = 1;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
value: t,
|
|
192
|
+
done: y
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
}(r, o, i), true), u;
|
|
196
|
+
}
|
|
197
|
+
var a = {};
|
|
198
|
+
function Generator() {}
|
|
199
|
+
function GeneratorFunction() {}
|
|
200
|
+
function GeneratorFunctionPrototype() {}
|
|
201
|
+
t = Object.getPrototypeOf;
|
|
202
|
+
var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
|
|
203
|
+
return this;
|
|
204
|
+
}), t),
|
|
205
|
+
u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
|
|
206
|
+
function f(e) {
|
|
207
|
+
return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
|
|
208
|
+
}
|
|
209
|
+
return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
|
|
210
|
+
return this;
|
|
211
|
+
}), _regeneratorDefine(u, "toString", function () {
|
|
212
|
+
return "[object Generator]";
|
|
213
|
+
}), (_regenerator = function () {
|
|
214
|
+
return {
|
|
215
|
+
w: i,
|
|
216
|
+
m: f
|
|
217
|
+
};
|
|
218
|
+
})();
|
|
219
|
+
}
|
|
220
|
+
function _regeneratorDefine(e, r, n, t) {
|
|
221
|
+
var i = Object.defineProperty;
|
|
222
|
+
try {
|
|
223
|
+
i({}, "", {});
|
|
224
|
+
} catch (e) {
|
|
225
|
+
i = 0;
|
|
226
|
+
}
|
|
227
|
+
_regeneratorDefine = function (e, r, n, t) {
|
|
228
|
+
function o(r, n) {
|
|
229
|
+
_regeneratorDefine(e, r, function (e) {
|
|
230
|
+
return this._invoke(r, n, e);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
r ? i ? i(e, r, {
|
|
234
|
+
value: n,
|
|
235
|
+
enumerable: !t,
|
|
236
|
+
configurable: !t,
|
|
237
|
+
writable: !t
|
|
238
|
+
}) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
|
|
239
|
+
}, _regeneratorDefine(e, r, n, t);
|
|
240
|
+
}
|
|
241
|
+
function _slicedToArray(r, e) {
|
|
242
|
+
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
243
|
+
}
|
|
244
|
+
function _toPrimitive(t, r) {
|
|
245
|
+
if ("object" != typeof t || !t) return t;
|
|
246
|
+
var e = t[Symbol.toPrimitive];
|
|
247
|
+
if (void 0 !== e) {
|
|
248
|
+
var i = e.call(t, r);
|
|
249
|
+
if ("object" != typeof i) return i;
|
|
250
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
251
|
+
}
|
|
252
|
+
return ("string" === r ? String : Number)(t);
|
|
253
|
+
}
|
|
254
|
+
function _toPropertyKey(t) {
|
|
255
|
+
var i = _toPrimitive(t, "string");
|
|
256
|
+
return "symbol" == typeof i ? i : i + "";
|
|
257
|
+
}
|
|
258
|
+
function _unsupportedIterableToArray(r, a) {
|
|
259
|
+
if (r) {
|
|
260
|
+
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
|
261
|
+
var t = {}.toString.call(r).slice(8, -1);
|
|
262
|
+
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
var ConfigCtx = /*#__PURE__*/function () {
|
|
267
|
+
function ConfigCtx() {
|
|
268
|
+
_classCallCheck(this, ConfigCtx);
|
|
269
|
+
_defineProperty(this, "tsConfig", {});
|
|
270
|
+
_defineProperty(this, "doraConfig", {});
|
|
271
|
+
_defineProperty(this, "packageConfig", {});
|
|
272
|
+
_defineProperty(this, "cdnConfig", {});
|
|
273
|
+
_defineProperty(this, "cmd", {});
|
|
274
|
+
_defineProperty(this, "workRoot", './');
|
|
275
|
+
}
|
|
276
|
+
return _createClass(ConfigCtx, [{
|
|
277
|
+
key: "setCmd",
|
|
278
|
+
value: function setCmd(cmd) {
|
|
279
|
+
this.cmd = cmd;
|
|
280
|
+
}
|
|
281
|
+
}, {
|
|
282
|
+
key: "getCmd",
|
|
283
|
+
value: function getCmd() {
|
|
284
|
+
return this.cmd;
|
|
285
|
+
}
|
|
286
|
+
}, {
|
|
287
|
+
key: "setWorkRoot",
|
|
288
|
+
value: function setWorkRoot(root) {
|
|
289
|
+
this.workRoot = root;
|
|
290
|
+
}
|
|
291
|
+
}, {
|
|
292
|
+
key: "getWorkRoot",
|
|
293
|
+
value: function getWorkRoot() {
|
|
294
|
+
return this.workRoot;
|
|
295
|
+
}
|
|
296
|
+
}, {
|
|
297
|
+
key: "setTsConfig",
|
|
298
|
+
value: function setTsConfig(config) {
|
|
299
|
+
this.tsConfig = config;
|
|
300
|
+
}
|
|
301
|
+
}, {
|
|
302
|
+
key: "getTsConfig",
|
|
303
|
+
value: function getTsConfig() {
|
|
304
|
+
return this.tsConfig;
|
|
305
|
+
}
|
|
306
|
+
}, {
|
|
307
|
+
key: "setDoraConfig",
|
|
308
|
+
value: function setDoraConfig(config) {
|
|
309
|
+
this.doraConfig = config;
|
|
310
|
+
}
|
|
311
|
+
}, {
|
|
312
|
+
key: "getDoraConfig",
|
|
313
|
+
value: function getDoraConfig() {
|
|
314
|
+
return this.doraConfig;
|
|
315
|
+
}
|
|
316
|
+
}, {
|
|
317
|
+
key: "setCdnConfig",
|
|
318
|
+
value: function setCdnConfig(config) {
|
|
319
|
+
this.cdnConfig = config;
|
|
320
|
+
}
|
|
321
|
+
}, {
|
|
322
|
+
key: "getCdnConfig",
|
|
323
|
+
value: function getCdnConfig() {
|
|
324
|
+
return this.cdnConfig;
|
|
325
|
+
}
|
|
326
|
+
}, {
|
|
327
|
+
key: "setPackageConfig",
|
|
328
|
+
value: function setPackageConfig(config) {
|
|
329
|
+
this.packageConfig = config;
|
|
330
|
+
}
|
|
331
|
+
}, {
|
|
332
|
+
key: "getPackageConfig",
|
|
333
|
+
value: function getPackageConfig() {
|
|
334
|
+
return this.packageConfig;
|
|
335
|
+
}
|
|
336
|
+
}, {
|
|
337
|
+
key: "copy",
|
|
338
|
+
value: function copy() {
|
|
339
|
+
var newCtx = new ConfigCtx();
|
|
340
|
+
newCtx.setWorkRoot(this.getWorkRoot());
|
|
341
|
+
newCtx.setTsConfig(this.getTsConfig());
|
|
342
|
+
newCtx.setDoraConfig(this.getDoraConfig());
|
|
343
|
+
newCtx.setPackageConfig(this.getPackageConfig());
|
|
344
|
+
newCtx.setCdnConfig(this.getCdnConfig());
|
|
345
|
+
newCtx.setCmd(this.getCmd());
|
|
346
|
+
return newCtx;
|
|
347
|
+
}
|
|
348
|
+
}]);
|
|
349
|
+
}();
|
|
350
|
+
|
|
351
|
+
var EnvEnum = /*#__PURE__*/function (EnvEnum) {
|
|
352
|
+
EnvEnum["dev"] = "development";
|
|
353
|
+
EnvEnum["prod"] = "production";
|
|
354
|
+
return EnvEnum;
|
|
355
|
+
}({});
|
|
356
|
+
|
|
357
|
+
var mainSlogan = '@doracli';
|
|
358
|
+
var stringFormat = function stringFormat(str, length) {
|
|
359
|
+
if (str.length >= length) return str;
|
|
360
|
+
return str + ' '.repeat(length - str.length);
|
|
361
|
+
// const pre = (length - str.length) >> 1;
|
|
362
|
+
// const suf = length - str.length - pre;
|
|
363
|
+
// return ' '.repeat(pre) + str + ' '.repeat(suf);
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
/** 格式化模式,如果小于5个字符,就补充空格 */
|
|
367
|
+
var foramtMode = function foramtMode(mode) {
|
|
368
|
+
return stringFormat(mode, 5);
|
|
369
|
+
};
|
|
370
|
+
|
|
371
|
+
/** 格式化模式,如果小于5个字符,就补充空格 */
|
|
372
|
+
var foramtStatus = function foramtStatus(mode) {
|
|
373
|
+
return stringFormat(mode, 9).toUpperCase();
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* @param mode 模式
|
|
378
|
+
* @param status 状态
|
|
379
|
+
* @param msg 消息
|
|
380
|
+
* @returns
|
|
381
|
+
*/
|
|
382
|
+
var cLogMessage = function cLogMessage(mode, status) {
|
|
383
|
+
var _console;
|
|
384
|
+
var title = picocolors.bgBlack("[".concat(picocolors.magenta(mainSlogan), ":").concat(picocolors.bold(" ".concat(foramtMode(mode))), "]"));
|
|
385
|
+
for (var _len = arguments.length, msg = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
386
|
+
msg[_key - 2] = arguments[_key];
|
|
387
|
+
}
|
|
388
|
+
return (_console = console).log.apply(_console, ["".concat(title, " [").concat(picocolors.yellow(foramtStatus(status)), "]")].concat(msg));
|
|
389
|
+
};
|
|
390
|
+
var cLogError = function cLogError(mode, status) {
|
|
391
|
+
var _console2;
|
|
392
|
+
for (var _len2 = arguments.length, msg = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
|
393
|
+
msg[_key2 - 2] = arguments[_key2];
|
|
394
|
+
}
|
|
395
|
+
return (_console2 = console).log.apply(_console2, [picocolors.bgRed("[".concat(mainSlogan, ": ").concat(foramtMode(mode), "] [").concat(foramtStatus(status), "]"))].concat(msg));
|
|
396
|
+
};
|
|
397
|
+
var cLogWarn = function cLogWarn(mode, status) {
|
|
398
|
+
var _console3;
|
|
399
|
+
for (var _len3 = arguments.length, msg = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
|
|
400
|
+
msg[_key3 - 2] = arguments[_key3];
|
|
401
|
+
}
|
|
402
|
+
return (_console3 = console).log.apply(_console3, [picocolors.bgYellow("[".concat(mainSlogan, ": ").concat(foramtMode(mode), "] [").concat(foramtStatus(status), "]"))].concat(msg));
|
|
403
|
+
};
|
|
404
|
+
var cLogSuccess = function cLogSuccess(mode, status) {
|
|
405
|
+
var _console4;
|
|
406
|
+
var title = picocolors.bgBlack("[".concat(picocolors.magenta(mainSlogan), ":").concat(picocolors.bold(" ".concat(foramtMode(mode))), "]"));
|
|
407
|
+
for (var _len4 = arguments.length, msg = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) {
|
|
408
|
+
msg[_key4 - 2] = arguments[_key4];
|
|
409
|
+
}
|
|
410
|
+
return (_console4 = console).log.apply(_console4, ["".concat(title, " [").concat(picocolors.green(foramtStatus(status)), "]")].concat(msg));
|
|
411
|
+
};
|
|
412
|
+
var start = 0;
|
|
413
|
+
var cLogTime = function cLogTime() {
|
|
414
|
+
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "cLogTimeStart-".concat(start);
|
|
415
|
+
start++;
|
|
416
|
+
console.time(key);
|
|
417
|
+
return function () {
|
|
418
|
+
console.timeEnd(key);
|
|
419
|
+
};
|
|
420
|
+
};
|
|
421
|
+
var cLogTimeEnd = function cLogTimeEnd(key) {
|
|
422
|
+
console.timeEnd(key);
|
|
423
|
+
};
|
|
424
|
+
var cLog = {
|
|
425
|
+
log: cLogMessage,
|
|
426
|
+
error: cLogError,
|
|
427
|
+
warn: cLogWarn,
|
|
428
|
+
info: cLogSuccess,
|
|
429
|
+
time: cLogTime,
|
|
430
|
+
timeEnd: cLogTimeEnd
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* 在制定目录下插入 tsconfig.json 文件
|
|
435
|
+
* @param cwd
|
|
436
|
+
*/
|
|
437
|
+
var insertTsconfig = /*#__PURE__*/function () {
|
|
438
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
439
|
+
var cwd,
|
|
440
|
+
tsconfigPath,
|
|
441
|
+
tsconfigContent,
|
|
442
|
+
_args = arguments;
|
|
443
|
+
return _regenerator().w(function (_context) {
|
|
444
|
+
while (1) switch (_context.n) {
|
|
445
|
+
case 0:
|
|
446
|
+
cwd = _args.length > 0 && _args[0] !== undefined ? _args[0] : filePro.getCwd();
|
|
447
|
+
tsconfigPath = path.join(cwd, 'tsconfig.json');
|
|
448
|
+
_context.n = 1;
|
|
449
|
+
return filePro.isValidFilePath(tsconfigPath);
|
|
450
|
+
case 1:
|
|
451
|
+
if (_context.v) {
|
|
452
|
+
_context.n = 3;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
tsconfigContent = {
|
|
456
|
+
$schema: 'https://json.schemastore.org/tsconfig',
|
|
457
|
+
compilerOptions: {
|
|
458
|
+
target: 'esnext',
|
|
459
|
+
moduleResolution: 'node',
|
|
460
|
+
module: 'esnext',
|
|
461
|
+
noImplicitThis: false,
|
|
462
|
+
noImplicitAny: false,
|
|
463
|
+
noUnusedLocals: false,
|
|
464
|
+
noImplicitReturns: true,
|
|
465
|
+
noUnusedParameters: false,
|
|
466
|
+
useUnknownInCatchVariables: false,
|
|
467
|
+
allowSyntheticDefaultImports: true,
|
|
468
|
+
esModuleInterop: true,
|
|
469
|
+
emitDecoratorMetadata: true,
|
|
470
|
+
experimentalDecorators: true,
|
|
471
|
+
preserveConstEnums: true,
|
|
472
|
+
strictNullChecks: true,
|
|
473
|
+
strictFunctionTypes: true,
|
|
474
|
+
strictPropertyInitialization: true,
|
|
475
|
+
resolveJsonModule: true,
|
|
476
|
+
skipLibCheck: true,
|
|
477
|
+
alwaysStrict: true,
|
|
478
|
+
sourceMap: false,
|
|
479
|
+
paths: {
|
|
480
|
+
'@/*': ['./src/*']
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
exclude: ['lib/**'],
|
|
484
|
+
include: ['**/*.ts', '**/*.json']
|
|
485
|
+
};
|
|
486
|
+
_context.n = 2;
|
|
487
|
+
return promises.writeFile(tsconfigPath, JSON.stringify(tsconfigContent, null, 2));
|
|
488
|
+
case 2:
|
|
489
|
+
cLog.info('init', 'success', '自动注入 tsconfig.json');
|
|
490
|
+
case 3:
|
|
491
|
+
return _context.a(2);
|
|
492
|
+
}
|
|
493
|
+
}, _callee);
|
|
494
|
+
}));
|
|
495
|
+
return function insertTsconfig() {
|
|
496
|
+
return _ref.apply(this, arguments);
|
|
497
|
+
};
|
|
498
|
+
}();
|
|
499
|
+
|
|
500
|
+
// package.json
|
|
501
|
+
var packageJsonDir = 'package.json';
|
|
502
|
+
var doracliConfigFileName = 'doracli.config';
|
|
503
|
+
var cdnConfigFileName = 'cdn';
|
|
504
|
+
|
|
505
|
+
var getDoracliConfig = /*#__PURE__*/function () {
|
|
506
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(root) {
|
|
507
|
+
var userConfig, _t;
|
|
508
|
+
return _regenerator().w(function (_context) {
|
|
509
|
+
while (1) switch (_context.p = _context.n) {
|
|
510
|
+
case 0:
|
|
511
|
+
_context.p = 0;
|
|
512
|
+
_context.n = 1;
|
|
513
|
+
return configLoader.loadConfigFuzzyExt(doracliConfigFileName, {
|
|
514
|
+
rootDir: filePro.resolveCwd(root)
|
|
515
|
+
});
|
|
516
|
+
case 1:
|
|
517
|
+
userConfig = _context.v;
|
|
518
|
+
if (userConfig) {
|
|
519
|
+
_context.n = 2;
|
|
520
|
+
break;
|
|
521
|
+
}
|
|
522
|
+
cLog.warn('file', 'undefined', '未定义doracli.config文件');
|
|
523
|
+
return _context.a(2, null);
|
|
524
|
+
case 2:
|
|
525
|
+
cLog.info('file', 'success', '引入基础配置成功');
|
|
526
|
+
return _context.a(2, userConfig);
|
|
527
|
+
case 3:
|
|
528
|
+
_context.p = 3;
|
|
529
|
+
_t = _context.v;
|
|
530
|
+
cLog.error('file', 'fail', '引入基础配置失败');
|
|
531
|
+
console.error(_t);
|
|
532
|
+
return _context.a(2, Promise.reject(_t));
|
|
533
|
+
}
|
|
534
|
+
}, _callee, null, [[0, 3]]);
|
|
535
|
+
}));
|
|
536
|
+
return function getDoracliConfig(_x) {
|
|
537
|
+
return _ref.apply(this, arguments);
|
|
538
|
+
};
|
|
539
|
+
}();
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* 获取json文件
|
|
543
|
+
* @param root
|
|
544
|
+
* @returns
|
|
545
|
+
*/
|
|
546
|
+
var getPackageJson = /*#__PURE__*/function () {
|
|
547
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
548
|
+
var root,
|
|
549
|
+
json,
|
|
550
|
+
_args = arguments,
|
|
551
|
+
_t;
|
|
552
|
+
return _regenerator().w(function (_context) {
|
|
553
|
+
while (1) switch (_context.p = _context.n) {
|
|
554
|
+
case 0:
|
|
555
|
+
root = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
556
|
+
_context.p = 1;
|
|
557
|
+
_context.n = 2;
|
|
558
|
+
return configLoader.loadConfig(filePro.resolveCwd(root, packageJsonDir));
|
|
559
|
+
case 2:
|
|
560
|
+
json = _context.v;
|
|
561
|
+
cLog.info('file', 'success', '引入 package.json 成功');
|
|
562
|
+
return _context.a(2, json);
|
|
563
|
+
case 3:
|
|
564
|
+
_context.p = 3;
|
|
565
|
+
_t = _context.v;
|
|
566
|
+
cLog.error('file', 'fail', '引入 package.json 失败');
|
|
567
|
+
console.error(_t);
|
|
568
|
+
case 4:
|
|
569
|
+
return _context.a(2);
|
|
570
|
+
}
|
|
571
|
+
}, _callee, null, [[1, 3]]);
|
|
572
|
+
}));
|
|
573
|
+
return function getPackageJson() {
|
|
574
|
+
return _ref.apply(this, arguments);
|
|
575
|
+
};
|
|
576
|
+
}();
|
|
577
|
+
|
|
578
|
+
var getTsconfigJson = /*#__PURE__*/function () {
|
|
579
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(root) {
|
|
580
|
+
var json, _t;
|
|
581
|
+
return _regenerator().w(function (_context) {
|
|
582
|
+
while (1) switch (_context.p = _context.n) {
|
|
583
|
+
case 0:
|
|
584
|
+
_context.p = 0;
|
|
585
|
+
_context.n = 1;
|
|
586
|
+
return configLoader.loadConfig(filePro.resolveCwd(root, './tsconfig.json'));
|
|
587
|
+
case 1:
|
|
588
|
+
json = _context.v;
|
|
589
|
+
cLog.info('file', 'success', '引入 tsconfig.json 成功');
|
|
590
|
+
return _context.a(2, json);
|
|
591
|
+
case 2:
|
|
592
|
+
_context.p = 2;
|
|
593
|
+
_t = _context.v;
|
|
594
|
+
cLog.error('file', 'failed', '引入 tsconfig.json 失败');
|
|
595
|
+
console.error(_t);
|
|
596
|
+
case 3:
|
|
597
|
+
return _context.a(2);
|
|
598
|
+
}
|
|
599
|
+
}, _callee, null, [[0, 2]]);
|
|
600
|
+
}));
|
|
601
|
+
return function getTsconfigJson(_x) {
|
|
602
|
+
return _ref.apply(this, arguments);
|
|
603
|
+
};
|
|
604
|
+
}();
|
|
605
|
+
|
|
606
|
+
/**
|
|
607
|
+
* 获取cdn文件配置
|
|
608
|
+
* @returns
|
|
609
|
+
*/
|
|
610
|
+
function getUserCdn(_x) {
|
|
611
|
+
return _getUserCdn.apply(this, arguments);
|
|
612
|
+
}
|
|
613
|
+
function _getUserCdn() {
|
|
614
|
+
_getUserCdn = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(root) {
|
|
615
|
+
var json, _t;
|
|
616
|
+
return _regenerator().w(function (_context) {
|
|
617
|
+
while (1) switch (_context.p = _context.n) {
|
|
618
|
+
case 0:
|
|
619
|
+
_context.p = 0;
|
|
620
|
+
_context.n = 1;
|
|
621
|
+
return configLoader.loadConfigFuzzyExt(cdnConfigFileName, {
|
|
622
|
+
rootDir: filePro.resolveCwd(root)
|
|
623
|
+
});
|
|
624
|
+
case 1:
|
|
625
|
+
json = _context.v;
|
|
626
|
+
if (json) {
|
|
627
|
+
_context.n = 2;
|
|
628
|
+
break;
|
|
629
|
+
}
|
|
630
|
+
cLog.log('file', 'undefined', '未定义 cdn 配置文件');
|
|
631
|
+
return _context.a(2, null);
|
|
632
|
+
case 2:
|
|
633
|
+
cLog.info('file', 'success', '引入 cdn 成功');
|
|
634
|
+
return _context.a(2, json);
|
|
635
|
+
case 3:
|
|
636
|
+
_context.p = 3;
|
|
637
|
+
_t = _context.v;
|
|
638
|
+
cLog.error('file', 'failed', '引入 cdn 失败');
|
|
639
|
+
console.error(_t);
|
|
640
|
+
return _context.a(2, Promise.reject(_t));
|
|
641
|
+
}
|
|
642
|
+
}, _callee, null, [[0, 3]]);
|
|
643
|
+
}));
|
|
644
|
+
return _getUserCdn.apply(this, arguments);
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
var _excluded$2 = ["output"],
|
|
648
|
+
_excluded2 = ["output"];
|
|
649
|
+
var mergeDoraCliConfig = function mergeDoraCliConfig(target) {
|
|
650
|
+
var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
651
|
+
var targetOutput = target.output,
|
|
652
|
+
targetRest = _objectWithoutProperties(target, _excluded$2);
|
|
653
|
+
var sourceOutput = source.output,
|
|
654
|
+
sourceRest = _objectWithoutProperties(source, _excluded2);
|
|
655
|
+
return _objectSpread2(_objectSpread2(_objectSpread2({}, targetRest), sourceRest), {}, {
|
|
656
|
+
output: _objectSpread2(_objectSpread2({}, targetOutput), sourceOutput)
|
|
657
|
+
});
|
|
658
|
+
};
|
|
659
|
+
|
|
660
|
+
/**
|
|
661
|
+
* 合并多个配置项
|
|
662
|
+
* @param target 配置项,可多个,后面的配置项会覆盖前面的配置项
|
|
663
|
+
* @returns
|
|
664
|
+
*/
|
|
665
|
+
var mergeDoraCliConfigMutiple = function mergeDoraCliConfigMutiple() {
|
|
666
|
+
for (var _len = arguments.length, target = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
667
|
+
target[_key] = arguments[_key];
|
|
668
|
+
}
|
|
669
|
+
return target.reduce(function (prev, curr) {
|
|
670
|
+
return mergeDoraCliConfig(prev, curr);
|
|
671
|
+
});
|
|
672
|
+
};
|
|
673
|
+
|
|
674
|
+
/**
|
|
675
|
+
* 获取cdn文件配置
|
|
676
|
+
* @param workRootDir
|
|
677
|
+
* @param mode
|
|
678
|
+
* @returns
|
|
679
|
+
*/
|
|
680
|
+
function parseCdnConfig(cdnConfig, mode) {
|
|
681
|
+
try {
|
|
682
|
+
if (!lang.isObject(cdnConfig)) return;
|
|
683
|
+
var cdn = Object.entries(cdnConfig).reduce(function (pre, _ref) {
|
|
684
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
685
|
+
name = _ref2[0],
|
|
686
|
+
v = _ref2[1];
|
|
687
|
+
if (lang.isFunction(v)) {
|
|
688
|
+
pre[name] = v(mode) || [];
|
|
689
|
+
} else if (lang.isArray(v)) {
|
|
690
|
+
pre[name] = v;
|
|
691
|
+
}
|
|
692
|
+
return pre;
|
|
693
|
+
}, {});
|
|
694
|
+
return cdn;
|
|
695
|
+
} catch (err) {
|
|
696
|
+
cLog.error('parse', 'parseCdnConfig', '解析用户cdn配置失败');
|
|
697
|
+
throw new Error(err);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* 解析doracli配置
|
|
703
|
+
* @param workRootDir
|
|
704
|
+
* @param mode
|
|
705
|
+
* @returns
|
|
706
|
+
*/
|
|
707
|
+
var parseDoracliConfig = /*#__PURE__*/function () {
|
|
708
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(userConfig, mode) {
|
|
709
|
+
var config, _t;
|
|
710
|
+
return _regenerator().w(function (_context) {
|
|
711
|
+
while (1) switch (_context.p = _context.n) {
|
|
712
|
+
case 0:
|
|
713
|
+
_context.p = 0;
|
|
714
|
+
config = userConfig;
|
|
715
|
+
if (!lang.isFunction(userConfig)) {
|
|
716
|
+
_context.n = 2;
|
|
717
|
+
break;
|
|
718
|
+
}
|
|
719
|
+
_context.n = 1;
|
|
720
|
+
return userConfig(mode);
|
|
721
|
+
case 1:
|
|
722
|
+
config = _context.v;
|
|
723
|
+
case 2:
|
|
724
|
+
return _context.a(2, config);
|
|
725
|
+
case 3:
|
|
726
|
+
_context.p = 3;
|
|
727
|
+
_t = _context.v;
|
|
728
|
+
cLog.error('resolve ', 'resolveUserConfigJson', '解析用户配置失败');
|
|
729
|
+
throw new Error(_t);
|
|
730
|
+
case 4:
|
|
731
|
+
return _context.a(2);
|
|
732
|
+
}
|
|
733
|
+
}, _callee, null, [[0, 3]]);
|
|
734
|
+
}));
|
|
735
|
+
return function parseDoracliConfig(_x, _x2) {
|
|
736
|
+
return _ref.apply(this, arguments);
|
|
737
|
+
};
|
|
738
|
+
}();
|
|
739
|
+
|
|
740
|
+
var _excluded$1 = ["multiple"];
|
|
741
|
+
|
|
742
|
+
/**
|
|
743
|
+
* 配置项多任务拆分
|
|
744
|
+
* @param config 配置项
|
|
745
|
+
* @returns
|
|
746
|
+
*/
|
|
747
|
+
var splitDoraCliConfig = function splitDoraCliConfig(config) {
|
|
748
|
+
var multiple = config.multiple,
|
|
749
|
+
neatConfig = _objectWithoutProperties(config, _excluded$1);
|
|
750
|
+
if (!lang.isArray(multiple)) return [neatConfig];
|
|
751
|
+
if (multiple.length === 0) return [neatConfig];
|
|
752
|
+
if (multiple.length === 1) return [mergeDoraCliConfigMutiple(neatConfig, multiple[0])];
|
|
753
|
+
return multiple.map(function (item) {
|
|
754
|
+
return mergeDoraCliConfigMutiple(neatConfig, item);
|
|
755
|
+
});
|
|
756
|
+
};
|
|
757
|
+
|
|
758
|
+
var inputFileDirList = ['src/index', 'index'];
|
|
759
|
+
var inputFileTypeList = ['.ts', '.js', '.tsx', '.jsx'];
|
|
760
|
+
var findInput = function findInput(workRootDir) {
|
|
761
|
+
var pList = inputFileDirList.reduce(function (pre, f) {
|
|
762
|
+
inputFileTypeList.forEach(function (e) {
|
|
763
|
+
pre.push('./' + f + e);
|
|
764
|
+
});
|
|
765
|
+
return pre;
|
|
766
|
+
}, []);
|
|
767
|
+
return filePro.lookupFile(pList, workRootDir);
|
|
768
|
+
};
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* 获取tsconfig.json里的paths,作为项目路径别名
|
|
772
|
+
* @param tsConfig
|
|
773
|
+
* @returns
|
|
774
|
+
*/
|
|
775
|
+
var getTsPathAlias = function getTsPathAlias(tsConfig) {
|
|
776
|
+
var _ref = (tsConfig === null || tsConfig === void 0 ? void 0 : tsConfig.compilerOptions) || {},
|
|
777
|
+
tsConfigPaths = _ref.paths;
|
|
778
|
+
if (!tsConfigPaths) return {};
|
|
779
|
+
var alias = {};
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* 拼接tsconfig.json里的paths,作为项目别名
|
|
783
|
+
*/
|
|
784
|
+
Object.entries(tsConfigPaths).forEach(function (_ref2) {
|
|
785
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
786
|
+
pathKey = _ref3[0],
|
|
787
|
+
pathArr = _ref3[1];
|
|
788
|
+
var key = pathKey.replace(/\/\*$/, '');
|
|
789
|
+
if (pathArr !== null && pathArr !== void 0 && pathArr.length && !alias[key]) {
|
|
790
|
+
var val = pathArr[0].replace(/\/\*$/, '');
|
|
791
|
+
alias[key] = path.resolve(val);
|
|
792
|
+
}
|
|
793
|
+
});
|
|
794
|
+
return alias;
|
|
795
|
+
};
|
|
796
|
+
|
|
797
|
+
var wholeDoraConfig = function wholeDoraConfig(config) {
|
|
798
|
+
var workRootDir = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : filePro.getCwd();
|
|
799
|
+
var alias = config.alias,
|
|
800
|
+
clear = config.clear,
|
|
801
|
+
copy = config.copy,
|
|
802
|
+
dts = config.dts,
|
|
803
|
+
externals = config.externals,
|
|
804
|
+
formatList = config.formatList,
|
|
805
|
+
input = config.input,
|
|
806
|
+
internals = config.internals,
|
|
807
|
+
minimize = config.minimize,
|
|
808
|
+
multiple = config.multiple,
|
|
809
|
+
output = config.output,
|
|
810
|
+
rollupConfig = config.rollupConfig,
|
|
811
|
+
webpackConfig = config.webpackConfig,
|
|
812
|
+
esbuildConfig = config.esbuildConfig;
|
|
813
|
+
var targetInput = input;
|
|
814
|
+
var outPath = (output === null || output === void 0 ? void 0 : output.path) || './dist';
|
|
815
|
+
var outFile = output === null || output === void 0 ? void 0 : output.file;
|
|
816
|
+
if (!multiple) {
|
|
817
|
+
if (!filePro.isValidFilePathSync(targetInput || '')) {
|
|
818
|
+
targetInput = findInput(workRootDir);
|
|
819
|
+
}
|
|
820
|
+
if (!targetInput) {
|
|
821
|
+
cLog.error('init', 'not_found', '找不到入口文件');
|
|
822
|
+
}
|
|
823
|
+
outFile = (output === null || output === void 0 ? void 0 : output.file) || filePro.getFilename(targetInput);
|
|
824
|
+
}
|
|
825
|
+
return {
|
|
826
|
+
multiple: lang.isUndefinedOrNull(multiple) ? false : multiple,
|
|
827
|
+
alias: alias || {},
|
|
828
|
+
clear: lang.isUndefinedOrNull(clear) ? false : clear,
|
|
829
|
+
copy: copy || [],
|
|
830
|
+
dts: lang.isUndefinedOrNull(dts) ? {} : dts,
|
|
831
|
+
externals: externals || [],
|
|
832
|
+
formatList: formatList || ['cjs'],
|
|
833
|
+
input: input,
|
|
834
|
+
internals: internals || [],
|
|
835
|
+
minimize: lang.isUndefinedOrNull(minimize) ? false : minimize,
|
|
836
|
+
output: output || {
|
|
837
|
+
path: outPath,
|
|
838
|
+
file: outFile
|
|
839
|
+
},
|
|
840
|
+
rollupConfig: rollupConfig || {},
|
|
841
|
+
webpackConfig: webpackConfig || {},
|
|
842
|
+
esbuildConfig: esbuildConfig || {}
|
|
843
|
+
};
|
|
844
|
+
};
|
|
845
|
+
|
|
846
|
+
var resolveDoraConfig = /*#__PURE__*/function () {
|
|
847
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(workRootDir, mode) {
|
|
848
|
+
var userConfigOrange;
|
|
849
|
+
return _regenerator().w(function (_context) {
|
|
850
|
+
while (1) switch (_context.p = _context.n) {
|
|
851
|
+
case 0:
|
|
852
|
+
_context.p = 0;
|
|
853
|
+
_context.n = 1;
|
|
854
|
+
return getDoracliConfig(workRootDir);
|
|
855
|
+
case 1:
|
|
856
|
+
userConfigOrange = _context.v;
|
|
857
|
+
return _context.a(2, parseDoracliConfig(userConfigOrange, mode));
|
|
858
|
+
case 2:
|
|
859
|
+
_context.p = 2;
|
|
860
|
+
_context.v;
|
|
861
|
+
cLog.log('resolve ', 'error', 'doracli.config 解析用户配置失败');
|
|
862
|
+
return _context.a(2, {});
|
|
863
|
+
}
|
|
864
|
+
}, _callee, null, [[0, 2]]);
|
|
865
|
+
}));
|
|
866
|
+
return function resolveDoraConfig(_x, _x2) {
|
|
867
|
+
return _ref.apply(this, arguments);
|
|
868
|
+
};
|
|
869
|
+
}();
|
|
870
|
+
|
|
871
|
+
/**
|
|
872
|
+
* 获取json文件
|
|
873
|
+
* @param root
|
|
874
|
+
* @returns
|
|
875
|
+
*/
|
|
876
|
+
var resolvePackageJson = /*#__PURE__*/function () {
|
|
877
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(workRootDir) {
|
|
878
|
+
var packageJson;
|
|
879
|
+
return _regenerator().w(function (_context) {
|
|
880
|
+
while (1) switch (_context.p = _context.n) {
|
|
881
|
+
case 0:
|
|
882
|
+
_context.p = 0;
|
|
883
|
+
_context.n = 1;
|
|
884
|
+
return getPackageJson(workRootDir);
|
|
885
|
+
case 1:
|
|
886
|
+
packageJson = _context.v;
|
|
887
|
+
return _context.a(2, packageJson);
|
|
888
|
+
case 2:
|
|
889
|
+
_context.p = 2;
|
|
890
|
+
_context.v;
|
|
891
|
+
cLog.log('resolve ', 'error', 'package.json 解析用户配置失败');
|
|
892
|
+
return _context.a(2, {});
|
|
893
|
+
}
|
|
894
|
+
}, _callee, null, [[0, 2]]);
|
|
895
|
+
}));
|
|
896
|
+
return function resolvePackageJson(_x) {
|
|
897
|
+
return _ref.apply(this, arguments);
|
|
898
|
+
};
|
|
899
|
+
}();
|
|
900
|
+
|
|
901
|
+
var resolveTsconfigJson = /*#__PURE__*/function () {
|
|
902
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(workRootDir) {
|
|
903
|
+
var tsConfig;
|
|
904
|
+
return _regenerator().w(function (_context) {
|
|
905
|
+
while (1) switch (_context.p = _context.n) {
|
|
906
|
+
case 0:
|
|
907
|
+
_context.p = 0;
|
|
908
|
+
_context.n = 1;
|
|
909
|
+
return getTsconfigJson(workRootDir);
|
|
910
|
+
case 1:
|
|
911
|
+
tsConfig = _context.v;
|
|
912
|
+
return _context.a(2, tsConfig);
|
|
913
|
+
case 2:
|
|
914
|
+
_context.p = 2;
|
|
915
|
+
_context.v;
|
|
916
|
+
cLog.log('resolve ', 'error', 'tsconfig.json 解析用户配置失败');
|
|
917
|
+
return _context.a(2, {});
|
|
918
|
+
}
|
|
919
|
+
}, _callee, null, [[0, 2]]);
|
|
920
|
+
}));
|
|
921
|
+
return function resolveTsconfigJson(_x) {
|
|
922
|
+
return _ref.apply(this, arguments);
|
|
923
|
+
};
|
|
924
|
+
}();
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* 收集用户配置
|
|
928
|
+
* @param configCtx ConfigCtx
|
|
929
|
+
* @param mode 开发 or 生产
|
|
930
|
+
* @param presetConfig 预设配置
|
|
931
|
+
*/
|
|
932
|
+
var collectConfig = /*#__PURE__*/function () {
|
|
933
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(configCtx, mode, presetConfig) {
|
|
934
|
+
var wordDir, tsConfig, doraConfig, packageConfig;
|
|
935
|
+
return _regenerator().w(function (_context) {
|
|
936
|
+
while (1) switch (_context.n) {
|
|
937
|
+
case 0:
|
|
938
|
+
wordDir = configCtx.getWorkRoot();
|
|
939
|
+
_context.n = 1;
|
|
940
|
+
return resolveTsconfigJson(wordDir);
|
|
941
|
+
case 1:
|
|
942
|
+
tsConfig = _context.v;
|
|
943
|
+
_context.n = 2;
|
|
944
|
+
return resolveDoraConfig(wordDir, mode);
|
|
945
|
+
case 2:
|
|
946
|
+
doraConfig = _context.v;
|
|
947
|
+
_context.n = 3;
|
|
948
|
+
return resolvePackageJson(wordDir);
|
|
949
|
+
case 3:
|
|
950
|
+
packageConfig = _context.v;
|
|
951
|
+
configCtx.setPackageConfig(packageConfig);
|
|
952
|
+
configCtx.setDoraConfig(wholeDoraConfig(mergeDoraCliConfig((presetConfig === null || presetConfig === void 0 ? void 0 : presetConfig.doraConfig) || {}, doraConfig || {}), wordDir));
|
|
953
|
+
configCtx.setTsConfig(tsConfig);
|
|
954
|
+
case 4:
|
|
955
|
+
return _context.a(2);
|
|
956
|
+
}
|
|
957
|
+
}, _callee);
|
|
958
|
+
}));
|
|
959
|
+
return function collectConfig(_x, _x2, _x3) {
|
|
960
|
+
return _ref.apply(this, arguments);
|
|
961
|
+
};
|
|
962
|
+
}();
|
|
963
|
+
|
|
964
|
+
/**
|
|
965
|
+
* 获取cdn文件配置
|
|
966
|
+
* @returns
|
|
967
|
+
*/
|
|
968
|
+
function resolveCdnConfig(_x, _x2) {
|
|
969
|
+
return _resolveCdnConfig.apply(this, arguments);
|
|
970
|
+
}
|
|
971
|
+
function _resolveCdnConfig() {
|
|
972
|
+
_resolveCdnConfig = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(workRootDir, mode) {
|
|
973
|
+
var userConfig;
|
|
974
|
+
return _regenerator().w(function (_context) {
|
|
975
|
+
while (1) switch (_context.p = _context.n) {
|
|
976
|
+
case 0:
|
|
977
|
+
_context.p = 0;
|
|
978
|
+
_context.n = 1;
|
|
979
|
+
return getUserCdn(workRootDir);
|
|
980
|
+
case 1:
|
|
981
|
+
userConfig = _context.v;
|
|
982
|
+
return _context.a(2, parseCdnConfig(userConfig, mode));
|
|
983
|
+
case 2:
|
|
984
|
+
_context.p = 2;
|
|
985
|
+
_context.v;
|
|
986
|
+
cLog.log('resolve ', 'resolveUserCdn', '解析用户cdn配置失败');
|
|
987
|
+
return _context.a(2, {});
|
|
988
|
+
}
|
|
989
|
+
}, _callee, null, [[0, 2]]);
|
|
990
|
+
}));
|
|
991
|
+
return _resolveCdnConfig.apply(this, arguments);
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
var collectConfigs = /*#__PURE__*/function () {
|
|
995
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(workDir, need) {
|
|
996
|
+
var results;
|
|
997
|
+
return _regenerator().w(function (_context) {
|
|
998
|
+
while (1) switch (_context.p = _context.n) {
|
|
999
|
+
case 0:
|
|
1000
|
+
results = {
|
|
1001
|
+
doraConfig: null,
|
|
1002
|
+
packageConfig: null,
|
|
1003
|
+
tsconfigConfig: null,
|
|
1004
|
+
cdnConfig: null
|
|
1005
|
+
};
|
|
1006
|
+
_context.p = 1;
|
|
1007
|
+
if (!((need === null || need === void 0 ? void 0 : need.doraConfig) !== false)) {
|
|
1008
|
+
_context.n = 3;
|
|
1009
|
+
break;
|
|
1010
|
+
}
|
|
1011
|
+
_context.n = 2;
|
|
1012
|
+
return getDoracliConfig(workDir);
|
|
1013
|
+
case 2:
|
|
1014
|
+
results.doraConfig = _context.v;
|
|
1015
|
+
case 3:
|
|
1016
|
+
_context.n = 5;
|
|
1017
|
+
break;
|
|
1018
|
+
case 4:
|
|
1019
|
+
_context.p = 4;
|
|
1020
|
+
_context.v;
|
|
1021
|
+
case 5:
|
|
1022
|
+
_context.p = 5;
|
|
1023
|
+
if (!((need === null || need === void 0 ? void 0 : need.packageConfig) !== false)) {
|
|
1024
|
+
_context.n = 7;
|
|
1025
|
+
break;
|
|
1026
|
+
}
|
|
1027
|
+
_context.n = 6;
|
|
1028
|
+
return getPackageJson(workDir);
|
|
1029
|
+
case 6:
|
|
1030
|
+
results.packageConfig = _context.v;
|
|
1031
|
+
case 7:
|
|
1032
|
+
_context.n = 9;
|
|
1033
|
+
break;
|
|
1034
|
+
case 8:
|
|
1035
|
+
_context.p = 8;
|
|
1036
|
+
_context.v;
|
|
1037
|
+
case 9:
|
|
1038
|
+
_context.p = 9;
|
|
1039
|
+
if (!((need === null || need === void 0 ? void 0 : need.tsconfigConfig) !== false)) {
|
|
1040
|
+
_context.n = 11;
|
|
1041
|
+
break;
|
|
1042
|
+
}
|
|
1043
|
+
_context.n = 10;
|
|
1044
|
+
return getTsconfigJson(workDir);
|
|
1045
|
+
case 10:
|
|
1046
|
+
results.tsconfigConfig = _context.v;
|
|
1047
|
+
case 11:
|
|
1048
|
+
_context.n = 13;
|
|
1049
|
+
break;
|
|
1050
|
+
case 12:
|
|
1051
|
+
_context.p = 12;
|
|
1052
|
+
_context.v;
|
|
1053
|
+
case 13:
|
|
1054
|
+
_context.p = 13;
|
|
1055
|
+
if (!((need === null || need === void 0 ? void 0 : need.cdnConfig) !== false)) {
|
|
1056
|
+
_context.n = 15;
|
|
1057
|
+
break;
|
|
1058
|
+
}
|
|
1059
|
+
_context.n = 14;
|
|
1060
|
+
return getUserCdn(workDir);
|
|
1061
|
+
case 14:
|
|
1062
|
+
results.cdnConfig = _context.v;
|
|
1063
|
+
case 15:
|
|
1064
|
+
_context.n = 17;
|
|
1065
|
+
break;
|
|
1066
|
+
case 16:
|
|
1067
|
+
_context.p = 16;
|
|
1068
|
+
_context.v;
|
|
1069
|
+
case 17:
|
|
1070
|
+
return _context.a(2, results);
|
|
1071
|
+
}
|
|
1072
|
+
}, _callee, null, [[13, 16], [9, 12], [5, 8], [1, 4]]);
|
|
1073
|
+
}));
|
|
1074
|
+
return function collectConfigs(_x, _x2) {
|
|
1075
|
+
return _ref.apply(this, arguments);
|
|
1076
|
+
};
|
|
1077
|
+
}();
|
|
1078
|
+
|
|
1079
|
+
var configCtxCollect = /*#__PURE__*/function () {
|
|
1080
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(configCtx, params) {
|
|
1081
|
+
return _regenerator().w(function (_context) {
|
|
1082
|
+
while (1) switch (_context.n) {
|
|
1083
|
+
case 0:
|
|
1084
|
+
configCtx.setCdnConfig(params.cdnConfig);
|
|
1085
|
+
configCtx.setDoraConfig(params.doraConfig);
|
|
1086
|
+
configCtx.setTsConfig(params.tsConfig);
|
|
1087
|
+
configCtx.setPackageConfig(params.packageConfig);
|
|
1088
|
+
configCtx.setWorkRoot(params.workRootDir || filePro.getCwd());
|
|
1089
|
+
configCtx.setCmd(params.cmd || {});
|
|
1090
|
+
case 1:
|
|
1091
|
+
return _context.a(2);
|
|
1092
|
+
}
|
|
1093
|
+
}, _callee);
|
|
1094
|
+
}));
|
|
1095
|
+
return function configCtxCollect(_x, _x2) {
|
|
1096
|
+
return _ref.apply(this, arguments);
|
|
1097
|
+
};
|
|
1098
|
+
}();
|
|
1099
|
+
|
|
1100
|
+
// 全局上下文变量
|
|
1101
|
+
var createEnvParams = function createEnvParams(params) {
|
|
1102
|
+
return params;
|
|
1103
|
+
};
|
|
1104
|
+
|
|
1105
|
+
var createOutputList = function createOutputList(config) {
|
|
1106
|
+
var input = config.input,
|
|
1107
|
+
output = config.output,
|
|
1108
|
+
formatList = config.formatList,
|
|
1109
|
+
format = config.format;
|
|
1110
|
+
var path = output.path,
|
|
1111
|
+
file = output.file;
|
|
1112
|
+
var outputList = [];
|
|
1113
|
+
if (format) {
|
|
1114
|
+
outputList.push({
|
|
1115
|
+
input: input,
|
|
1116
|
+
format: format,
|
|
1117
|
+
outputFile: file || filePro.getFilename(input) || 'index.js',
|
|
1118
|
+
outputPath: path || 'dist'
|
|
1119
|
+
});
|
|
1120
|
+
} else if (lang.isArray(formatList)) {
|
|
1121
|
+
formatList.forEach(function (fmt) {
|
|
1122
|
+
outputList.push({
|
|
1123
|
+
input: input,
|
|
1124
|
+
format: fmt,
|
|
1125
|
+
outputFile: file || filePro.getFilename(input) || 'index.js',
|
|
1126
|
+
outputPath: path || 'dist'
|
|
1127
|
+
});
|
|
1128
|
+
});
|
|
1129
|
+
} else {
|
|
1130
|
+
outputList.push({
|
|
1131
|
+
input: input,
|
|
1132
|
+
format: 'iife',
|
|
1133
|
+
outputFile: file || filePro.getFilename(input) || 'index.js',
|
|
1134
|
+
outputPath: path || 'dist'
|
|
1135
|
+
});
|
|
1136
|
+
}
|
|
1137
|
+
return outputList;
|
|
1138
|
+
};
|
|
1139
|
+
|
|
1140
|
+
var parsetConfig = /*#__PURE__*/function () {
|
|
1141
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(config, mode) {
|
|
1142
|
+
var _t, _t2, _t3, _t4;
|
|
1143
|
+
return _regenerator().w(function (_context) {
|
|
1144
|
+
while (1) switch (_context.n) {
|
|
1145
|
+
case 0:
|
|
1146
|
+
_context.n = 1;
|
|
1147
|
+
return parseDoracliConfig(config.doraConfig, mode);
|
|
1148
|
+
case 1:
|
|
1149
|
+
_t = _context.v;
|
|
1150
|
+
_t2 = config.packageConfig || {};
|
|
1151
|
+
_t3 = config.tsconfigConfig || {};
|
|
1152
|
+
_context.n = 2;
|
|
1153
|
+
return parseCdnConfig(config.cdnConfig, mode);
|
|
1154
|
+
case 2:
|
|
1155
|
+
_t4 = _context.v;
|
|
1156
|
+
return _context.a(2, {
|
|
1157
|
+
doraConfig: _t,
|
|
1158
|
+
packageConfig: _t2,
|
|
1159
|
+
tsConfig: _t3,
|
|
1160
|
+
cdnConfig: _t4
|
|
1161
|
+
});
|
|
1162
|
+
}
|
|
1163
|
+
}, _callee);
|
|
1164
|
+
}));
|
|
1165
|
+
return function parsetConfig(_x, _x2) {
|
|
1166
|
+
return _ref.apply(this, arguments);
|
|
1167
|
+
};
|
|
1168
|
+
}();
|
|
1169
|
+
|
|
1170
|
+
var _excluded = ["multiple"];
|
|
1171
|
+
var splitDoraConfig = function splitDoraConfig(config) {
|
|
1172
|
+
var multiple = config.multiple,
|
|
1173
|
+
neatConfig = _objectWithoutProperties(config, _excluded);
|
|
1174
|
+
if (!lang.isArray(multiple)) return [neatConfig];
|
|
1175
|
+
if (multiple.length === 0) return [neatConfig];
|
|
1176
|
+
if (multiple.length === 1) return [mergeDoraCliConfigMutiple(multiple[0], neatConfig)];
|
|
1177
|
+
return multiple.map(function (item) {
|
|
1178
|
+
return mergeDoraCliConfigMutiple(neatConfig, item);
|
|
1179
|
+
});
|
|
1180
|
+
};
|
|
1181
|
+
|
|
1182
|
+
exports.picocolors = picocolors;
|
|
1183
|
+
exports.ConfigCtx = ConfigCtx;
|
|
1184
|
+
exports.EnvEnum = EnvEnum;
|
|
1185
|
+
exports.cLog = cLog;
|
|
1186
|
+
exports.cLogError = cLogError;
|
|
1187
|
+
exports.cLogMessage = cLogMessage;
|
|
1188
|
+
exports.cLogSuccess = cLogSuccess;
|
|
1189
|
+
exports.cLogTime = cLogTime;
|
|
1190
|
+
exports.cLogTimeEnd = cLogTimeEnd;
|
|
1191
|
+
exports.cLogWarn = cLogWarn;
|
|
1192
|
+
exports.collectConfig = collectConfig;
|
|
1193
|
+
exports.collectConfigs = collectConfigs;
|
|
1194
|
+
exports.configCtxCollect = configCtxCollect;
|
|
1195
|
+
exports.createEnvParams = createEnvParams;
|
|
1196
|
+
exports.createOutputList = createOutputList;
|
|
1197
|
+
exports.findInput = findInput;
|
|
1198
|
+
exports.getDoracliConfig = getDoracliConfig;
|
|
1199
|
+
exports.getPackageJson = getPackageJson;
|
|
1200
|
+
exports.getTsPathAlias = getTsPathAlias;
|
|
1201
|
+
exports.getTsconfigJson = getTsconfigJson;
|
|
1202
|
+
exports.getUserCdn = getUserCdn;
|
|
1203
|
+
exports.inputFileDirList = inputFileDirList;
|
|
1204
|
+
exports.inputFileTypeList = inputFileTypeList;
|
|
1205
|
+
exports.insertTsconfig = insertTsconfig;
|
|
1206
|
+
exports.mergeDoraCliConfig = mergeDoraCliConfig;
|
|
1207
|
+
exports.mergeDoraCliConfigMutiple = mergeDoraCliConfigMutiple;
|
|
1208
|
+
exports.parseCdnConfig = parseCdnConfig;
|
|
1209
|
+
exports.parseDoracliConfig = parseDoracliConfig;
|
|
1210
|
+
exports.parsetConfig = parsetConfig;
|
|
1211
|
+
exports.resolveCdnConfig = resolveCdnConfig;
|
|
1212
|
+
exports.resolveDoraConfig = resolveDoraConfig;
|
|
1213
|
+
exports.resolvePackageJson = resolvePackageJson;
|
|
1214
|
+
exports.resolveTsconfigJson = resolveTsconfigJson;
|
|
1215
|
+
exports.splitDoraCliConfig = splitDoraCliConfig;
|
|
1216
|
+
exports.splitDoraConfig = splitDoraConfig;
|
|
1217
|
+
exports.wholeDoraConfig = wholeDoraConfig;
|