@tarojs/webpack5-runner 4.2.1-beta.1 → 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.
@@ -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
- this.pages = new Set([
54
- ...appPages.map(item => {
55
- const pagePath = (0, helper_1.resolveMainFilePath)(node_path_1.default.join(this.options.sourceDir, item), frameworkExts);
56
- return {
57
- name: item,
58
- path: pagePath,
59
- isNative: false
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":"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"}
1
+ {"version":3,"file":"BuildNativePlugin.js","sourceRoot":"","sources":["../../src/plugins/BuildNativePlugin.ts"],"names":[],"mappings":"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"}