@doracli/esbuild 0.0.5 → 0.0.8

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/lib/esm/index.js CHANGED
@@ -1,904 +1,3 @@
1
- import autoprefixer from 'autoprefixer';
2
- import { build, context } from 'esbuild';
3
- import { lessLoader } from 'esbuild-plugin-less';
4
- import postCssPlugin from 'esbuild-plugin-postcss';
5
- import esbuildPluginSass from 'esbuild-plugin-sass';
6
- import { join, resolve } from 'path';
7
- import { isArray, isObject, isString } from '@cclr/lang';
8
- import { htmlPlugin } from '@craftamap/esbuild-plugin-html';
9
- import { getCwd } from '@dorabag/file-pro';
10
- import { cLog, CompilerBase, EnvEnum, findInput } from '@doracli/helper';
11
-
12
- function _assertThisInitialized(e) {
13
- if (void 0 === e)
14
- throw new ReferenceError(
15
- "this hasn't been initialised - super() hasn't been called"
16
- );
17
- return e;
18
- }
19
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
20
- try {
21
- var i = n[a](c),
22
- u = i.value;
23
- } catch (n) {
24
- return void e(n);
25
- }
26
- i.done ? t(u) : Promise.resolve(u).then(r, o);
27
- }
28
- function _asyncToGenerator(n) {
29
- return function () {
30
- var t = this,
31
- e = arguments;
32
- return new Promise(function (r, o) {
33
- var a = n.apply(t, e);
34
- function _next(n) {
35
- asyncGeneratorStep(a, r, o, _next, _throw, 'next', n);
36
- }
37
- function _throw(n) {
38
- asyncGeneratorStep(a, r, o, _next, _throw, 'throw', n);
39
- }
40
- _next(void 0);
41
- });
42
- };
43
- }
44
- function _callSuper(t, o, e) {
45
- return (
46
- (o = _getPrototypeOf(o)),
47
- _possibleConstructorReturn(
48
- t,
49
- _isNativeReflectConstruct()
50
- ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor)
51
- : o.apply(t, e)
52
- )
53
- );
54
- }
55
- function _classCallCheck(a, n) {
56
- if (!(a instanceof n))
57
- throw new TypeError('Cannot call a class as a function');
58
- }
59
- function _defineProperties(e, r) {
60
- for (var t = 0; t < r.length; t++) {
61
- var o = r[t];
62
- ((o.enumerable = o.enumerable || false),
63
- (o.configurable = true),
64
- 'value' in o && (o.writable = true),
65
- Object.defineProperty(e, _toPropertyKey(o.key), o));
66
- }
67
- }
68
- function _createClass(e, r, t) {
69
- return (
70
- r && _defineProperties(e.prototype, r),
71
- Object.defineProperty(e, 'prototype', {
72
- writable: false,
73
- }),
74
- e
75
- );
76
- }
77
- function _defineProperty(e, r, t) {
78
- return (
79
- (r = _toPropertyKey(r)) in e
80
- ? Object.defineProperty(e, r, {
81
- value: t,
82
- enumerable: true,
83
- configurable: true,
84
- writable: true,
85
- })
86
- : (e[r] = t),
87
- e
88
- );
89
- }
90
- function _getPrototypeOf(t) {
91
- return (
92
- (_getPrototypeOf = Object.setPrototypeOf
93
- ? Object.getPrototypeOf.bind()
94
- : function (t) {
95
- return t.__proto__ || Object.getPrototypeOf(t);
96
- }),
97
- _getPrototypeOf(t)
98
- );
99
- }
100
- function _inherits(t, e) {
101
- if ('function' != typeof e && null !== e)
102
- throw new TypeError('Super expression must either be null or a function');
103
- ((t.prototype = Object.create(e && e.prototype, {
104
- constructor: {
105
- value: t,
106
- writable: true,
107
- configurable: true,
108
- },
109
- })),
110
- Object.defineProperty(t, 'prototype', {
111
- writable: false,
112
- }),
113
- e && _setPrototypeOf(t, e));
114
- }
115
- function _isNativeReflectConstruct() {
116
- try {
117
- var t = !Boolean.prototype.valueOf.call(
118
- Reflect.construct(Boolean, [], function () {})
119
- );
120
- } catch (t) {}
121
- return (_isNativeReflectConstruct = function () {
122
- return !!t;
123
- })();
124
- }
125
- function ownKeys(e, r) {
126
- var t = Object.keys(e);
127
- if (Object.getOwnPropertySymbols) {
128
- var o = Object.getOwnPropertySymbols(e);
129
- (r &&
130
- (o = o.filter(function (r) {
131
- return Object.getOwnPropertyDescriptor(e, r).enumerable;
132
- })),
133
- t.push.apply(t, o));
134
- }
135
- return t;
136
- }
137
- function _objectSpread2(e) {
138
- for (var r = 1; r < arguments.length; r++) {
139
- var t = null != arguments[r] ? arguments[r] : {};
140
- r % 2
141
- ? ownKeys(Object(t), true).forEach(function (r) {
142
- _defineProperty(e, r, t[r]);
143
- })
144
- : Object.getOwnPropertyDescriptors
145
- ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t))
146
- : ownKeys(Object(t)).forEach(function (r) {
147
- Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
148
- });
149
- }
150
- return e;
151
- }
152
- function _possibleConstructorReturn(t, e) {
153
- if (e && ('object' == typeof e || 'function' == typeof e)) return e;
154
- if (void 0 !== e)
155
- throw new TypeError(
156
- 'Derived constructors may only return object or undefined'
157
- );
158
- return _assertThisInitialized(t);
159
- }
160
- function _regenerator() {
161
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
162
- var e,
163
- t,
164
- r = 'function' == typeof Symbol ? Symbol : {},
165
- n = r.iterator || '@@iterator',
166
- o = r.toStringTag || '@@toStringTag';
167
- function i(r, n, o, i) {
168
- var c = n && n.prototype instanceof Generator ? n : Generator,
169
- u = Object.create(c.prototype);
170
- return (
171
- _regeneratorDefine(
172
- u,
173
- '_invoke',
174
- (function (r, n, o) {
175
- var i,
176
- c,
177
- u,
178
- f = 0,
179
- p = o || [],
180
- y = false,
181
- G = {
182
- p: 0,
183
- n: 0,
184
- v: e,
185
- a: d,
186
- f: d.bind(e, 4),
187
- d: function (t, r) {
188
- return ((i = t), (c = 0), (u = e), (G.n = r), a);
189
- },
190
- };
191
- function d(r, n) {
192
- for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
193
- var o,
194
- i = p[t],
195
- d = G.p,
196
- l = i[2];
197
- r > 3
198
- ? (o = l === n) &&
199
- ((u = i[(c = i[4]) ? 5 : ((c = 3), 3)]), (i[4] = i[5] = e))
200
- : i[0] <= d &&
201
- ((o = r < 2 && d < i[1])
202
- ? ((c = 0), (G.v = n), (G.n = i[1]))
203
- : d < l &&
204
- (o = r < 3 || i[0] > n || n > l) &&
205
- ((i[4] = r), (i[5] = n), (G.n = l), (c = 0)));
206
- }
207
- if (o || r > 1) return a;
208
- throw ((y = true), n);
209
- }
210
- return function (o, p, l) {
211
- if (f > 1) throw TypeError('Generator is already running');
212
- for (
213
- y && 1 === p && d(p, l), c = p, u = l;
214
- (t = c < 2 ? e : u) || !y;
215
-
216
- ) {
217
- i ||
218
- (c
219
- ? c < 3
220
- ? (c > 1 && (G.n = -1), d(c, u))
221
- : (G.n = u)
222
- : (G.v = u));
223
- try {
224
- if (((f = 2), i)) {
225
- if ((c || (o = 'next'), (t = i[o]))) {
226
- if (!(t = t.call(i, u)))
227
- throw TypeError('iterator result is not an object');
228
- if (!t.done) return t;
229
- ((u = t.value), c < 2 && (c = 0));
230
- } else
231
- (1 === c && (t = i.return) && t.call(i),
232
- c < 2 &&
233
- ((u = TypeError(
234
- "The iterator does not provide a '" + o + "' method"
235
- )),
236
- (c = 1)));
237
- i = e;
238
- } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
239
- } catch (t) {
240
- ((i = e), (c = 1), (u = t));
241
- } finally {
242
- f = 1;
243
- }
244
- }
245
- return {
246
- value: t,
247
- done: y,
248
- };
249
- };
250
- })(r, o, i),
251
- true
252
- ),
253
- u
254
- );
255
- }
256
- var a = {};
257
- function Generator() {}
258
- function GeneratorFunction() {}
259
- function GeneratorFunctionPrototype() {}
260
- t = Object.getPrototypeOf;
261
- var c = [][n]
262
- ? t(t([][n]()))
263
- : (_regeneratorDefine((t = {}), n, function () {
264
- return this;
265
- }),
266
- t),
267
- u =
268
- (GeneratorFunctionPrototype.prototype =
269
- Generator.prototype =
270
- Object.create(c));
271
- function f(e) {
272
- return (
273
- Object.setPrototypeOf
274
- ? Object.setPrototypeOf(e, GeneratorFunctionPrototype)
275
- : ((e.__proto__ = GeneratorFunctionPrototype),
276
- _regeneratorDefine(e, o, 'GeneratorFunction')),
277
- (e.prototype = Object.create(u)),
278
- e
279
- );
280
- }
281
- return (
282
- (GeneratorFunction.prototype = GeneratorFunctionPrototype),
283
- _regeneratorDefine(u, 'constructor', GeneratorFunctionPrototype),
284
- _regeneratorDefine(
285
- GeneratorFunctionPrototype,
286
- 'constructor',
287
- GeneratorFunction
288
- ),
289
- (GeneratorFunction.displayName = 'GeneratorFunction'),
290
- _regeneratorDefine(GeneratorFunctionPrototype, o, 'GeneratorFunction'),
291
- _regeneratorDefine(u),
292
- _regeneratorDefine(u, o, 'Generator'),
293
- _regeneratorDefine(u, n, function () {
294
- return this;
295
- }),
296
- _regeneratorDefine(u, 'toString', function () {
297
- return '[object Generator]';
298
- }),
299
- (_regenerator = function () {
300
- return {
301
- w: i,
302
- m: f,
303
- };
304
- })()
305
- );
306
- }
307
- function _regeneratorDefine(e, r, n, t) {
308
- var i = Object.defineProperty;
309
- try {
310
- i({}, '', {});
311
- } catch (e) {
312
- i = 0;
313
- }
314
- ((_regeneratorDefine = function (e, r, n, t) {
315
- function o(r, n) {
316
- _regeneratorDefine(e, r, function (e) {
317
- return this._invoke(r, n, e);
318
- });
319
- }
320
- r
321
- ? i
322
- ? i(e, r, {
323
- value: n,
324
- enumerable: !t,
325
- configurable: !t,
326
- writable: !t,
327
- })
328
- : (e[r] = n)
329
- : (o('next', 0), o('throw', 1), o('return', 2));
330
- }),
331
- _regeneratorDefine(e, r, n, t));
332
- }
333
- function _setPrototypeOf(t, e) {
334
- return (
335
- (_setPrototypeOf = Object.setPrototypeOf
336
- ? Object.setPrototypeOf.bind()
337
- : function (t, e) {
338
- return ((t.__proto__ = e), t);
339
- }),
340
- _setPrototypeOf(t, e)
341
- );
342
- }
343
- function _toPrimitive(t, r) {
344
- if ('object' != typeof t || !t) return t;
345
- var e = t[Symbol.toPrimitive];
346
- if (void 0 !== e) {
347
- var i = e.call(t, r);
348
- if ('object' != typeof i) return i;
349
- throw new TypeError('@@toPrimitive must return a primitive value.');
350
- }
351
- return ('string' === r ? String : Number)(t);
352
- }
353
- function _toPropertyKey(t) {
354
- var i = _toPrimitive(t, 'string');
355
- return 'symbol' == typeof i ? i : i + '';
356
- }
357
-
358
- var builder = /*#__PURE__*/ (function () {
359
- var _ref = _asyncToGenerator(
360
- /*#__PURE__*/ _regenerator().m(function _callee(config) {
361
- return _regenerator().w(function (_context) {
362
- while (1)
363
- switch (_context.n) {
364
- case 0:
365
- return _context.a(2, build(config));
366
- }
367
- }, _callee);
368
- })
369
- );
370
- return function builder(_x) {
371
- return _ref.apply(this, arguments);
372
- };
373
- })();
374
-
375
- var Compiler = /*#__PURE__*/ (function (_CompilerBase) {
376
- function Compiler(config) {
377
- var _this;
378
- _classCallCheck(this, Compiler);
379
- _this = _callSuper(this, Compiler, [config]);
380
- _defineProperty(_this, 'inOutMap', function (inputOutputMap) {
381
- var inOutList = [];
382
- Object.keys(inputOutputMap).forEach(function (input) {
383
- var output = inputOutputMap[input];
384
- inOutList.push({
385
- in: input,
386
- out: output,
387
- });
388
- });
389
- return _this.build({
390
- entryPoints: inOutList,
391
- });
392
- });
393
- _defineProperty(
394
- _this,
395
- 'context',
396
- /*#__PURE__*/ (function () {
397
- var _ref = _asyncToGenerator(
398
- /*#__PURE__*/ _regenerator().m(function _callee(opt) {
399
- var ctx;
400
- return _regenerator().w(function (_context) {
401
- while (1)
402
- switch (_context.n) {
403
- case 0:
404
- _context.n = 1;
405
- return context(
406
- _objectSpread2(_objectSpread2({}, _this.initOptions), opt)
407
- );
408
- case 1:
409
- ctx = _context.v;
410
- return _context.a(2, {
411
- rebuild: function rebuild() {
412
- return ctx.rebuild();
413
- },
414
- cancel: function cancel() {
415
- return ctx.cancel();
416
- },
417
- });
418
- }
419
- }, _callee);
420
- })
421
- );
422
- return function (_x) {
423
- return _ref.apply(this, arguments);
424
- };
425
- })()
426
- );
427
- _defineProperty(
428
- _this,
429
- 'input',
430
- /*#__PURE__*/ (function () {
431
- var _ref2 = _asyncToGenerator(
432
- /*#__PURE__*/ _regenerator().m(function _callee3(input) {
433
- return _regenerator().w(function (_context3) {
434
- while (1)
435
- switch (_context3.n) {
436
- case 0:
437
- return _context3.a(2, {
438
- output: (function () {
439
- var _output = _asyncToGenerator(
440
- /*#__PURE__*/ _regenerator().m(
441
- function _callee2(outputConfig) {
442
- var finalConfig;
443
- return _regenerator().w(function (_context2) {
444
- while (1)
445
- switch (_context2.n) {
446
- case 0:
447
- finalConfig = _objectSpread2(
448
- _objectSpread2({}, _this.initOptions),
449
- {},
450
- {
451
- entryPoints: isArray(input)
452
- ? input
453
- : [input],
454
- outfile: resolve(
455
- outputConfig.dir,
456
- outputConfig.filename
457
- ),
458
- format: outputConfig.format || 'esm',
459
- }
460
- );
461
- return _context2.a(2, build(finalConfig));
462
- }
463
- }, _callee2);
464
- }
465
- )
466
- );
467
- function output(_x3) {
468
- return _output.apply(this, arguments);
469
- }
470
- return output;
471
- })(),
472
- });
473
- }
474
- }, _callee3);
475
- })
476
- );
477
- return function (_x2) {
478
- return _ref2.apply(this, arguments);
479
- };
480
- })()
481
- );
482
- _defineProperty(_this, 'build', function (options) {
483
- return build(
484
- _objectSpread2(_objectSpread2({}, _this.initOptions), options)
485
- );
486
- });
487
- _defineProperty(
488
- _this,
489
- 'watch',
490
- /*#__PURE__*/ (function () {
491
- var _ref3 = _asyncToGenerator(
492
- /*#__PURE__*/ _regenerator().m(function _callee4(options) {
493
- var ctx, server;
494
- return _regenerator().w(function (_context4) {
495
- while (1)
496
- switch (_context4.n) {
497
- case 0:
498
- _context4.n = 1;
499
- return context(_this.initOptions);
500
- case 1:
501
- ctx = _context4.v;
502
- _context4.n = 2;
503
- return ctx.watch(options);
504
- case 2:
505
- server = _context4.v;
506
- return _context4.a(2, server);
507
- }
508
- }, _callee4);
509
- })
510
- );
511
- return function (_x4) {
512
- return _ref3.apply(this, arguments);
513
- };
514
- })()
515
- );
516
- _defineProperty(
517
- _this,
518
- 'server',
519
- /*#__PURE__*/ (function () {
520
- var _ref4 = _asyncToGenerator(
521
- /*#__PURE__*/ _regenerator().m(function _callee5(serverConfig) {
522
- var ctx, server;
523
- return _regenerator().w(function (_context5) {
524
- while (1)
525
- switch (_context5.n) {
526
- case 0:
527
- _context5.n = 1;
528
- return context(_this.initOptions);
529
- case 1:
530
- ctx = _context5.v;
531
- _context5.n = 2;
532
- return ctx.serve(serverConfig);
533
- case 2:
534
- server = _context5.v;
535
- return _context5.a(2, server);
536
- }
537
- }, _callee5);
538
- })
539
- );
540
- return function (_x5) {
541
- return _ref4.apply(this, arguments);
542
- };
543
- })()
544
- );
545
- return _this;
546
- }
547
- _inherits(Compiler, _CompilerBase);
548
- return _createClass(Compiler);
549
- })(CompilerBase);
550
- var createCompiler = function createCompiler(baseConfig) {
551
- var esBuildOptions = _objectSpread2(
552
- {
553
- bundle: true,
554
- // 打包所有依赖
555
- minify: true,
556
- // 压缩代码
557
- sourcemap: true,
558
- // 生成 Source Map
559
- platform: 'node',
560
- // 运行平台('node' 或 'browser')
561
- target: ['esnext'],
562
- // 目标环境
563
- format: 'esm',
564
- // 输出格式('esm'、'cjs' 或 'iife')
565
- external: ['react', 'react-dom'],
566
- // 标记为外部依赖,不打包
567
- loader: {
568
- '.ts': 'ts', // TypeScript 文件加载器
569
- },
570
- plugins: [],
571
- },
572
- baseConfig
573
- );
574
- return new Compiler(esBuildOptions);
575
- };
576
-
577
- var getDefine = function getDefine(params) {
578
- var NODE_ENV = params.NODE_ENV;
579
- return {
580
- 'process.env.NODE_ENV': '"'.concat(NODE_ENV || 'production', '"'),
581
- };
582
- };
583
-
584
- var inputFileDirList = ['src/index', 'index'];
585
- var inputFileTypeList = ['.ts', '.js', '.tsx', '.jsx'];
586
- var getEntryPoints = function getEntryPoints(envParams, input) {
587
- if (input) {
588
- return input;
589
- }
590
- var autoInput = findInput(envParams.workRootDir);
591
- if (!autoInput) {
592
- cLog.error('init', 'error', '需要有一个入口文件 index 或者 src/index');
593
- process.exit(1);
594
- }
595
- return [autoInput];
596
- };
597
-
598
- var getReactLoaderPreset = function getReactLoaderPreset() {
599
- return {
600
- '.js': 'jsx',
601
- // 处理 JS 文件中的 JSX
602
- '.ts': 'ts',
603
- // 处理 TypeScript 文件
604
- '.tsx': 'tsx',
605
- // 处理 TypeScript + JSX 文件
606
- '.css': 'css',
607
- // 处理 CSS 文件
608
- '.png': 'file',
609
- // 处理 PNG 图片
610
- '.svg': 'file',
611
- // 处理 SVG 文件
612
- '.json': 'json', // 处理 SVG 文件
613
- };
614
- };
615
- var getNodeLoaderPreset = function getNodeLoaderPreset() {
616
- return {
617
- '.js': 'jsx',
618
- // 处理 JS 文件中的 JSX
619
- '.ts': 'ts', // 处理 TypeScript 文件
620
- };
621
- };
622
-
623
- var htmlPresetStr =
624
- '\n<!DOCTYPE html>\n<html lang="zh-CN">\n <head>\n <meta charset="UTF-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>cclr</title>\n <!-- \u5F15\u5165\u6837\u5F0F -->\n <% for (var i in define.headBeforeStyle) { %>\n <link\n href="<%= define.headBeforeStyle[i] %>"\n rel="stylesheet"\n />\n <% } %>\n\n <!-- \u5F15\u5165js -->\n <% for (var i in define.headAfterScript) { %>\n <script src="<%= define.headAfterScript[i] %>"></script>\n <% } %>\n </head>\n <body>\n <div id="main">welcome use cclr !!</div>\n </body>\n</html>\n';
625
-
626
- var getEsbuildPluginHtml = function getEsbuildPluginHtml(params) {
627
- var cdnConfig = params.cdnConfig,
628
- entry = params.entry;
629
- return htmlPlugin({
630
- files: [
631
- _objectSpread2(
632
- {
633
- filename: 'index.html',
634
- entryPoints: [entry],
635
- htmlTemplate: htmlPresetStr,
636
- define: _objectSpread2({}, cdnConfig),
637
- },
638
- params
639
- ),
640
- ],
641
- });
642
- };
643
-
644
- var getLessPlugin = function getLessPlugin() {
645
- return lessLoader();
646
- };
647
-
648
- var getPostCssPlugin = function getPostCssPlugin() {
649
- return postCssPlugin.default({
650
- postcssPlugin: [
651
- autoprefixer, // 自动添加浏览器前缀
652
- ],
653
- });
654
- };
655
-
656
- var getSassPlugin = function getSassPlugin() {
657
- return esbuildPluginSass();
658
- };
659
-
660
- var esbuildEntryPointsMw = function esbuildEntryPointsMw() {
661
- return function (ctx) {
662
- return function (next) {
663
- return function () {
664
- var _ctx$getDoraConfig = ctx.getDoraConfig(),
665
- input = _ctx$getDoraConfig.input;
666
- ctx.updateEsbuildConfig({
667
- entryPoints: getEntryPoints(
668
- ctx.envParams,
669
- input ? [input] : undefined
670
- ),
671
- });
672
- return next();
673
- };
674
- };
675
- };
676
- };
677
-
678
- var envParamsMw = function envParamsMw(envParams) {
679
- return function (ctx) {
680
- return function (next) {
681
- return /*#__PURE__*/ _asyncToGenerator(
682
- /*#__PURE__*/ _regenerator().m(function _callee() {
683
- return _regenerator().w(function (_context) {
684
- while (1)
685
- switch (_context.n) {
686
- case 0:
687
- ctx.updateEnvParams(envParams);
688
- return _context.a(2, next());
689
- }
690
- }, _callee);
691
- })
692
- );
693
- };
694
- };
695
- };
696
-
697
- var esbuildReactLoaderMw = function esbuildReactLoaderMw() {
698
- return function (ctx) {
699
- return function (next) {
700
- return function () {
701
- ctx.updateEsbuildConfig({
702
- loader: getReactLoaderPreset(),
703
- });
704
- return next();
705
- };
706
- };
707
- };
708
- };
709
-
710
- var esbuildOutputMw = function esbuildOutputMw() {
711
- return function (ctx) {
712
- return function (next) {
713
- return function () {
714
- var _ctx$getDoraConfig = ctx.getDoraConfig(),
715
- output = _ctx$getDoraConfig.output;
716
- var workRootDir = ctx.envParams.workRootDir;
717
- var path = output.path,
718
- file = output.file;
719
- ctx.updateEsbuildConfig({
720
- outfile: join(workRootDir, path, file || 'index.js'),
721
- });
722
- return next();
723
- };
724
- };
725
- };
726
- };
727
-
728
- var esbuildPlainMw = function esbuildPlainMw() {
729
- return function (ctx) {
730
- return function (next) {
731
- return function () {
732
- var action = ctx.envParams.action;
733
- var _ctx$getDoraConfig = ctx.getDoraConfig(),
734
- minimize = _ctx$getDoraConfig.minimize;
735
- ctx.updateEsbuildConfig({
736
- define: getDefine({
737
- NODE_ENV: action === 'build' ? EnvEnum.prod : EnvEnum.dev,
738
- }),
739
- minify: minimize,
740
- bundle: true,
741
- platform: 'browser',
742
- target: ['es2020'],
743
- resolveExtensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
744
- logLevel: 'info',
745
- });
746
- return next();
747
- };
748
- };
749
- };
750
- };
751
-
752
- var esbuildStylePluginMw = function esbuildStylePluginMw() {
753
- return function (ctx) {
754
- return function (next) {
755
- return function () {
756
- var plugins = ctx.esbuildConfig.plugins || [];
757
- plugins.push(getLessPlugin(), getPostCssPlugin());
758
- ctx.updateEsbuildConfig({
759
- plugins: plugins,
760
- });
761
- return next();
762
- };
763
- };
764
- };
765
- };
766
-
767
- var getNodeBuildConfigPreset = function getNodeBuildConfigPreset(options) {
768
- return _objectSpread2(
769
- {
770
- bundle: true,
771
- minify: true,
772
- sourcemap: true,
773
- target: ['es2020'],
774
- platform: 'browser',
775
- define: {
776
- 'process.env.NODE_ENV': '"production"',
777
- },
778
- loader: {
779
- '.png': 'file',
780
- '.svg': 'file',
781
- },
782
- plugins: [],
783
- },
784
- options
785
- );
786
- };
787
-
788
- var getReactBuildConfigPreset = function getReactBuildConfigPreset() {
789
- return {
790
- entryPoints: ['src/index.ts'],
791
- outdir: 'dist',
792
- bundle: true,
793
- minify: true,
794
- sourcemap: true,
795
- target: ['es2020'],
796
- platform: 'browser',
797
- external: ['react', 'react-dom'],
798
- define: {
799
- 'process.env.NODE_ENV': '"production"',
800
- },
801
- loader: {
802
- '.png': 'file',
803
- '.svg': 'file',
804
- },
805
- plugins: [],
806
- };
807
- };
808
-
809
- var createContext = function createContext() {
810
- return context({});
811
- };
812
-
813
- var Ctx = /*#__PURE__*/ (function () {
814
- function Ctx(configCtx) {
815
- _classCallCheck(this, Ctx);
816
- _defineProperty(this, 'configCtx', void 0);
817
- _defineProperty(this, 'esbuildConfig', {});
818
- _defineProperty(this, 'envParams', {
819
- action: 'build',
820
- workRootDir: getCwd(),
821
- });
822
- this.configCtx = configCtx;
823
- }
824
- return _createClass(Ctx, [
825
- {
826
- key: 'updateEnvParams',
827
- value: function updateEnvParams(argv) {
828
- this.envParams = _objectSpread2(
829
- _objectSpread2({}, this.envParams),
830
- argv
831
- );
832
- },
833
- },
834
- {
835
- key: 'updateEsbuildConfig',
836
- value: function updateEsbuildConfig(config) {
837
- this.esbuildConfig = _objectSpread2(
838
- _objectSpread2({}, this.esbuildConfig),
839
- config
840
- );
841
- },
842
- },
843
- {
844
- key: 'getDoraConfig',
845
- value: function getDoraConfig() {
846
- return this.configCtx.getDoraConfig();
847
- },
848
- },
849
- {
850
- key: 'geTDoraConfigEsbuild',
851
- value: function geTDoraConfigEsbuild() {
852
- return this.configCtx.getDoraConfig().esbuildConfig || {};
853
- },
854
- },
855
- ]);
856
- })();
857
-
858
- var extractEntry = function extractEntry(entryPoints) {
859
- var files = [];
860
- if (!entryPoints) return [];
861
- if (isString(entryPoints)) files.push(entryPoints);
862
- else if (isArray(entryPoints))
863
- entryPoints.forEach(function (entry) {
864
- if (isString(entry)) files.push(entry);
865
- if (isObject(entry) && entry.in) files.push(entry.in);
866
- });
867
- else if (isObject(entryPoints)) {
868
- // 对象可能是 { import: '...' } 或 { import: ['...'] }
869
- // 也可能是其它描述符
870
- // 尝试提取 import 字段
871
-
872
- Object.values(entryPoints).forEach(function (val) {
873
- return files.push(val);
874
- });
875
- }
876
- return files;
877
- };
878
-
879
- export {
880
- builder,
881
- Compiler,
882
- createCompiler,
883
- createContext,
884
- Ctx,
885
- envParamsMw,
886
- esbuildEntryPointsMw,
887
- esbuildOutputMw,
888
- esbuildPlainMw,
889
- esbuildReactLoaderMw,
890
- esbuildStylePluginMw,
891
- extractEntry,
892
- getDefine,
893
- getEntryPoints,
894
- getEsbuildPluginHtml,
895
- getLessPlugin,
896
- getNodeBuildConfigPreset,
897
- getNodeLoaderPreset,
898
- getPostCssPlugin,
899
- getReactBuildConfigPreset,
900
- getReactLoaderPreset,
901
- getSassPlugin,
902
- inputFileDirList,
903
- inputFileTypeList,
904
- };
1
+ import{build as n,context as t}from"esbuild";import{resolve as r,join as e}from"path";import{isArray as o,isString as i,isObject as u}from"@cclr/lang";import{CompilerBase as c,findInput as f,cLog as a,EnvEnum as s}from"@doracli/helper";import{htmlPlugin as l}from"@craftamap/esbuild-plugin-html";import{lessLoader as p}from"esbuild-plugin-less";import d from"autoprefixer";import v from"esbuild-plugin-postcss";import b from"esbuild-plugin-sass";import{getCwd as m}from"@dorabag/file-pro";function y(n,t,r,e,o,i,u){try{var c=n[i](u),f=c.value}catch(n){return void r(n)}c.done?t(f):Promise.resolve(f).then(e,o)}function h(n){return function(){var t=this,r=arguments;return new Promise(function(e,o){var i=n.apply(t,r);function u(n){y(i,e,o,u,c,"next",n)}function c(n){y(i,e,o,u,c,"throw",n)}u(void 0)})}}function g(n,t,r){return t=P(t),function(n,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(void 0===n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(n)}(n,x()?Reflect.construct(t,r||[],P(n).constructor):t.apply(n,r))}function O(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function j(n,t,r){return t&&function(n,t){for(var r=0;r<t.length;r++){var e=t[r];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(n,S(e.key),e)}}(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),n}function w(n,t,r){return(t=S(t))in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n}function P(n){return P=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},P(n)}function x(){try{var n=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(n){}return(x=function(){return!!n})()}function E(n,t){var r=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);t&&(e=e.filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})),r.push.apply(r,e)}return r}function C(n){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach(function(t){w(n,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(r,t))})}return n}function D(){
2
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
+ var n,t,r="function"==typeof Symbol?Symbol:{},e=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,e,o,i){var f=e&&e.prototype instanceof c?e:c,a=Object.create(f.prototype);return _(a,"_invoke",function(r,e,o){var i,c,f,a=0,s=o||[],l=!1,p={p:0,n:0,v:n,a:d,f:d.bind(n,4),d:function(t,r){return i=t,c=0,f=n,p.n=r,u}};function d(r,e){for(c=r,f=e,t=0;!l&&a&&!o&&t<s.length;t++){var o,i=s[t],d=p.p,v=i[2];r>3?(o=v===e)&&(f=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=n):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,p.v=e,p.n=i[1]):d<v&&(o=r<3||i[0]>e||e>v)&&(i[4]=r,i[5]=e,p.n=v,c=0))}if(o||r>1)return u;throw l=!0,e}return function(o,s,v){if(a>1)throw TypeError("Generator is already running");for(l&&1===s&&d(s,v),c=s,f=v;(t=c<2?n:f)||!l;){i||(c?c<3?(c>1&&(p.n=-1),d(c,f)):p.n=f:p.v=f);try{if(a=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,f)))throw TypeError("iterator result is not an object");if(!t.done)return t;f=t.value,c<2&&(c=0)}else 1===c&&(t=i.return)&&t.call(i),c<2&&(f=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=n}else if((t=(l=p.n<0)?f:r.call(e,p))!==u)break}catch(t){i=n,c=1,f=t}finally{a=1}}return{value:t,done:l}}}(r,o,i),!0),a}var u={};function c(){}function f(){}function a(){}t=Object.getPrototypeOf;var s=[][e]?t(t([][e]())):(_(t={},e,function(){return this}),t),l=a.prototype=c.prototype=Object.create(s);function p(n){return Object.setPrototypeOf?Object.setPrototypeOf(n,a):(n.__proto__=a,_(n,o,"GeneratorFunction")),n.prototype=Object.create(l),n}return f.prototype=a,_(l,"constructor",a),_(a,"constructor",f),f.displayName="GeneratorFunction",_(a,o,"GeneratorFunction"),_(l),_(l,o,"Generator"),_(l,e,function(){return this}),_(l,"toString",function(){return"[object Generator]"}),(D=function(){return{w:i,m:p}})()}function _(n,t,r,e){var o=Object.defineProperty;try{o({},"",{})}catch(n){o=0}_=function(n,t,r,e){function i(t,r){_(n,t,function(n){return this._invoke(t,r,n)})}t?o?o(n,t,{value:r,enumerable:!e,configurable:!e,writable:!e}):n[t]=r:(i("next",0),i("throw",1),i("return",2))},_(n,t,r,e)}function k(n,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},k(n,t)}function S(n){var t=function(n,t){if("object"!=typeof n||!n)return n;var r=n[Symbol.toPrimitive];if(void 0!==r){var e=r.call(n,t);if("object"!=typeof e)return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(n)}(n,"string");return"symbol"==typeof t?t:t+""}var T=function(){var t=h(D().m(function t(r){return D().w(function(t){for(;;)if(0===t.n)return t.a(2,n(r))},t)}));return function(n){return t.apply(this,arguments)}}(),N=function(){function e(i){var u;return O(this,e),w(u=g(this,e,[i]),"inOutMap",function(n){var t=[];return Object.keys(n).forEach(function(r){var e=n[r];t.push({in:r,out:e})}),u.build({entryPoints:t})}),w(u,"context",function(){var n=h(D().m(function n(r){var e;return D().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,t(C(C({},u.initOptions),r));case 1:return e=n.v,n.a(2,{rebuild:function(){return e.rebuild()},cancel:function(){return e.cancel()}})}},n)}));return function(t){return n.apply(this,arguments)}}()),w(u,"input",function(){var t=h(D().m(function t(e){return D().w(function(t){for(;;)if(0===t.n)return t.a(2,{output:function(){var t=h(D().m(function t(i){var c;return D().w(function(t){for(;;)if(0===t.n)return c=C(C({},u.initOptions),{},{entryPoints:o(e)?e:[e],outfile:r(i.dir,i.filename),format:i.format||"esm"}),t.a(2,n(c))},t)}));return function(n){return t.apply(this,arguments)}}()})},t)}));return function(n){return t.apply(this,arguments)}}()),w(u,"build",function(t){return n(C(C({},u.initOptions),t))}),w(u,"watch",function(){var n=h(D().m(function n(r){var e,o;return D().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,t(u.initOptions);case 1:return e=n.v,n.n=2,e.watch(r);case 2:return o=n.v,n.a(2,o)}},n)}));return function(t){return n.apply(this,arguments)}}()),w(u,"server",function(){var n=h(D().m(function n(r){var e,o;return D().w(function(n){for(;;)switch(n.n){case 0:return n.n=1,t(u.initOptions);case 1:return e=n.v,n.n=2,e.serve(r);case 2:return o=n.v,n.a(2,o)}},n)}));return function(t){return n.apply(this,arguments)}}()),u}return function(n,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&k(n,t)}(e,c),j(e)}(),G=function(n){var t=C({bundle:!0,minify:!0,sourcemap:!0,platform:"node",target:["esnext"],format:"esm",external:["react","react-dom"],loader:{".ts":"ts"},plugins:[]},n);return new N(t)},R=function(n){var t=n.NODE_ENV;return{"process.env.NODE_ENV":'"'.concat(t||"production",'"')}},V=["src/index","index"],B=[".ts",".js",".tsx",".jsx"],F=function(n,t){if(t)return t;var r=f(n.workRootDir);return r||(a.error("init","error","需要有一个入口文件 index 或者 src/index"),process.exit(1)),[r]},A=function(){return{".js":"jsx",".ts":"ts",".tsx":"tsx",".css":"css",".png":"file",".svg":"file",".json":"json"}},z=function(){return{".js":"jsx",".ts":"ts"}},U=function(n){var t=n.cdnConfig,r=n.entry;return l({files:[C({filename:"index.html",entryPoints:[r],htmlTemplate:'\n<!DOCTYPE html>\n<html lang="zh-CN">\n <head>\n <meta charset="UTF-8" />\n <meta http-equiv="X-UA-Compatible" content="IE=edge" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>cclr</title>\n \x3c!-- 引入样式 --\x3e\n <% for (var i in define.headBeforeStyle) { %>\n <link\n href="<%= define.headBeforeStyle[i] %>"\n rel="stylesheet"\n />\n <% } %>\n\n \x3c!-- 引入js --\x3e\n <% for (var i in define.headAfterScript) { %>\n <script src="<%= define.headAfterScript[i] %>"><\/script>\n <% } %>\n </head>\n <body>\n <div id="main">welcome use cclr !!</div>\n </body>\n</html>\n',define:C({},t)},n)]})},q=function(){return p()},I=function(){return v.default({postcssPlugin:[d]})},L=function(){return b()},M=function(){return function(n){return function(t){return function(){var r=n.getDoraConfig().input;return n.updateEsbuildConfig({entryPoints:F(n.envParams,r?[r]:void 0)}),t()}}}},X=function(n){return function(t){return function(r){return h(D().m(function e(){return D().w(function(e){for(;;)if(0===e.n)return t.updateEnvParams(n),e.a(2,r())},e)}))}}},Y=function(){return function(n){return function(t){return function(){return n.updateEsbuildConfig({loader:{".js":"jsx",".ts":"ts",".tsx":"tsx",".css":"css",".png":"file",".svg":"file",".json":"json"}}),t()}}}},H=function(){return function(n){return function(t){return function(){var r=n.getDoraConfig().output,o=n.envParams.workRootDir,i=r.path,u=r.file;return n.updateEsbuildConfig({outfile:e(o,i,u||"index.js")}),t()}}}},J=function(){return function(n){return function(t){return function(){var r=n.envParams.action,e=n.getDoraConfig().minimize;return n.updateEsbuildConfig({define:R({NODE_ENV:"build"===r?s.prod:s.dev}),minify:e,bundle:!0,platform:"browser",target:["es2020"],resolveExtensions:[".tsx",".ts",".jsx",".js",".json"],logLevel:"info"}),t()}}}},K=function(){return function(n){return function(t){return function(){var r=n.esbuildConfig.plugins||[];return r.push(q(),I()),n.updateEsbuildConfig({plugins:r}),t()}}}},Q=function(n){return C({bundle:!0,minify:!0,sourcemap:!0,target:["es2020"],platform:"browser",define:{"process.env.NODE_ENV":'"production"'},loader:{".png":"file",".svg":"file"},plugins:[]},n)},W=function(){return{entryPoints:["src/index.ts"],outdir:"dist",bundle:!0,minify:!0,sourcemap:!0,target:["es2020"],platform:"browser",external:["react","react-dom"],define:{"process.env.NODE_ENV":'"production"'},loader:{".png":"file",".svg":"file"},plugins:[]}},Z=function(){return t({})},$=function(){return j(function n(t){O(this,n),w(this,"configCtx",void 0),w(this,"esbuildConfig",{}),w(this,"envParams",{action:"build",workRootDir:m()}),this.configCtx=t},[{key:"updateEnvParams",value:function(n){this.envParams=C(C({},this.envParams),n)}},{key:"updateEsbuildConfig",value:function(n){this.esbuildConfig=C(C({},this.esbuildConfig),n)}},{key:"getDoraConfig",value:function(){return this.configCtx.getDoraConfig()}},{key:"geTDoraConfigEsbuild",value:function(){return this.configCtx.getDoraConfig().esbuildConfig||{}}}])}(),nn=function(n){var t=[];return n?(i(n)?t.push(n):o(n)?n.forEach(function(n){i(n)&&t.push(n),u(n)&&n.in&&t.push(n.in)}):u(n)&&Object.values(n).forEach(function(n){return t.push(n)}),t):[]};export{N as Compiler,$ as Ctx,T as builder,G as createCompiler,Z as createContext,X as envParamsMw,M as esbuildEntryPointsMw,H as esbuildOutputMw,J as esbuildPlainMw,Y as esbuildReactLoaderMw,K as esbuildStylePluginMw,nn as extractEntry,R as getDefine,F as getEntryPoints,U as getEsbuildPluginHtml,q as getLessPlugin,Q as getNodeBuildConfigPreset,z as getNodeLoaderPreset,I as getPostCssPlugin,W as getReactBuildConfigPreset,A as getReactLoaderPreset,L as getSassPlugin,V as inputFileDirList,B as inputFileTypeList};