@tarojs/webpack5-runner 3.5.0-beta.0 → 3.5.0-beta.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/dist/index.h5.js +6 -2
- package/dist/index.h5.js.map +1 -1
- package/dist/plugins/H5Plugin.js +23 -12
- package/dist/plugins/H5Plugin.js.map +1 -1
- package/dist/prebundle/bundle.js +12 -4
- package/dist/prebundle/bundle.js.map +1 -1
- package/dist/prebundle/constant.js +2 -1
- package/dist/prebundle/constant.js.map +1 -1
- package/dist/prebundle/index.h5.js +83 -53
- package/dist/prebundle/index.h5.js.map +1 -1
- package/dist/prebundle/index.mini.js +19 -20
- package/dist/prebundle/index.mini.js.map +1 -1
- package/dist/prebundle/scanImports.js +2 -2
- package/dist/prebundle/scanImports.js.map +1 -1
- package/dist/prebundle/utils.js +2 -18
- package/dist/prebundle/utils.js.map +1 -1
- package/dist/prebundle/webpack/TaroContainerEntryModule.js +3 -4
- package/dist/prebundle/webpack/TaroContainerEntryModule.js.map +1 -1
- package/dist/prebundle/webpack/TaroContainerEntryModuleFactory.js +17 -0
- package/dist/prebundle/webpack/TaroContainerEntryModuleFactory.js.map +1 -0
- package/dist/prebundle/webpack/TaroContainerPlugin.js +28 -20
- package/dist/prebundle/webpack/TaroContainerPlugin.js.map +1 -1
- package/dist/prebundle/webpack/TaroContainerReferencePlugin.js +112 -52
- package/dist/prebundle/webpack/TaroContainerReferencePlugin.js.map +1 -1
- package/dist/prebundle/webpack/TaroModuleFederationPlugin.js +66 -0
- package/dist/prebundle/webpack/TaroModuleFederationPlugin.js.map +1 -0
- package/dist/prebundle/webpack/TaroRemoteRuntimeModule.js +116 -0
- package/dist/prebundle/webpack/TaroRemoteRuntimeModule.js.map +1 -0
- package/dist/prebundle/webpack/index.js +1 -0
- package/dist/prebundle/webpack/index.js.map +1 -0
- package/dist/webpack/Combination.js +18 -6
- package/dist/webpack/Combination.js.map +1 -1
- package/dist/webpack/H5Combination.js +7 -4
- package/dist/webpack/H5Combination.js.map +1 -1
- package/dist/webpack/H5WebpackPlugin.js +5 -2
- package/dist/webpack/H5WebpackPlugin.js.map +1 -1
- package/package.json +16 -15
package/dist/index.h5.js
CHANGED
|
@@ -27,10 +27,11 @@ let isFirstBuild = true;
|
|
|
27
27
|
function build(appPath, rawConfig) {
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
29
|
const combination = new H5Combination_1.H5Combination(appPath, rawConfig);
|
|
30
|
-
|
|
30
|
+
yield combination.make();
|
|
31
|
+
yield (0, index_h5_1.preBundle)(combination);
|
|
32
|
+
const webpackConfig = combination.chain.toConfig();
|
|
31
33
|
const config = combination.config;
|
|
32
34
|
const { isWatch } = config;
|
|
33
|
-
yield (0, index_h5_1.preBundle)(combination);
|
|
34
35
|
try {
|
|
35
36
|
if (isWatch) {
|
|
36
37
|
yield buildDev(webpackConfig, config, appPath);
|
|
@@ -81,6 +82,9 @@ function buildDev(webpackConfig, config, appPath) {
|
|
|
81
82
|
const onBuildFinish = config.onBuildFinish;
|
|
82
83
|
const devServerOptions = yield getDevServerOptions(appPath, config);
|
|
83
84
|
devServerOptions.host = (0, utils_1.formatOpenHost)(devServerOptions.host);
|
|
85
|
+
devServerOptions.static = {
|
|
86
|
+
directory: path_1.default.join(appPath, 'node_modules/.taro/h5/remote')
|
|
87
|
+
};
|
|
84
88
|
const compiler = (0, webpack_1.default)(webpackConfig);
|
|
85
89
|
const server = new webpack_dev_server_1.default(devServerOptions, compiler);
|
|
86
90
|
const pathname = routerMode === 'browser' ? routerBasename : '/';
|
package/dist/index.h5.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.h5.js","sourceRoot":"","sources":["../src/index.h5.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAAiF;AACjF,2CAA2C;AAC3C,8DAAoC;AACpC,gDAAuB;AACvB,6BAAyC;AACzC,sDAA6B;AAC7B,4EAAiD;AAEjD,mDAAgD;AAChD,mCAA6H;AAC7H,0EAAiD;AAEjD,2DAAuD;AAEvD,IAAI,YAAY,GAAG,IAAI,CAAA;AAEvB,SAA8B,KAAK,CAAE,OAAe,EAAE,SAAwB;;QAC5E,MAAM,WAAW,GAAG,IAAI,6BAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACzD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.h5.js","sourceRoot":"","sources":["../src/index.h5.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins/H5Plugin.js
CHANGED
|
@@ -16,6 +16,7 @@ const helper_1 = require("@tarojs/helper");
|
|
|
16
16
|
const lodash_1 = require("lodash");
|
|
17
17
|
const path_1 = __importDefault(require("path"));
|
|
18
18
|
const webpack_1 = __importDefault(require("webpack"));
|
|
19
|
+
const index_h5_1 = require("../prebundle/index.h5");
|
|
19
20
|
const H5AppInstance_1 = __importDefault(require("../utils/H5AppInstance"));
|
|
20
21
|
const PLUGIN_NAME = 'H5Plugin';
|
|
21
22
|
class H5Plugin {
|
|
@@ -32,13 +33,15 @@ class H5Plugin {
|
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
35
|
this.options = (0, lodash_1.defaults)(options || {}, {
|
|
36
|
+
appPath: '',
|
|
35
37
|
sourceDir: '',
|
|
36
38
|
routerConfig: {},
|
|
37
39
|
entryFileName: 'app',
|
|
38
40
|
framework: helper_1.FRAMEWORK_MAP.NERV,
|
|
39
41
|
useHtmlComponents: false,
|
|
40
42
|
deviceRatio: {},
|
|
41
|
-
designWidth: 750
|
|
43
|
+
designWidth: 750,
|
|
44
|
+
prebundle: false
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
apply(compiler) {
|
|
@@ -52,33 +55,41 @@ class H5Plugin {
|
|
|
52
55
|
}));
|
|
53
56
|
compiler.hooks.compilation.tap(PLUGIN_NAME, compilation => {
|
|
54
57
|
webpack_1.default.NormalModule.getCompilationHooks(compilation).loader.tap(PLUGIN_NAME, (_loaderContext, module) => {
|
|
55
|
-
const { framework, entryFileName, sourceDir, designWidth, deviceRatio, loaderMeta, routerConfig } = this.options;
|
|
58
|
+
const { framework, entryFileName, appPath, sourceDir, designWidth, deviceRatio, loaderMeta, prebundle, routerConfig } = this.options;
|
|
56
59
|
const { dir, name } = path_1.default.parse(module.resource);
|
|
57
|
-
const
|
|
58
|
-
if (!
|
|
60
|
+
const suffixRgx = /\.(boot|config)/;
|
|
61
|
+
if (!suffixRgx.test(name))
|
|
59
62
|
return;
|
|
60
63
|
const filePath = path_1.default.join(dir, name);
|
|
61
|
-
const pageName = filePath.replace(sourceDir + '/', '').replace(
|
|
64
|
+
const pageName = filePath.replace(sourceDir + '/', '').replace(suffixRgx, '');
|
|
62
65
|
const routerMode = (routerConfig === null || routerConfig === void 0 ? void 0 : routerConfig.mode) || 'hash';
|
|
63
66
|
const isMultiRouterMode = routerMode === 'multi';
|
|
64
67
|
const isApp = !isMultiRouterMode && pageName === entryFileName;
|
|
68
|
+
const bootstrap = prebundle && !/\.boot$/.test(name);
|
|
65
69
|
if (isApp || this.inst.pagesConfigList.has(pageName)) {
|
|
70
|
+
if (bootstrap) {
|
|
71
|
+
const bootPath = path_1.default.relative(appPath, path_1.default.join(sourceDir, `${isMultiRouterMode ? pageName : entryFileName}.boot.js`));
|
|
72
|
+
index_h5_1.VirtualModule.writeModule(bootPath, '/** bootstrap application code */');
|
|
73
|
+
}
|
|
66
74
|
module.loaders.push({
|
|
67
75
|
loader: '@tarojs/taro-loader/lib/h5',
|
|
68
76
|
options: {
|
|
77
|
+
bootstrap,
|
|
78
|
+
config: Object.assign({ router: this.options.routerConfig }, this.inst.appConfig),
|
|
79
|
+
entryFileName,
|
|
80
|
+
filename: name.replace(suffixRgx, ''),
|
|
69
81
|
framework,
|
|
70
82
|
loaderMeta,
|
|
71
|
-
entryFileName,
|
|
72
|
-
sourceDir,
|
|
73
|
-
filename: name.replace(configSuffix, ''),
|
|
74
83
|
pages: this.inst.pagesConfigList,
|
|
75
|
-
useHtmlComponents: this.options.useHtmlComponents,
|
|
76
|
-
config: Object.assign({ router: this.options.routerConfig }, this.inst.appConfig),
|
|
77
84
|
pxTransformConfig: {
|
|
78
85
|
designWidth,
|
|
79
86
|
deviceRatio
|
|
80
|
-
}
|
|
81
|
-
|
|
87
|
+
},
|
|
88
|
+
sourceDir,
|
|
89
|
+
useHtmlComponents: this.options.useHtmlComponents
|
|
90
|
+
},
|
|
91
|
+
ident: null,
|
|
92
|
+
type: null
|
|
82
93
|
});
|
|
83
94
|
}
|
|
84
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"H5Plugin.js","sourceRoot":"","sources":["../../src/plugins/H5Plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAA8C;AAE9C,mCAAiC;AACjC,gDAAuB;AACvB,sDAA6B;AAE7B,2EAAkD;AAElD,MAAM,WAAW,GAAG,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"H5Plugin.js","sourceRoot":"","sources":["../../src/plugins/H5Plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,2CAA8C;AAE9C,mCAAiC;AACjC,gDAAuB;AACvB,sDAA6B;AAE7B,oDAAqD;AACrD,2EAAkD;AAElD,MAAM,WAAW,GAAG,UAAU,CAAA;AAe9B,MAAqB,QAAQ;IAQ3B,YAAa,OAAO,GAAG,EAAE;QAJzB,oBAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3C,UAAK,GAAG,IAAI,GAAG,EAAgC,CAAA;QAiB/C,aAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAO,GAAG,EAAE,QAAQ,EAAE,EAAE;YACvC,IAAI;gBACF,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;gBACb,QAAQ,EAAE,CAAA;aACX;YAAC,OAAO,GAAG,EAAE;gBACZ,QAAQ,CAAC,GAAG,CAAC,CAAA;aACd;QACH,CAAC,CAAA,CAAA;QApBC,IAAI,CAAC,OAAO,GAAG,IAAA,iBAAQ,EAAC,OAAO,IAAI,EAAE,EAAE;YACrC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,KAAK;YACpB,SAAS,EAAE,sBAAa,CAAC,IAAI;YAC7B,iBAAiB,EAAE,KAAK;YACxB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;IACJ,CAAC;IAWD,KAAK,CAAE,QAA0B;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAA;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAa,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CACzB,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,EAAE,CAAA;QACZ,CAAC,CAAC,CACH,CAAA;QACD,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC9B,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,EAAE,CAAA;QACZ,CAAC,CAAC,CACH,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;YACxD,iBAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,cAA0C,EAAE,MAA4B,EAAE,EAAE;gBACzJ,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;gBACpI,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACjD,MAAM,SAAS,GAAG,iBAAiB,CAAA;gBACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAM;gBAEjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;gBAC7E,MAAM,UAAU,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,KAAI,MAAM,CAAA;gBAC/C,MAAM,iBAAiB,GAAG,UAAU,KAAK,OAAO,CAAA;gBAChD,MAAM,KAAK,GAAG,CAAC,iBAAiB,IAAI,QAAQ,KAAK,aAAa,CAAA;gBAC9D,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpD,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBACpD,IAAI,SAAS,EAAE;wBACb,MAAM,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,CAAC,CAAA;wBACxH,wBAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,mCAAmC,CAAC,CAAA;qBACzE;oBAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBAClB,MAAM,EAAE,4BAA4B;wBACpC,OAAO,EAAE;4BACP,SAAS;4BACT,MAAM,kBACJ,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CACvB;4BACD,aAAa;4BACb,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;4BACrC,SAAS;4BACT,UAAU;4BACV,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;4BAChC,iBAAiB,EAAE;gCACjB,WAAW;gCACX,WAAW;6BACZ;4BACD,SAAS;4BACT,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;yBAClD;wBACD,KAAK,EAAE,IAAI;wBACX,IAAI,EAAE,IAAI;qBACX,CAAC,CAAA;iBACH;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAA;IACpC,CAAC;CACF;AAnGD,2BAmGC"}
|
package/dist/prebundle/bundle.js
CHANGED
|
@@ -49,14 +49,14 @@ function bundle(deps, combination, prebundleOutputDir) {
|
|
|
49
49
|
flatIdExports.set(flatId, exportsData);
|
|
50
50
|
}
|
|
51
51
|
// bundle deps
|
|
52
|
-
const entryPlugin = getEntryPlugin(flattenDeps, flatIdExports);
|
|
52
|
+
const entryPlugin = getEntryPlugin(flattenDeps, flatIdExports, prebundleOutputDir);
|
|
53
53
|
fs_extra_1.default.existsSync(prebundleOutputDir)
|
|
54
54
|
? fs_extra_1.default.emptyDirSync(prebundleOutputDir)
|
|
55
55
|
: fs_extra_1.default.ensureDirSync(prebundleOutputDir);
|
|
56
56
|
const result = yield esbuild_1.default.build({
|
|
57
57
|
absWorkingDir: appPath,
|
|
58
|
-
entryPoints: Array.from(flattenDeps.keys()),
|
|
59
58
|
bundle: true,
|
|
59
|
+
entryPoints: Array.from(flattenDeps.keys()),
|
|
60
60
|
format: 'esm',
|
|
61
61
|
define: Object.assign(Object.assign({}, (0, utils_1.getDefines)(combination)), {
|
|
62
62
|
// AMD 被 esbuild 转 ESM 后,是套着 ESM 外皮的 AMD 语法模块。
|
|
@@ -104,13 +104,21 @@ exports.default = module.exports
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
exports.bundle = bundle;
|
|
107
|
-
function getEntryPlugin(flattenDeps, flatIdExports) {
|
|
107
|
+
function getEntryPlugin(flattenDeps, flatIdExports, prebundleOutputDir) {
|
|
108
108
|
const resolve = (0, utils_1.getResolve)();
|
|
109
109
|
return {
|
|
110
110
|
name: 'entry',
|
|
111
111
|
setup(build) {
|
|
112
112
|
// assets
|
|
113
|
-
build.onResolve(
|
|
113
|
+
build.onResolve({ filter: constant_1.assetsRE }, ({ path: id, resolveDir }) => __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
const filePath = path_1.default.isAbsolute(id) ? id : path_1.default.join(resolveDir, id);
|
|
115
|
+
const fileExt = path_1.default.extname(filePath);
|
|
116
|
+
const fileBasename = path_1.default.basename(filePath, fileExt);
|
|
117
|
+
const fileContent = yield fs_extra_1.default.readFile(filePath);
|
|
118
|
+
const outputFile = path_1.default.join(prebundleOutputDir, `${fileBasename}-${(0, utils_1.getHash)(filePath)}${fileExt}`);
|
|
119
|
+
yield fs_extra_1.default.writeFile(outputFile, fileContent);
|
|
120
|
+
return (0, utils_1.externalModule)({ path: `./${path_1.default.relative(prebundleOutputDir, outputFile)}` });
|
|
121
|
+
}));
|
|
114
122
|
build.onResolve({ filter: /^[\w@][^:]/ }, ({ path: id, importer }) => __awaiter(this, void 0, void 0, function* () {
|
|
115
123
|
// entry
|
|
116
124
|
if (!importer && flattenDeps.has(id)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/prebundle/bundle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/prebundle/bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.importsRE = exports.singlelineCommentsRE = exports.multilineCommentsRE = exports.langRE = exports.scriptRE = exports.commentRE = exports.assetsRE = exports.virtualModuleRE = exports.virtualModulePrefix = void 0;
|
|
3
|
+
exports.MF_NAME = exports.importsRE = exports.singlelineCommentsRE = exports.multilineCommentsRE = exports.langRE = exports.scriptRE = exports.commentRE = exports.assetsRE = exports.virtualModuleRE = exports.virtualModulePrefix = void 0;
|
|
4
4
|
const KNOWN_ASSET_TYPES = [
|
|
5
5
|
// css
|
|
6
6
|
'css',
|
|
@@ -57,4 +57,5 @@ exports.singlelineCommentsRE = /\/\/.*/g;
|
|
|
57
57
|
// since even missed imports can be caught at runtime, and false positives will
|
|
58
58
|
// simply be ignored.
|
|
59
59
|
exports.importsRE = /(?<!\/\/.*)(?<=^|;|\*\/)\s*import(?!\s+type)(?:[\w*{}\n\r\t, ]+from\s*)?\s*("[^"]+"|'[^']+')\s*(?=$|;|\/\/|\/\*)/gm;
|
|
60
|
+
exports.MF_NAME = 'taro_app_library';
|
|
60
61
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/prebundle/constant.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACxB,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IAET,OAAO;IACP,MAAM;IAEN,SAAS;IACT,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IAEN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IAEL,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IAEL,QAAQ;IACR,MAAM;IACN,aAAa;IACb,KAAK;IACL,KAAK;CACN,CAAA;AAEY,QAAA,mBAAmB,GAAG,iBAAiB,CAAA;AACvC,QAAA,eAAe,GAAG,IAAI,MAAM,CAAC,IAAI,2BAAmB,EAAE,CAAC,CAAA;AAEvD,QAAA,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAE7D,QAAA,SAAS,GAAG,qBAAqB,CAAA;AACjC,QAAA,QAAQ,GAAG,8CAA8C,CAAA;AACzD,QAAA,MAAM,GAAG,oDAAoD,CAAA;AAC7D,QAAA,mBAAmB,GAAG,wBAAwB,CAAA;AAC9C,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAE7C,gEAAgE;AAChE,uEAAuE;AACvE,4EAA4E;AAC5E,qCAAqC;AACrC,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,qBAAqB;AACR,QAAA,SAAS,GACpB,oHAAoH,CAAA"}
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/prebundle/constant.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG;IACxB,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IAET,OAAO;IACP,MAAM;IAEN,SAAS;IACT,KAAK;IACL,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IAEN,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,KAAK;IAEL,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,KAAK;IACL,KAAK;IAEL,QAAQ;IACR,MAAM;IACN,aAAa;IACb,KAAK;IACL,KAAK;CACN,CAAA;AAEY,QAAA,mBAAmB,GAAG,iBAAiB,CAAA;AACvC,QAAA,eAAe,GAAG,IAAI,MAAM,CAAC,IAAI,2BAAmB,EAAE,CAAC,CAAA;AAEvD,QAAA,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAE7D,QAAA,SAAS,GAAG,qBAAqB,CAAA;AACjC,QAAA,QAAQ,GAAG,8CAA8C,CAAA;AACzD,QAAA,MAAM,GAAG,oDAAoD,CAAA;AAC7D,QAAA,mBAAmB,GAAG,wBAAwB,CAAA;AAC9C,QAAA,oBAAoB,GAAG,SAAS,CAAA;AAE7C,gEAAgE;AAChE,uEAAuE;AACvE,4EAA4E;AAC5E,qCAAqC;AACrC,6EAA6E;AAC7E,4EAA4E;AAC5E,+EAA+E;AAC/E,qBAAqB;AACR,QAAA,SAAS,GACpB,oHAAoH,CAAA;AAIzG,QAAA,OAAO,GAAG,kBAAkB,CAAA"}
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.preBundle = void 0;
|
|
15
|
+
exports.preBundle = exports.VirtualModule = void 0;
|
|
16
16
|
// Inspired by [vite](https://github.com/vitejs/vite)
|
|
17
17
|
/** @license
|
|
18
18
|
* MIT License
|
|
@@ -42,46 +42,50 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
|
42
42
|
const path_1 = __importDefault(require("path"));
|
|
43
43
|
const perf_hooks_1 = require("perf_hooks");
|
|
44
44
|
const webpack_1 = __importDefault(require("webpack"));
|
|
45
|
+
const webpack_virtual_modules_1 = __importDefault(require("webpack-virtual-modules"));
|
|
46
|
+
const utils_1 = require("../utils");
|
|
45
47
|
const bundle_1 = require("./bundle");
|
|
48
|
+
const constant_1 = require("./constant");
|
|
46
49
|
const scanImports_1 = require("./scanImports");
|
|
47
|
-
const
|
|
50
|
+
const utils_2 = require("./utils");
|
|
51
|
+
const TaroModuleFederationPlugin_1 = __importDefault(require("./webpack/TaroModuleFederationPlugin"));
|
|
52
|
+
exports.VirtualModule = new webpack_virtual_modules_1.default();
|
|
48
53
|
function preBundle(combination) {
|
|
54
|
+
var _a, _b;
|
|
49
55
|
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
const prebundleOptions =
|
|
56
|
+
const prebundleOptions = combination.getPrebundleOptions();
|
|
51
57
|
if (!prebundleOptions.enable)
|
|
52
58
|
return;
|
|
59
|
+
// Note: 新增 web 虚拟入口,用于同步加载 webpack 动态依赖
|
|
60
|
+
combination.addPlugin('VirtualModule', exports.VirtualModule);
|
|
53
61
|
const appPath = combination.appPath;
|
|
54
|
-
const cacheDir = prebundleOptions.cacheDir || (0,
|
|
62
|
+
const cacheDir = prebundleOptions.cacheDir || (0, utils_2.getCacheDir)(appPath);
|
|
55
63
|
const prebundleCacheDir = path_1.default.resolve(cacheDir, './prebundle');
|
|
56
64
|
const remoteCacheDir = path_1.default.resolve(cacheDir, './remote');
|
|
57
65
|
const metadataPath = path_1.default.join(cacheDir, 'metadata.json');
|
|
58
66
|
const metadata = {};
|
|
59
67
|
const preMetadata = {};
|
|
60
68
|
try {
|
|
61
|
-
if (prebundleOptions.force
|
|
69
|
+
if (prebundleOptions.force !== true) {
|
|
62
70
|
Object.assign(preMetadata, fs_extra_1.default.readJSONSync(metadataPath));
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
catch (e) { }
|
|
66
74
|
let isUseCache = true;
|
|
67
75
|
const resolveOptions = combination.chain.toConfig().resolve;
|
|
68
|
-
(0,
|
|
69
|
-
const measure = (0,
|
|
70
|
-
/**
|
|
71
|
-
* 找出所有 webpack entry
|
|
72
|
-
* TODO:
|
|
73
|
-
* - 目前只处理了 Page entry,例如原生小程序组件 js entry 等并没有处理
|
|
74
|
-
*/
|
|
76
|
+
(0, utils_2.createResolve)(appPath, resolveOptions);
|
|
77
|
+
const measure = (0, utils_2.getMeasure)(prebundleOptions.timings);
|
|
75
78
|
const entries = [];
|
|
76
79
|
const config = combination.config;
|
|
80
|
+
const { chunkDirectory = 'chunk', entryFileName = 'app', entry = {} } = config;
|
|
77
81
|
/**
|
|
78
82
|
* TODO:
|
|
79
|
-
* - [ ]
|
|
80
|
-
* - [ ]
|
|
81
|
-
* - [ ]
|
|
82
|
-
* - [ ]
|
|
83
|
+
* - [ ] 优化 proxy 方法
|
|
84
|
+
* - [ ] 开发环境依赖更新触发 ws 热加载心跳
|
|
85
|
+
* - [ ] 回归多页面应用情况
|
|
86
|
+
* - [ ] 回归 react、vue 热更新状态
|
|
83
87
|
*/
|
|
84
|
-
const appJsPath =
|
|
88
|
+
const appJsPath = entry[entryFileName][0];
|
|
85
89
|
const appConfigPath = (0, helper_1.resolveMainFilePath)(`${appJsPath.replace(path_1.default.extname(appJsPath), '')}.config`);
|
|
86
90
|
const appConfig = (0, helper_1.readConfig)(appConfigPath);
|
|
87
91
|
entries.push(appJsPath);
|
|
@@ -98,7 +102,7 @@ function preBundle(combination) {
|
|
|
98
102
|
combination,
|
|
99
103
|
include: [
|
|
100
104
|
'@tarojs/taro',
|
|
101
|
-
'@tarojs/taro-h5',
|
|
105
|
+
// '@tarojs/taro-h5',
|
|
102
106
|
'@tarojs/runtime',
|
|
103
107
|
'@tarojs/router',
|
|
104
108
|
...prebundleOptions.include || []
|
|
@@ -107,13 +111,13 @@ function preBundle(combination) {
|
|
|
107
111
|
...prebundleOptions.exclude || []
|
|
108
112
|
]
|
|
109
113
|
});
|
|
110
|
-
console.log(helper_1.chalk.cyan('Prebundle dependencies: \n', ...JSON.parse((0,
|
|
114
|
+
console.log(helper_1.chalk.cyan('Prebundle dependencies: \n', ...JSON.parse((0, utils_2.formatDepsString)(deps)).map(dep => ` ${dep[0]}\n`)));
|
|
111
115
|
measure('Scan imports duration', SCAN_START);
|
|
112
116
|
/**
|
|
113
117
|
* 2. 使用 esbuild 对 node_modules 依赖进行 bundle
|
|
114
118
|
*/
|
|
115
119
|
const PREBUNDLE_START = perf_hooks_1.performance.now();
|
|
116
|
-
metadata.bundleHash = yield (0,
|
|
120
|
+
metadata.bundleHash = yield (0, utils_2.getBundleHash)(deps, combination, cacheDir);
|
|
117
121
|
if (preMetadata.bundleHash !== metadata.bundleHash) {
|
|
118
122
|
isUseCache = false;
|
|
119
123
|
const { metafile } = yield (0, bundle_1.bundle)(deps, combination, prebundleCacheDir);
|
|
@@ -150,12 +154,19 @@ function preBundle(combination) {
|
|
|
150
154
|
const devtool = combination.enableSourceMap && 'hidden-source-map';
|
|
151
155
|
const mainBuildOutput = combination.chain.output.entries();
|
|
152
156
|
const taroRuntimeBundlePath = metadata.taroRuntimeBundlePath || exposes['./@tarojs/runtime'];
|
|
157
|
+
const publicPath = config.publicPath ? (0, utils_1.addLeadingSlash)((0, utils_1.addTrailingSlash)(config.publicPath)) : '/';
|
|
153
158
|
const output = {
|
|
154
|
-
|
|
159
|
+
chunkFilename: `${chunkDirectory}/[name].js`,
|
|
155
160
|
chunkLoadingGlobal: mainBuildOutput.chunkLoadingGlobal,
|
|
156
|
-
globalObject: mainBuildOutput.globalObject
|
|
161
|
+
globalObject: mainBuildOutput.globalObject,
|
|
162
|
+
path: remoteCacheDir,
|
|
163
|
+
publicPath
|
|
157
164
|
};
|
|
158
|
-
|
|
165
|
+
for (const id of deps.keys()) {
|
|
166
|
+
const flatId = (0, utils_2.flattenId)(id);
|
|
167
|
+
exposes[`./${id}`] = path_1.default.join(prebundleCacheDir, `${flatId}.js`);
|
|
168
|
+
}
|
|
169
|
+
metadata.mfHash = (0, utils_2.getMfHash)({
|
|
159
170
|
bundleHash: metadata.bundleHash,
|
|
160
171
|
mode,
|
|
161
172
|
devtool,
|
|
@@ -165,40 +176,49 @@ function preBundle(combination) {
|
|
|
165
176
|
if (preMetadata.mfHash !== metadata.mfHash) {
|
|
166
177
|
isUseCache = false;
|
|
167
178
|
fs_extra_1.default.existsSync(remoteCacheDir) && fs_extra_1.default.emptyDirSync(remoteCacheDir);
|
|
168
|
-
for (const id of deps.keys()) {
|
|
169
|
-
const flatId = (0, utils_1.flattenId)(id);
|
|
170
|
-
exposes[`./${id}`] = path_1.default.join(prebundleCacheDir, `${flatId}.js`);
|
|
171
|
-
}
|
|
172
179
|
metadata.runtimeRequirements = new Set();
|
|
173
|
-
const plugins = [
|
|
174
|
-
new webpack_1.default.container.ModuleFederationPlugin({
|
|
175
|
-
name: 'lib_app',
|
|
176
|
-
filename: 'remoteEntry.js',
|
|
177
|
-
runtime: 'runtime',
|
|
178
|
-
exposes
|
|
179
|
-
})
|
|
180
|
-
];
|
|
181
180
|
const compiler = (0, webpack_1.default)({
|
|
182
|
-
devtool,
|
|
183
|
-
entry: path_1.default.resolve(__dirname, './webpack/index.js'),
|
|
184
|
-
mode,
|
|
185
|
-
output,
|
|
186
|
-
plugins,
|
|
187
181
|
cache: {
|
|
188
182
|
type: 'filesystem',
|
|
189
183
|
cacheDirectory: path_1.default.join(cacheDir, 'webpack-cache'),
|
|
190
184
|
buildDependencies: {
|
|
191
185
|
config: Object.values(exposes)
|
|
192
186
|
}
|
|
193
|
-
}
|
|
187
|
+
},
|
|
188
|
+
module: {
|
|
189
|
+
// TODO 同步普通打包文件配置
|
|
190
|
+
rules: [
|
|
191
|
+
{
|
|
192
|
+
test: constant_1.assetsRE,
|
|
193
|
+
type: 'asset/resource',
|
|
194
|
+
generator: {
|
|
195
|
+
filename: 'static/[hash][ext][query]'
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
devtool,
|
|
201
|
+
entry: path_1.default.resolve(__dirname, './webpack/index.js'),
|
|
202
|
+
mode,
|
|
203
|
+
output,
|
|
204
|
+
plugins: [
|
|
205
|
+
new TaroModuleFederationPlugin_1.default({
|
|
206
|
+
name: constant_1.MF_NAME,
|
|
207
|
+
filename: 'remoteEntry.js',
|
|
208
|
+
runtime: 'runtime',
|
|
209
|
+
exposes
|
|
210
|
+
}, deps, metadata.remoteAssets, metadata.runtimeRequirements)
|
|
211
|
+
]
|
|
194
212
|
});
|
|
195
213
|
metadata.remoteAssets = yield new Promise((resolve, reject) => {
|
|
196
|
-
compiler.run((
|
|
197
|
-
compiler.close(
|
|
214
|
+
compiler.run((error, stats) => {
|
|
215
|
+
compiler.close(err => {
|
|
198
216
|
var _a;
|
|
199
|
-
if (
|
|
200
|
-
return reject(
|
|
201
|
-
const { assets } = stats.toJson();
|
|
217
|
+
if (error || err)
|
|
218
|
+
return reject(error || err);
|
|
219
|
+
const { assets = [], errors = [] } = stats.toJson();
|
|
220
|
+
if (errors[0])
|
|
221
|
+
return reject(errors[0]);
|
|
202
222
|
const remoteAssets = ((_a = assets === null || assets === void 0 ? void 0 : assets.filter(item => item.name !== 'runtime.js')) === null || _a === void 0 ? void 0 : _a.map(item => ({
|
|
203
223
|
name: path_1.default.join('prebundle', item.name)
|
|
204
224
|
}))) || [];
|
|
@@ -211,23 +231,33 @@ function preBundle(combination) {
|
|
|
211
231
|
metadata.runtimeRequirements = new Set(preMetadata.runtimeRequirements);
|
|
212
232
|
metadata.remoteAssets = preMetadata.remoteAssets;
|
|
213
233
|
}
|
|
214
|
-
|
|
215
|
-
|
|
234
|
+
if (process.env.NODE_ENV === 'production' || ((_b = (_a = config.devServer) === null || _a === void 0 ? void 0 : _a.devMiddleware) === null || _b === void 0 ? void 0 : _b.writeToDisk)) {
|
|
235
|
+
fs_extra_1.default.copy(remoteCacheDir, mainBuildOutput.path);
|
|
236
|
+
}
|
|
237
|
+
measure(`Build remote ${constant_1.MF_NAME} duration`, BUILD_LIB_START);
|
|
216
238
|
/**
|
|
217
239
|
* 4. 项目 Host 配置 Module Federation
|
|
218
240
|
*/
|
|
219
241
|
const chain = combination.chain;
|
|
220
242
|
const MfOpt = {
|
|
221
|
-
name: '
|
|
243
|
+
name: 'taro-app',
|
|
222
244
|
remotes: {
|
|
223
|
-
|
|
245
|
+
[constant_1.MF_NAME]: `${constant_1.MF_NAME}@remoteEntry.js`
|
|
224
246
|
}
|
|
225
247
|
};
|
|
226
248
|
chain
|
|
227
|
-
.plugin('
|
|
228
|
-
.use(
|
|
249
|
+
.plugin('TaroModuleFederationPlugin')
|
|
250
|
+
.use(TaroModuleFederationPlugin_1.default, [
|
|
251
|
+
MfOpt,
|
|
252
|
+
deps,
|
|
253
|
+
metadata.remoteAssets,
|
|
254
|
+
metadata.runtimeRequirements
|
|
255
|
+
]);
|
|
256
|
+
// node_modules 已预编译,不需要二次加载 (TODO: 修复 esbuild 加载 css 问题后,也应当移除对应规则对依赖的加载)
|
|
257
|
+
const script = chain.module.rule('script');
|
|
258
|
+
script.exclude.add(/node_modules/);
|
|
229
259
|
if (!isUseCache) {
|
|
230
|
-
(0,
|
|
260
|
+
(0, utils_2.commitMeta)(appPath, metadataPath, metadata);
|
|
231
261
|
}
|
|
232
262
|
});
|
|
233
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.h5.js","sourceRoot":"","sources":["../../src/prebundle/index.h5.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qDAAqD;AACrD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,2CAAuE;AACvE,wDAAyB;AACzB,gDAAuB;AACvB,2CAAwC;AACxC,sDAA6B;
|
|
1
|
+
{"version":3,"file":"index.h5.js","sourceRoot":"","sources":["../../src/prebundle/index.h5.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,12 +43,13 @@ const path_1 = __importDefault(require("path"));
|
|
|
43
43
|
const perf_hooks_1 = require("perf_hooks");
|
|
44
44
|
const webpack_1 = __importDefault(require("webpack"));
|
|
45
45
|
const bundle_1 = require("./bundle");
|
|
46
|
+
const constant_1 = require("./constant");
|
|
46
47
|
const scanImports_1 = require("./scanImports");
|
|
47
48
|
const utils_1 = require("./utils");
|
|
48
|
-
const
|
|
49
|
+
const TaroModuleFederationPlugin_1 = __importDefault(require("./webpack/TaroModuleFederationPlugin"));
|
|
49
50
|
function preBundle(combination) {
|
|
50
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const prebundleOptions =
|
|
52
|
+
const prebundleOptions = combination.getPrebundleOptions();
|
|
52
53
|
if (!prebundleOptions.enable)
|
|
53
54
|
return;
|
|
54
55
|
const appPath = combination.appPath;
|
|
@@ -59,7 +60,7 @@ function preBundle(combination) {
|
|
|
59
60
|
const metadata = {};
|
|
60
61
|
const preMetadata = {};
|
|
61
62
|
try {
|
|
62
|
-
if (prebundleOptions.force
|
|
63
|
+
if (prebundleOptions.force !== true) {
|
|
63
64
|
Object.assign(preMetadata, fs_extra_1.default.readJSONSync(metadataPath));
|
|
64
65
|
}
|
|
65
66
|
}
|
|
@@ -174,13 +175,12 @@ function preBundle(combination) {
|
|
|
174
175
|
mode,
|
|
175
176
|
output,
|
|
176
177
|
plugins: [
|
|
177
|
-
new
|
|
178
|
-
name:
|
|
178
|
+
new TaroModuleFederationPlugin_1.default({
|
|
179
|
+
name: constant_1.MF_NAME,
|
|
179
180
|
filename: 'remoteEntry.js',
|
|
180
181
|
runtime: 'runtime',
|
|
181
182
|
exposes
|
|
182
|
-
}),
|
|
183
|
-
new TaroContainerPlugin_1.default(metadata.runtimeRequirements),
|
|
183
|
+
}, deps, metadata.remoteAssets, metadata.runtimeRequirements),
|
|
184
184
|
new webpack_1.default.ProvidePlugin({
|
|
185
185
|
window: [taroRuntimeBundlePath, 'window$1'],
|
|
186
186
|
document: [taroRuntimeBundlePath, 'document$1'],
|
|
@@ -201,12 +201,14 @@ function preBundle(combination) {
|
|
|
201
201
|
}
|
|
202
202
|
});
|
|
203
203
|
metadata.remoteAssets = yield new Promise((resolve, reject) => {
|
|
204
|
-
compiler.run((
|
|
205
|
-
compiler.close(
|
|
204
|
+
compiler.run((error, stats) => {
|
|
205
|
+
compiler.close(err => {
|
|
206
206
|
var _a;
|
|
207
|
-
if (
|
|
208
|
-
return reject(
|
|
209
|
-
const { assets } = stats.toJson();
|
|
207
|
+
if (error || err)
|
|
208
|
+
return reject(error || err);
|
|
209
|
+
const { assets = [], errors = [] } = stats.toJson();
|
|
210
|
+
if (errors[0])
|
|
211
|
+
return reject(errors[0]);
|
|
210
212
|
const remoteAssets = ((_a = assets === null || assets === void 0 ? void 0 : assets.filter(item => item.name !== 'runtime.js')) === null || _a === void 0 ? void 0 : _a.map(item => ({
|
|
211
213
|
name: path_1.default.join('prebundle', item.name)
|
|
212
214
|
}))) || [];
|
|
@@ -220,23 +222,20 @@ function preBundle(combination) {
|
|
|
220
222
|
metadata.remoteAssets = preMetadata.remoteAssets;
|
|
221
223
|
}
|
|
222
224
|
fs_extra_1.default.copy(remoteCacheDir, path_1.default.join(mainBuildOutput.path, 'prebundle'));
|
|
223
|
-
measure(
|
|
225
|
+
measure(`Build remote ${constant_1.MF_NAME} duration`, BUILD_LIB_START);
|
|
224
226
|
/**
|
|
225
227
|
* 4. 项目 Host 配置 Module Federation
|
|
226
228
|
*/
|
|
227
229
|
const chain = combination.chain;
|
|
228
230
|
const MfOpt = {
|
|
229
|
-
name: '
|
|
231
|
+
name: 'taro-app',
|
|
230
232
|
remotes: {
|
|
231
|
-
|
|
233
|
+
[constant_1.MF_NAME]: `${constant_1.MF_NAME}@remoteEntry.js`
|
|
232
234
|
}
|
|
233
235
|
};
|
|
234
236
|
chain
|
|
235
|
-
.plugin('
|
|
236
|
-
.use(
|
|
237
|
-
chain
|
|
238
|
-
.plugin('TaroContainerReferencePlugin')
|
|
239
|
-
.use(path_1.default.resolve(__dirname, './webpack/TaroContainerReferencePlugin.js'), [
|
|
237
|
+
.plugin('TaroModuleFederationPlugin')
|
|
238
|
+
.use(TaroModuleFederationPlugin_1.default, [
|
|
240
239
|
MfOpt,
|
|
241
240
|
deps,
|
|
242
241
|
metadata.remoteAssets,
|