@tarojs/webpack5-runner 4.2.1-beta.0 → 4.2.1-beta.2
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/plugins/AsyncSubPackagePlugin.js +489 -0
- package/dist/plugins/AsyncSubPackagePlugin.js.map +1 -0
- package/dist/plugins/BuildNativePlugin.js +15 -11
- package/dist/plugins/BuildNativePlugin.js.map +1 -1
- package/dist/plugins/HarmonyPlugin.js +1 -1
- package/dist/plugins/HarmonyPlugin.js.map +1 -1
- package/dist/plugins/MiniCompileModePlugin.js +49 -4
- package/dist/plugins/MiniCompileModePlugin.js.map +1 -1
- package/dist/plugins/MiniPlugin.js +261 -56
- package/dist/plugins/MiniPlugin.js.map +1 -1
- package/dist/plugins/SubPackageIndiePlugin.js +1022 -0
- package/dist/plugins/SubPackageIndiePlugin.js.map +1 -0
- package/dist/plugins/TaroNormalModule.js +16 -0
- package/dist/plugins/TaroNormalModule.js.map +1 -1
- package/dist/plugins/TaroNormalModulesPlugin.js +127 -6
- package/dist/plugins/TaroNormalModulesPlugin.js.map +1 -1
- package/dist/plugins/TaroSingleEntryPlugin.js +1 -1
- package/dist/plugins/TaroSingleEntryPlugin.js.map +1 -1
- package/dist/template/comp.js +2 -1
- package/dist/utils/asyncSubPackage.js +106 -0
- package/dist/utils/asyncSubPackage.js.map +1 -0
- package/dist/utils/component.js +2 -1
- package/dist/utils/component.js.map +1 -1
- package/dist/utils/forceCustomWrapper.js +17 -0
- package/dist/utils/forceCustomWrapper.js.map +1 -0
- package/dist/webpack/HarmonyWebpackPlugin.js +3 -1
- package/dist/webpack/HarmonyWebpackPlugin.js.map +1 -1
- package/dist/webpack/MiniBaseConfig.js +2 -0
- package/dist/webpack/MiniBaseConfig.js.map +1 -1
- package/package.json +12 -12
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
7
|
+
const helper_1 = require("@tarojs/helper");
|
|
8
|
+
const asyncSubPackage_1 = require("../utils/asyncSubPackage");
|
|
9
|
+
const PLUGIN_NAME = 'TaroAsyncSubPackagePlugin';
|
|
10
|
+
const ASYNC_SUBPACKAGE_ENTRY = 'index';
|
|
11
|
+
const COMMON_CACHE_GROUP_PATCHED = Symbol.for('taroAsyncSubPackageCommonCacheGroupPatched');
|
|
12
|
+
function getModuleResource(module) {
|
|
13
|
+
var _a;
|
|
14
|
+
return ((module === null || module === void 0 ? void 0 : module.resource) || ((_a = module === null || module === void 0 ? void 0 : module.nameForCondition) === null || _a === void 0 ? void 0 : _a.call(module)) || '').replace(/\?.*$/, '');
|
|
15
|
+
}
|
|
16
|
+
function isJavaScriptModule(module) {
|
|
17
|
+
const moduleType = (module === null || module === void 0 ? void 0 : module.type) || '';
|
|
18
|
+
const resource = getModuleResource(module);
|
|
19
|
+
if (moduleType.startsWith('css') || helper_1.REG_STYLE.test(resource))
|
|
20
|
+
return false;
|
|
21
|
+
return helper_1.REG_SCRIPTS.test(resource);
|
|
22
|
+
}
|
|
23
|
+
function getAsyncRootFromChunkName(chunkName, asyncRootMap) {
|
|
24
|
+
if (!chunkName)
|
|
25
|
+
return false;
|
|
26
|
+
const normalizedChunkName = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(chunkName);
|
|
27
|
+
const sourceRoot = Array.from(asyncRootMap.keys()).find(root => {
|
|
28
|
+
const normalizedRoot = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(root);
|
|
29
|
+
return normalizedChunkName === normalizedRoot || normalizedChunkName.startsWith(`${normalizedRoot}/`);
|
|
30
|
+
});
|
|
31
|
+
return sourceRoot ? asyncRootMap.get(sourceRoot) || false : false;
|
|
32
|
+
}
|
|
33
|
+
function getAsyncRootFromChunks(chunks, asyncRootMap) {
|
|
34
|
+
const asyncRoots = new Set();
|
|
35
|
+
for (const chunk of chunks) {
|
|
36
|
+
const asyncRoot = getAsyncRootFromChunkName(chunk === null || chunk === void 0 ? void 0 : chunk.name, asyncRootMap);
|
|
37
|
+
if (!asyncRoot)
|
|
38
|
+
return false;
|
|
39
|
+
asyncRoots.add(asyncRoot);
|
|
40
|
+
}
|
|
41
|
+
if (asyncRoots.size !== 1)
|
|
42
|
+
return false;
|
|
43
|
+
return Array.from(asyncRoots)[0];
|
|
44
|
+
}
|
|
45
|
+
function createAsyncSplitChunkName(asyncRoot, chunks) {
|
|
46
|
+
const chunkNames = chunks
|
|
47
|
+
.map(chunk => (chunk === null || chunk === void 0 ? void 0 : chunk.name) || String((chunk === null || chunk === void 0 ? void 0 : chunk.id) || 'common'))
|
|
48
|
+
.sort()
|
|
49
|
+
.join('~');
|
|
50
|
+
return (0, asyncSubPackage_1.createAsyncCommonChunkName)(asyncRoot, chunkNames || 'common');
|
|
51
|
+
}
|
|
52
|
+
function createMiniAppConfigContent(content, subPackages) {
|
|
53
|
+
const result = Object.assign(Object.assign({}, content), { subPackages });
|
|
54
|
+
// subPackageIndie/subpackages 是 Taro 编译期配置,不能透出到微信小程序 app.json。
|
|
55
|
+
delete result.subPackageIndie;
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
function createRelativeRequestFromRoot(fromRoot, toEntry) {
|
|
59
|
+
const fromParts = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(fromRoot).split('/').filter(Boolean);
|
|
60
|
+
const toParts = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(toEntry).split('/').filter(Boolean);
|
|
61
|
+
while (fromParts.length && toParts.length && fromParts[0] === toParts[0]) {
|
|
62
|
+
fromParts.shift();
|
|
63
|
+
toParts.shift();
|
|
64
|
+
}
|
|
65
|
+
const request = [...fromParts.map(() => '..'), ...toParts].join('/') || '.';
|
|
66
|
+
return request.startsWith('.') ? request : `./${request}`;
|
|
67
|
+
}
|
|
68
|
+
function createNormalizedRuntimeRootEntries(asyncRootEntries) {
|
|
69
|
+
return asyncRootEntries.map(({ sourceRoot, asyncRoot }) => {
|
|
70
|
+
const normalizedSourceRoot = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(sourceRoot);
|
|
71
|
+
const normalizedAsyncRoot = (0, asyncSubPackage_1.normalizePathForAsyncSubPackage)(asyncRoot);
|
|
72
|
+
return [
|
|
73
|
+
normalizedSourceRoot,
|
|
74
|
+
normalizedAsyncRoot,
|
|
75
|
+
createRelativeRequestFromRoot(normalizedSourceRoot, normalizedAsyncRoot)
|
|
76
|
+
];
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function createChunkFilenameRuntimeSource(Template, getChunkScriptFilename) {
|
|
80
|
+
return [
|
|
81
|
+
`var asyncSubPackageChunkFilename = ${getChunkScriptFilename};`,
|
|
82
|
+
`${getChunkScriptFilename} = function(chunkId) {`,
|
|
83
|
+
Template.indent([
|
|
84
|
+
'return asyncSubPackageChunkFilename(chunkId);'
|
|
85
|
+
]),
|
|
86
|
+
'};'
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
function createRequestResolverRuntimeSource(Template) {
|
|
90
|
+
return [
|
|
91
|
+
'var resolveAsyncSubPackageRequest = function(rawUrl) {',
|
|
92
|
+
Template.indent([
|
|
93
|
+
'for (var i = 0; i < asyncSubPackageRootEntries.length; i++) {',
|
|
94
|
+
Template.indent([
|
|
95
|
+
'var asyncRoot = asyncSubPackageRootEntries[i][1];',
|
|
96
|
+
'var asyncRootRequest = asyncSubPackageRootEntries[i][2];',
|
|
97
|
+
'if (rawUrl === asyncRoot) return asyncRootRequest;',
|
|
98
|
+
'if (rawUrl.indexOf(asyncRoot + "/") === 0) return asyncRootRequest + rawUrl.slice(asyncRoot.length);'
|
|
99
|
+
]),
|
|
100
|
+
'}',
|
|
101
|
+
'return rawUrl;'
|
|
102
|
+
]),
|
|
103
|
+
'};'
|
|
104
|
+
];
|
|
105
|
+
}
|
|
106
|
+
function createRequireAsyncLoaderRuntimeSource(Template, loadScript) {
|
|
107
|
+
return [
|
|
108
|
+
'var asyncSubPackageInProgress = {};',
|
|
109
|
+
`${loadScript} = function(url, done) {`,
|
|
110
|
+
Template.indent([
|
|
111
|
+
'var rawUrl = (url || "").replace(/^\\/+/, "").replace(/\\.js$/, "");',
|
|
112
|
+
'var request = resolveAsyncSubPackageRequest(rawUrl);',
|
|
113
|
+
'if (asyncSubPackageInProgress[request]) { asyncSubPackageInProgress[request].push(done); return; }',
|
|
114
|
+
'asyncSubPackageInProgress[request] = [done];',
|
|
115
|
+
'var finish = function(event) {',
|
|
116
|
+
Template.indent([
|
|
117
|
+
'var handlers = asyncSubPackageInProgress[request];',
|
|
118
|
+
'delete asyncSubPackageInProgress[request];',
|
|
119
|
+
'handlers && handlers.forEach(function(handler) { handler(event); });'
|
|
120
|
+
]),
|
|
121
|
+
'};',
|
|
122
|
+
'require.async(request).then(function() {',
|
|
123
|
+
Template.indent('finish({ type: "load", target: { src: request } });'),
|
|
124
|
+
'}, function(error) {',
|
|
125
|
+
Template.indent('finish({ type: "error", target: { src: request }, error: error });'),
|
|
126
|
+
'});'
|
|
127
|
+
]),
|
|
128
|
+
'};'
|
|
129
|
+
];
|
|
130
|
+
}
|
|
131
|
+
function createMiniCssRuntimeSource(Template, ensureChunkHandlers) {
|
|
132
|
+
return [
|
|
133
|
+
`${ensureChunkHandlers}.miniCss = function(chunkId, promises) {`,
|
|
134
|
+
Template.indent([
|
|
135
|
+
'// asyncSubPackage 的样式已在构建产物阶段合并回 sourceRoot 页面样式。',
|
|
136
|
+
'// 小程序环境没有 document,不能执行 mini-css-extract-plugin 的浏览器 CSS loader。'
|
|
137
|
+
]),
|
|
138
|
+
'};'
|
|
139
|
+
];
|
|
140
|
+
}
|
|
141
|
+
function createMiniAsyncSubPackageRuntimeSource(Template, runtimeGlobals, asyncRootEntries) {
|
|
142
|
+
const { loadScript, ensureChunkHandlers, getChunkScriptFilename, publicPath } = runtimeGlobals;
|
|
143
|
+
const asyncRootRuntimeEntries = createNormalizedRuntimeRootEntries(asyncRootEntries);
|
|
144
|
+
return Template.asString([
|
|
145
|
+
`${publicPath} = "";`,
|
|
146
|
+
`var asyncSubPackageRootEntries = ${JSON.stringify(asyncRootRuntimeEntries)};`,
|
|
147
|
+
...createChunkFilenameRuntimeSource(Template, getChunkScriptFilename),
|
|
148
|
+
...createRequestResolverRuntimeSource(Template),
|
|
149
|
+
...createRequireAsyncLoaderRuntimeSource(Template, loadScript),
|
|
150
|
+
...createMiniCssRuntimeSource(Template, ensureChunkHandlers)
|
|
151
|
+
]);
|
|
152
|
+
}
|
|
153
|
+
function createMiniAsyncSubPackageRuntimeModuleClass(webpack, Template, runtimeGlobals) {
|
|
154
|
+
const RuntimeModule = webpack.RuntimeModule;
|
|
155
|
+
const stageAttach = RuntimeModule.STAGE_ATTACH || 10;
|
|
156
|
+
return class MiniAsyncSubPackageRuntimeModule extends RuntimeModule {
|
|
157
|
+
constructor(asyncRootEntries) {
|
|
158
|
+
// 在 webpack 原生 runtime module 之后执行,稳定覆盖浏览器 script/css loader。
|
|
159
|
+
super('mini async subpackage chunk loader', stageAttach);
|
|
160
|
+
this.asyncRootEntries = asyncRootEntries;
|
|
161
|
+
}
|
|
162
|
+
generate() {
|
|
163
|
+
return createMiniAsyncSubPackageRuntimeSource(Template, runtimeGlobals, this.asyncRootEntries);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* 异步分包插件:集中处理 asyncSubPackage 的 chunk 归属、运行时加载补丁、异步分包入口和 app.json 注册。
|
|
169
|
+
*
|
|
170
|
+
* 当前方案保留 webpack 原生 import(),让 webpack 继续生成异步 chunk;随后在产物阶段把这些 chunk
|
|
171
|
+
* 移到配置的 asyncRoot 下,并生成微信可识别的 asyncRoot/index 占位页面作为分包加载入口。
|
|
172
|
+
*/
|
|
173
|
+
class AsyncSubPackagePlugin {
|
|
174
|
+
constructor(miniPlugin, asyncRootMap) {
|
|
175
|
+
this.asyncRootMap = new Map();
|
|
176
|
+
this.asyncRuntimeRoots = [];
|
|
177
|
+
this.appliedCompilers = new WeakSet();
|
|
178
|
+
this.miniHooksApplied = false;
|
|
179
|
+
this.asyncModuleCache = new WeakMap();
|
|
180
|
+
this.asyncChunkRootCache = new WeakMap();
|
|
181
|
+
this.asyncChunkSourceRoots = new Map();
|
|
182
|
+
this.miniPlugin = miniPlugin;
|
|
183
|
+
if (asyncRootMap) {
|
|
184
|
+
this.updateAsyncRootMap(asyncRootMap);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
updateAsyncRootMap(asyncRootMap) {
|
|
188
|
+
this.asyncRootMap = new Map(asyncRootMap);
|
|
189
|
+
this.asyncRuntimeRoots = Array.from(asyncRootMap.entries()).map(([sourceRoot, asyncRoot]) => ({ sourceRoot, asyncRoot }));
|
|
190
|
+
global.__taroAsyncSubPackageUseWebpackImport = true;
|
|
191
|
+
}
|
|
192
|
+
updateAsyncRuntimeRoots(asyncRuntimeRoots) {
|
|
193
|
+
this.asyncRuntimeRoots = asyncRuntimeRoots.map(item => (Object.assign({}, item)));
|
|
194
|
+
}
|
|
195
|
+
apply(compiler) {
|
|
196
|
+
if (compiler && !this.appliedCompilers.has(compiler)) {
|
|
197
|
+
this.appliedCompilers.add(compiler);
|
|
198
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, () => {
|
|
199
|
+
this.asyncModuleCache = new WeakMap();
|
|
200
|
+
this.asyncChunkRootCache = new WeakMap();
|
|
201
|
+
this.asyncChunkSourceRoots = new Map();
|
|
202
|
+
});
|
|
203
|
+
this.setupAsyncSplitChunks(compiler);
|
|
204
|
+
this.setupAsyncChunkOptimization(compiler);
|
|
205
|
+
this.setupAsyncChunkRuntime(compiler);
|
|
206
|
+
this.setupAsyncChunkAssetExtraction(compiler);
|
|
207
|
+
}
|
|
208
|
+
if (!this.miniHooksApplied) {
|
|
209
|
+
this.miniHooksApplied = true;
|
|
210
|
+
this.setupSubPackageRegistration();
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
// ==================== Async SplitChunks ====================
|
|
214
|
+
setupAsyncSplitChunks(compiler) {
|
|
215
|
+
var _a;
|
|
216
|
+
const splitChunks = (_a = compiler.options.optimization) === null || _a === void 0 ? void 0 : _a.splitChunks;
|
|
217
|
+
if (!splitChunks)
|
|
218
|
+
return;
|
|
219
|
+
const cacheGroups = splitChunks.cacheGroups || {};
|
|
220
|
+
const commonCacheGroup = cacheGroups.common;
|
|
221
|
+
if (commonCacheGroup && commonCacheGroup !== false && !commonCacheGroup[COMMON_CACHE_GROUP_PATCHED]) {
|
|
222
|
+
const originalCommonTest = commonCacheGroup.test;
|
|
223
|
+
commonCacheGroup.test = (module, context) => {
|
|
224
|
+
// 只保护纯 asyncSubPackage 模块,避免被默认 common 抽到主包 common.js。
|
|
225
|
+
// 被 initial chunk 静态引用的共享模块仍应交给默认 common 处理。
|
|
226
|
+
if (this.isPureAsyncSubPackageModule(module, context))
|
|
227
|
+
return false;
|
|
228
|
+
return typeof originalCommonTest === 'function' ? originalCommonTest(module, context) : originalCommonTest !== false;
|
|
229
|
+
};
|
|
230
|
+
// 同一插件实例多次 apply、或 webpack-chain 多次构建 options 时,避免对 test 反复套娃。
|
|
231
|
+
Object.defineProperty(commonCacheGroup, COMMON_CACHE_GROUP_PATCHED, { value: true, enumerable: false });
|
|
232
|
+
}
|
|
233
|
+
cacheGroups.asyncSubPackage = {
|
|
234
|
+
chunks: 'async',
|
|
235
|
+
minChunks: 2,
|
|
236
|
+
minSize: 0,
|
|
237
|
+
priority: 20,
|
|
238
|
+
enforce: true,
|
|
239
|
+
name: (_module, chunks) => {
|
|
240
|
+
const asyncRoot = getAsyncRootFromChunks(chunks, this.asyncRootMap);
|
|
241
|
+
if (!asyncRoot)
|
|
242
|
+
return false;
|
|
243
|
+
return createAsyncSplitChunkName(asyncRoot, chunks);
|
|
244
|
+
},
|
|
245
|
+
test: (module, context) => this.isAsyncSubPackageModule(module, context),
|
|
246
|
+
};
|
|
247
|
+
splitChunks.cacheGroups = cacheGroups;
|
|
248
|
+
}
|
|
249
|
+
getCachedAsyncRootForModule(module, context) {
|
|
250
|
+
if (!module)
|
|
251
|
+
return undefined;
|
|
252
|
+
if (this.asyncModuleCache.has(module))
|
|
253
|
+
return this.asyncModuleCache.get(module);
|
|
254
|
+
// getAsyncRootForModule 内部会主动写入 cache(包括递归路径上遇到的所有 module)。
|
|
255
|
+
return (0, asyncSubPackage_1.getAsyncRootForModule)(module, this.miniPlugin.options.sourceDir, this.asyncRootMap, context === null || context === void 0 ? void 0 : context.moduleGraph, undefined, this.asyncModuleCache);
|
|
256
|
+
}
|
|
257
|
+
isAsyncSubPackageModule(module, context) {
|
|
258
|
+
if (this.asyncRootMap.size === 0)
|
|
259
|
+
return false;
|
|
260
|
+
if (!isJavaScriptModule(module))
|
|
261
|
+
return false;
|
|
262
|
+
const asyncRoot = this.getCachedAsyncRootForModule(module, context);
|
|
263
|
+
return Boolean(asyncRoot);
|
|
264
|
+
}
|
|
265
|
+
isPureAsyncSubPackageModule(module, context) {
|
|
266
|
+
var _a, _b;
|
|
267
|
+
if (!this.isAsyncSubPackageModule(module, context))
|
|
268
|
+
return false;
|
|
269
|
+
const chunks = Array.from(((_b = (_a = context === null || context === void 0 ? void 0 : context.chunkGraph) === null || _a === void 0 ? void 0 : _a.getModuleChunksIterable) === null || _b === void 0 ? void 0 : _b.call(_a, module)) || []);
|
|
270
|
+
// splitChunks test 没有 chunkGraph 时不要过度排除,交回默认 common cacheGroup。
|
|
271
|
+
if (chunks.length === 0)
|
|
272
|
+
return false;
|
|
273
|
+
return chunks.every((chunk) => { var _a; return !((_a = chunk.canBeInitial) === null || _a === void 0 ? void 0 : _a.call(chunk)); });
|
|
274
|
+
}
|
|
275
|
+
// ==================== Async Chunk Optimization ====================
|
|
276
|
+
getSingleSourceRoot(sourceRoots) {
|
|
277
|
+
if (sourceRoots.size !== 1)
|
|
278
|
+
return null;
|
|
279
|
+
return Array.from(sourceRoots)[0];
|
|
280
|
+
}
|
|
281
|
+
getAsyncRootFromSourceRoots(sourceRoots) {
|
|
282
|
+
const asyncRoots = new Set();
|
|
283
|
+
for (const sourceRoot of sourceRoots) {
|
|
284
|
+
const asyncRoot = this.asyncRootMap.get(sourceRoot);
|
|
285
|
+
if (asyncRoot) {
|
|
286
|
+
asyncRoots.add(asyncRoot);
|
|
287
|
+
if (asyncRoots.size > 1)
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return asyncRoots.size === 1 ? Array.from(asyncRoots)[0] : null;
|
|
292
|
+
}
|
|
293
|
+
getSourceRootsFromChunkGroupOrigins(chunk) {
|
|
294
|
+
const sourceRoots = new Set();
|
|
295
|
+
const sourceDir = this.miniPlugin.options.sourceDir;
|
|
296
|
+
for (const group of chunk.groupsIterable || []) {
|
|
297
|
+
for (const origin of group.origins || []) {
|
|
298
|
+
const originModules = [origin === null || origin === void 0 ? void 0 : origin.module, origin === null || origin === void 0 ? void 0 : origin.originModule];
|
|
299
|
+
for (const originModule of originModules) {
|
|
300
|
+
const sourceRoot = (0, asyncSubPackage_1.getSourceRootForResource)(getModuleResource(originModule), sourceDir, this.asyncRootMap);
|
|
301
|
+
if (sourceRoot)
|
|
302
|
+
sourceRoots.add(sourceRoot);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return sourceRoots;
|
|
307
|
+
}
|
|
308
|
+
setupAsyncChunkOptimization(compiler) {
|
|
309
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
|
|
310
|
+
compilation.hooks.optimizeChunks.tap(PLUGIN_NAME, chunks => {
|
|
311
|
+
var _a, _b;
|
|
312
|
+
if (this.asyncRootMap.size === 0)
|
|
313
|
+
return;
|
|
314
|
+
for (const chunk of chunks) {
|
|
315
|
+
// 入口 chunk 名要在 app.json/页面注册中保持稳定,不能被改成 asyncRoot 路径。
|
|
316
|
+
if (((_a = chunk.hasRuntime) === null || _a === void 0 ? void 0 : _a.call(chunk)) || ((_b = chunk.canBeInitial) === null || _b === void 0 ? void 0 : _b.call(chunk)))
|
|
317
|
+
continue;
|
|
318
|
+
const modules = Array.from(compilation.chunkGraph.getChunkModulesIterable(chunk));
|
|
319
|
+
const jsModules = modules.filter(module => isJavaScriptModule(module));
|
|
320
|
+
if (jsModules.length === 0)
|
|
321
|
+
continue;
|
|
322
|
+
const sourceRoots = this.getSourceRootsFromChunkGroupOrigins(chunk);
|
|
323
|
+
let asyncRoot = this.asyncChunkRootCache.get(chunk);
|
|
324
|
+
if (!this.asyncChunkRootCache.has(chunk)) {
|
|
325
|
+
asyncRoot = (0, asyncSubPackage_1.getSingleAsyncRootForModules)(jsModules, this.miniPlugin.options.sourceDir, this.asyncRootMap, compilation.moduleGraph, this.asyncModuleCache) || this.getAsyncRootFromSourceRoots(sourceRoots);
|
|
326
|
+
this.asyncChunkRootCache.set(chunk, asyncRoot || null);
|
|
327
|
+
}
|
|
328
|
+
if (!asyncRoot)
|
|
329
|
+
continue;
|
|
330
|
+
const fallbackName = jsModules
|
|
331
|
+
.map(module => node_path_1.default.posix.basename(getModuleResource(module)).replace(/\?.*$/, ''))
|
|
332
|
+
.filter(Boolean)
|
|
333
|
+
.sort()
|
|
334
|
+
.join('~') || 'common';
|
|
335
|
+
const asyncChunkName = (0, asyncSubPackage_1.createAsyncCommonChunkName)(asyncRoot, chunk.name || String(chunk.id || chunk.debugId || fallbackName));
|
|
336
|
+
chunk.name = asyncChunkName;
|
|
337
|
+
if (sourceRoots.size > 0) {
|
|
338
|
+
this.asyncChunkSourceRoots.set(asyncChunkName, new Set(sourceRoots));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
// ==================== Async Chunk Runtime ====================
|
|
345
|
+
setupAsyncChunkRuntime(compiler) {
|
|
346
|
+
const webpack = compiler.webpack;
|
|
347
|
+
const { RuntimeGlobals, RuntimeModule, Template } = webpack;
|
|
348
|
+
const loadScript = RuntimeGlobals === null || RuntimeGlobals === void 0 ? void 0 : RuntimeGlobals.loadScript;
|
|
349
|
+
const ensureChunkHandlers = RuntimeGlobals === null || RuntimeGlobals === void 0 ? void 0 : RuntimeGlobals.ensureChunkHandlers;
|
|
350
|
+
const getChunkScriptFilename = RuntimeGlobals === null || RuntimeGlobals === void 0 ? void 0 : RuntimeGlobals.getChunkScriptFilename;
|
|
351
|
+
const publicPath = RuntimeGlobals === null || RuntimeGlobals === void 0 ? void 0 : RuntimeGlobals.publicPath;
|
|
352
|
+
if (!loadScript || !ensureChunkHandlers || !getChunkScriptFilename || !publicPath || !RuntimeModule)
|
|
353
|
+
return;
|
|
354
|
+
const MiniAsyncSubPackageRuntimeModule = createMiniAsyncSubPackageRuntimeModuleClass(webpack, Template, { loadScript, ensureChunkHandlers, getChunkScriptFilename, publicPath });
|
|
355
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
|
|
356
|
+
const runtimeAppliedChunks = new WeakSet();
|
|
357
|
+
const addMiniAsyncRuntimeModule = (chunk) => {
|
|
358
|
+
if (this.asyncRootMap.size === 0 || runtimeAppliedChunks.has(chunk))
|
|
359
|
+
return;
|
|
360
|
+
runtimeAppliedChunks.add(chunk);
|
|
361
|
+
compilation.addRuntimeModule(chunk, new MiniAsyncSubPackageRuntimeModule(this.asyncRuntimeRoots));
|
|
362
|
+
return true;
|
|
363
|
+
};
|
|
364
|
+
// 不依赖 runtime.js 文本格式,也不只依赖某一个 runtime requirement:
|
|
365
|
+
// dev/prod 下 webpack 可能通过不同 requirement 触发异步 chunk runtime。
|
|
366
|
+
compilation.hooks.runtimeRequirementInTree.for(loadScript).tap(PLUGIN_NAME, addMiniAsyncRuntimeModule);
|
|
367
|
+
compilation.hooks.runtimeRequirementInTree.for(ensureChunkHandlers).tap(PLUGIN_NAME, addMiniAsyncRuntimeModule);
|
|
368
|
+
compilation.hooks.runtimeRequirementInTree.for(getChunkScriptFilename).tap(PLUGIN_NAME, addMiniAsyncRuntimeModule);
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
// ==================== Async Chunk Asset Extraction ====================
|
|
372
|
+
setupAsyncChunkAssetExtraction(compiler) {
|
|
373
|
+
compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation) => {
|
|
374
|
+
var _a;
|
|
375
|
+
// PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER 在 webpack 5 中为 300;fallback 仅保留极旧版本兼容。
|
|
376
|
+
const stage = (_a = compilation.constructor.PROCESS_ASSETS_STAGE_OPTIMIZE_TRANSFER) !== null && _a !== void 0 ? _a : 300;
|
|
377
|
+
compilation.hooks.processAssets.tap({ name: PLUGIN_NAME, stage }, () => {
|
|
378
|
+
if (this.asyncRootMap.size === 0)
|
|
379
|
+
return;
|
|
380
|
+
const { RawSource } = compilation.compiler.webpack.sources;
|
|
381
|
+
this.moveAsyncRootStylesToSourceRoots(compilation, RawSource);
|
|
382
|
+
this.moveAsyncRootTemplatesToSourceRoots(compilation);
|
|
383
|
+
this.createAsyncRootEntries(compilation, RawSource);
|
|
384
|
+
});
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
createAsyncRootEntries(compilation, RawSource) {
|
|
388
|
+
const templateExt = this.miniPlugin.options.fileType.templ || '.wxml';
|
|
389
|
+
const configExt = this.miniPlugin.options.fileType.config || '.json';
|
|
390
|
+
// 多个 sourceRoot 可能指向同一个 asyncRoot;同一 asyncRoot 的 index 占位只需要生成一次。
|
|
391
|
+
const uniqueAsyncRoots = new Set(this.asyncRootMap.values());
|
|
392
|
+
for (const asyncRoot of uniqueAsyncRoots) {
|
|
393
|
+
const jsAssets = (0, asyncSubPackage_1.getAsyncRootAssetNames)(compilation.assets, asyncRoot)
|
|
394
|
+
.filter(assetName => assetName !== `${asyncRoot}/${ASYNC_SUBPACKAGE_ENTRY}.js`)
|
|
395
|
+
.sort();
|
|
396
|
+
if (jsAssets.length === 0)
|
|
397
|
+
continue;
|
|
398
|
+
// 微信 require.async 只能稳定加载 app.json 中注册过的分包页面入口。
|
|
399
|
+
// 因此 asyncRoot 只注册 index 页面,index.js 再同步 require 真实 webpack async chunk,
|
|
400
|
+
// 让 webpack JSONP runtime 完成 chunk 注册。
|
|
401
|
+
const requires = jsAssets
|
|
402
|
+
.map(assetName => `require('./${node_path_1.default.posix.basename(assetName)}')`)
|
|
403
|
+
.join('\n');
|
|
404
|
+
compilation.assets[`${asyncRoot}/${ASYNC_SUBPACKAGE_ENTRY}.js`] = new RawSource(requires);
|
|
405
|
+
compilation.assets[`${asyncRoot}/${ASYNC_SUBPACKAGE_ENTRY}${configExt}`] = new RawSource('{}');
|
|
406
|
+
compilation.assets[`${asyncRoot}/${ASYNC_SUBPACKAGE_ENTRY}${templateExt}`] = new RawSource('<view />');
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
moveAsyncRootTemplatesToSourceRoots(compilation) {
|
|
410
|
+
const templateExt = this.miniPlugin.options.fileType.templ || '.wxml';
|
|
411
|
+
const asyncRoots = new Set(this.asyncRootMap.values());
|
|
412
|
+
for (const asyncRoot of asyncRoots) {
|
|
413
|
+
const templateAssets = Object.keys(compilation.assets)
|
|
414
|
+
.filter(assetName => assetName.startsWith(`${asyncRoot}/`) && assetName.endsWith(`-templates${templateExt}`));
|
|
415
|
+
for (const assetName of templateAssets) {
|
|
416
|
+
const templateName = node_path_1.default.posix.basename(assetName);
|
|
417
|
+
const chunkName = `${asyncRoot}/${templateName.slice(0, -`-templates${templateExt}`.length)}`;
|
|
418
|
+
const sourceRoots = this.asyncChunkSourceRoots.get(chunkName);
|
|
419
|
+
const sourceRoot = sourceRoots ? this.getSingleSourceRoot(sourceRoots) : null;
|
|
420
|
+
if (!sourceRoot)
|
|
421
|
+
continue;
|
|
422
|
+
compilation.assets[`${sourceRoot}/${templateName}`] = compilation.assets[assetName];
|
|
423
|
+
delete compilation.assets[assetName];
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
moveAsyncRootStylesToSourceRoots(compilation, RawSource) {
|
|
428
|
+
var _a, _b, _c, _d;
|
|
429
|
+
const styleExt = this.miniPlugin.options.fileType.style || '.wxss';
|
|
430
|
+
const styleAssetReg = new RegExp(`\\${styleExt}$`);
|
|
431
|
+
const asyncRoots = new Set(this.asyncRootMap.values());
|
|
432
|
+
for (const asyncRoot of asyncRoots) {
|
|
433
|
+
const asyncStyleAssets = Object.keys(compilation.assets)
|
|
434
|
+
.filter(assetName => assetName.startsWith(`${asyncRoot}/`) && styleAssetReg.test(assetName));
|
|
435
|
+
if (asyncStyleAssets.length === 0)
|
|
436
|
+
continue;
|
|
437
|
+
for (const assetName of asyncStyleAssets) {
|
|
438
|
+
const chunkName = assetName.slice(0, -styleExt.length);
|
|
439
|
+
const sourceRoots = this.asyncChunkSourceRoots.get(chunkName);
|
|
440
|
+
if (!(sourceRoots === null || sourceRoots === void 0 ? void 0 : sourceRoots.size))
|
|
441
|
+
continue;
|
|
442
|
+
// asyncRoot 下只保留 JS 与 index 占位页面;动态组件样式仍在父包页面上下文生效。
|
|
443
|
+
// 单一页面使用的 async style 只并回该 sourceRoot;多个页面共用的 async style 复制到所有使用它的 sourceRoot。
|
|
444
|
+
const asyncStyle = ((_b = (_a = compilation.assets[assetName]) === null || _a === void 0 ? void 0 : _a.source) === null || _b === void 0 ? void 0 : _b.call(_a).toString()) || '';
|
|
445
|
+
for (const sourceRoot of sourceRoots) {
|
|
446
|
+
const targetStyleAsset = `${sourceRoot}/index${styleExt}`;
|
|
447
|
+
const origin = ((_d = (_c = compilation.assets[targetStyleAsset]) === null || _c === void 0 ? void 0 : _c.source) === null || _d === void 0 ? void 0 : _d.call(_c).toString()) || '';
|
|
448
|
+
compilation.assets[targetStyleAsset] = new RawSource([origin, asyncStyle].filter(Boolean).join('\n'));
|
|
449
|
+
}
|
|
450
|
+
delete compilation.assets[assetName];
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
// ==================== app.json Registration ====================
|
|
455
|
+
setupSubPackageRegistration() {
|
|
456
|
+
this.miniPlugin.hooks.afterGenerateFiles.tap(PLUGIN_NAME, (compilation) => {
|
|
457
|
+
var _a, _b, _c;
|
|
458
|
+
if (this.asyncRootMap.size === 0)
|
|
459
|
+
return;
|
|
460
|
+
const { RawSource } = (((_b = (_a = compilation.compiler) === null || _a === void 0 ? void 0 : _a.webpack) === null || _b === void 0 ? void 0 : _b.sources) || require('webpack').sources);
|
|
461
|
+
const appConfig = this.miniPlugin.appConfig;
|
|
462
|
+
const exist = appConfig.subPackages || appConfig.subpackages || [];
|
|
463
|
+
const news = [];
|
|
464
|
+
// 多个 sourceRoot 可以指向同一个 asyncRoot,app.json 中只能注册一次。
|
|
465
|
+
// pages 固定为 index,避免把每个 webpack chunk 当成小程序页面。
|
|
466
|
+
const asyncRoots = new Set(this.asyncRootMap.values());
|
|
467
|
+
for (const asyncRoot of asyncRoots) {
|
|
468
|
+
news.push({ root: asyncRoot, pages: [ASYNC_SUBPACKAGE_ENTRY], independent: false });
|
|
469
|
+
}
|
|
470
|
+
const mergedMap = new Map();
|
|
471
|
+
for (const item of [...exist, ...news]) {
|
|
472
|
+
if (!(item === null || item === void 0 ? void 0 : item.root) || mergedMap.has(item.root))
|
|
473
|
+
continue;
|
|
474
|
+
mergedMap.set(item.root, item);
|
|
475
|
+
}
|
|
476
|
+
const merged = Array.from(mergedMap.values());
|
|
477
|
+
appConfig.subPackages = merged;
|
|
478
|
+
const appCfgPath = this.miniPlugin.getConfigFilePath(this.miniPlugin.appEntry);
|
|
479
|
+
const appCfgName = node_path_1.default.basename(appCfgPath).replace(node_path_1.default.extname(appCfgPath), '');
|
|
480
|
+
const fc = (_c = this.miniPlugin.filesConfig) === null || _c === void 0 ? void 0 : _c[appCfgName];
|
|
481
|
+
if (fc) {
|
|
482
|
+
fc.content = createMiniAppConfigContent(fc.content, merged);
|
|
483
|
+
compilation.assets[this.miniPlugin.getConfigPath(appCfgName)] = new RawSource(JSON.stringify(fc.content, null, 2));
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
exports.default = AsyncSubPackagePlugin;
|
|
489
|
+
//# sourceMappingURL=AsyncSubPackagePlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncSubPackagePlugin.js","sourceRoot":"","sources":["../../src/plugins/AsyncSubPackagePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,18 +48,22 @@ class BuildNativePlugin extends MiniPlugin_1.default {
|
|
|
48
48
|
if (!this.isWatch) {
|
|
49
49
|
(0, helper_1.printLog)("compile" /* processTypeEnum.COMPILE */, '发现入口', this.getShowPath(this.appEntry));
|
|
50
50
|
}
|
|
51
|
-
const { frameworkExts } = this.options;
|
|
51
|
+
const { frameworkExts, newBlended } = this.options;
|
|
52
52
|
this.prerenderPages = new Set();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
const componentPages = appPages.map(item => {
|
|
54
|
+
const pagePath = (0, helper_1.resolveMainFilePath)(node_path_1.default.join(this.options.sourceDir, item), frameworkExts);
|
|
55
|
+
return {
|
|
56
|
+
name: item,
|
|
57
|
+
path: pagePath,
|
|
58
|
+
isNative: false
|
|
59
|
+
};
|
|
60
|
+
});
|
|
61
|
+
this.pages = new Set(componentPages);
|
|
62
|
+
if (newBlended) {
|
|
63
|
+
componentPages.forEach(component => {
|
|
64
|
+
this.nativeComponents.set(component.name, component);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
63
67
|
}
|
|
64
68
|
// entry 删除 app.js
|
|
65
69
|
addEntries() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildNativePlugin.js","sourceRoot":"","sources":["../../src/plugins/BuildNativePlugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2CAMuB;AACvB,+CAA2C;AAE3C,8CAA4F;AAC5F,8DAAqC;AAMrC,MAAM,WAAW,GAAG,mBAAmB,CAAA;AAEvC,MAAqB,iBAAkB,SAAQ,oBAAU;IAAzD;;QACE,mBAAc,GAAG,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"BuildNativePlugin.js","sourceRoot":"","sources":["../../src/plugins/BuildNativePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -788,7 +788,7 @@ class TaroHarmonyPlugin {
|
|
|
788
788
|
generateConfigFile(compilation, compiler, filePath, config) {
|
|
789
789
|
const { RawSource } = compiler.webpack.sources;
|
|
790
790
|
const fileConfigName = this.getConfigPath(this.getComponentName(filePath));
|
|
791
|
-
const unofficialConfigs = ['enableShareAppMessage', 'enableShareTimeline', 'enablePageMeta', 'components'];
|
|
791
|
+
const unofficialConfigs = ['enableShareAppMessage', 'enableShareTimeline', 'enablePageMeta', 'components', 'forceCustomWrapper'];
|
|
792
792
|
unofficialConfigs.forEach(item => {
|
|
793
793
|
delete config[item];
|
|
794
794
|
});
|