@tarojs/webpack5-prebundle 3.5.0-beta.3

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.
Files changed (53) hide show
  1. package/README.md +3 -0
  2. package/dist/h5.d.ts +17 -0
  3. package/dist/h5.js +182 -0
  4. package/dist/h5.js.map +1 -0
  5. package/dist/index.d.ts +27 -0
  6. package/dist/index.js +79 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/mini.d.ts +9 -0
  9. package/dist/mini.js +241 -0
  10. package/dist/mini.js.map +1 -0
  11. package/dist/prebundle/bundle.d.ts +25 -0
  12. package/dist/prebundle/bundle.js +223 -0
  13. package/dist/prebundle/bundle.js.map +1 -0
  14. package/dist/prebundle/index.d.ts +45 -0
  15. package/dist/prebundle/index.js +131 -0
  16. package/dist/prebundle/index.js.map +1 -0
  17. package/dist/prebundle/scanImports.d.ts +10 -0
  18. package/dist/prebundle/scanImports.js +192 -0
  19. package/dist/prebundle/scanImports.js.map +1 -0
  20. package/dist/utils/constant.d.ts +13 -0
  21. package/dist/utils/constant.js +65 -0
  22. package/dist/utils/constant.js.map +1 -0
  23. package/dist/utils/index.d.ts +33 -0
  24. package/dist/utils/index.js +175 -0
  25. package/dist/utils/index.js.map +1 -0
  26. package/dist/utils/path.d.ts +2 -0
  27. package/dist/utils/path.js +8 -0
  28. package/dist/utils/path.js.map +1 -0
  29. package/dist/utils/webpack.d.ts +10 -0
  30. package/dist/utils/webpack.js +39 -0
  31. package/dist/utils/webpack.js.map +1 -0
  32. package/dist/webpack/TaroContainerEntryModule.d.ts +12 -0
  33. package/dist/webpack/TaroContainerEntryModule.js +78 -0
  34. package/dist/webpack/TaroContainerEntryModule.js.map +1 -0
  35. package/dist/webpack/TaroContainerEntryModuleFactory.d.ts +6 -0
  36. package/dist/webpack/TaroContainerEntryModuleFactory.js +17 -0
  37. package/dist/webpack/TaroContainerEntryModuleFactory.js.map +1 -0
  38. package/dist/webpack/TaroContainerPlugin.d.ts +25 -0
  39. package/dist/webpack/TaroContainerPlugin.js +77 -0
  40. package/dist/webpack/TaroContainerPlugin.js.map +1 -0
  41. package/dist/webpack/TaroContainerReferencePlugin.d.ts +26 -0
  42. package/dist/webpack/TaroContainerReferencePlugin.js +187 -0
  43. package/dist/webpack/TaroContainerReferencePlugin.js.map +1 -0
  44. package/dist/webpack/TaroModuleFederationPlugin.d.ts +21 -0
  45. package/dist/webpack/TaroModuleFederationPlugin.js +75 -0
  46. package/dist/webpack/TaroModuleFederationPlugin.js.map +1 -0
  47. package/dist/webpack/TaroRemoteRuntimeModule.d.ts +14 -0
  48. package/dist/webpack/TaroRemoteRuntimeModule.js +117 -0
  49. package/dist/webpack/TaroRemoteRuntimeModule.js.map +1 -0
  50. package/dist/webpack/index.d.ts +0 -0
  51. package/dist/webpack/index.js +1 -0
  52. package/dist/webpack/index.js.map +1 -0
  53. package/package.json +48 -0
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ /**
30
+ * Modify from https://github.com/webpack/webpack/blob/main/lib/container/ContainerReferencePlugin.js
31
+ * MIT License http://www.opensource.org/licenses/mit-license.php
32
+ * Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
33
+ */
34
+ const helper_1 = require("@tarojs/helper");
35
+ const webpack_1 = __importStar(require("webpack"));
36
+ const ContainerReferencePlugin_1 = __importDefault(require("webpack/lib/container/ContainerReferencePlugin"));
37
+ const RemoteModule_1 = __importDefault(require("webpack/lib/container/RemoteModule"));
38
+ const webpack_sources_1 = require("webpack-sources");
39
+ const utils_1 = require("../utils");
40
+ const constant_1 = require("../utils/constant");
41
+ const TaroRemoteRuntimeModule_1 = __importDefault(require("./TaroRemoteRuntimeModule"));
42
+ const ExternalsPlugin = require('webpack/lib/ExternalsPlugin');
43
+ const FallbackDependency = require('webpack/lib/container/FallbackDependency');
44
+ const FallbackItemDependency = require('webpack/lib/container/FallbackItemDependency');
45
+ const FallbackModuleFactory = require('webpack/lib/container/FallbackModuleFactory');
46
+ const RemoteToExternalDependency = require('webpack/lib/container/RemoteToExternalDependency');
47
+ const PLUGIN_NAME = 'TaroContainerReferencePlugin';
48
+ const slashCode = '/'.charCodeAt(0);
49
+ class TaroContainerReferencePlugin extends ContainerReferencePlugin_1.default {
50
+ constructor(options, params) {
51
+ super(options);
52
+ this.params = params;
53
+ const { remotes = {} } = options;
54
+ const remoteName = Object.keys(remotes)[0] || constant_1.MF_NAME;
55
+ const [, remoteConfig] = this._remotes.find(([key, config]) => key === remoteName && config) || [this.remoteName, { external: [], shareScope: 'default' }];
56
+ this.deps = params.deps;
57
+ this.remoteAssets = params.remoteAssets || [];
58
+ this.remoteName = remoteName;
59
+ this.remoteConfig = remoteConfig;
60
+ this.runtimeRequirements = params.runtimeRequirements;
61
+ }
62
+ apply(compiler) {
63
+ switch (this.params.env) {
64
+ case 'h5':
65
+ this.applyWebApp(compiler);
66
+ break;
67
+ default:
68
+ this.applyMiniApp(compiler);
69
+ }
70
+ }
71
+ applyWebApp(compiler) {
72
+ const { _remotes: remotes, _remoteType: remoteType } = this;
73
+ const remoteExternals = {};
74
+ for (const [key, config] of remotes) {
75
+ let i = 0;
76
+ for (const external of config.external) {
77
+ if (external.startsWith('internal '))
78
+ continue;
79
+ remoteExternals[`webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`] = external;
80
+ i++;
81
+ }
82
+ }
83
+ new ExternalsPlugin(remoteType, remoteExternals).apply(compiler);
84
+ compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
85
+ compilation.dependencyFactories.set(RemoteToExternalDependency, normalModuleFactory);
86
+ compilation.dependencyFactories.set(FallbackItemDependency, normalModuleFactory);
87
+ compilation.dependencyFactories.set(FallbackDependency, new FallbackModuleFactory());
88
+ /**
89
+ * 把预编译的依赖改为 Remote module 的形式
90
+ * 例如把 import '@tarojs/taro' 改为 import '[remote]/@tarojs/taro'
91
+ */
92
+ normalModuleFactory.hooks.factorize.tap(PLUGIN_NAME, data => {
93
+ if (!data.request.includes('!')) {
94
+ for (const [key, config] of remotes) {
95
+ if (data.request.startsWith(`${key}`) && (data.request.length === key.length || data.request.charCodeAt(key.length) === slashCode)) {
96
+ return new RemoteModule_1.default(data.request, config.external.map((external, i) => external.startsWith('internal ') ? external.slice(9) : `webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`), `.${data.request.slice(key.length)}`, config.shareScope);
97
+ }
98
+ }
99
+ const [key, config] = [this.remoteName, this.remoteConfig];
100
+ for (const dep of this.deps.keys()) {
101
+ if (data.request === dep || data.request === '@tarojs/runtime') {
102
+ const externalList = typeof config.external === 'string' ? [config.external] : config.external;
103
+ return new RemoteModule_1.default(`${key}/${data.request}`, externalList.map((external, i) => external.startsWith('internal ')
104
+ ? external.slice(9)
105
+ : `webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`), `./${data.request}`, config.shareScope || 'default' // share scope
106
+ );
107
+ }
108
+ }
109
+ }
110
+ });
111
+ compilation.hooks.runtimeRequirementInTree
112
+ .for(webpack_1.RuntimeGlobals.ensureChunkHandlers)
113
+ .tap(PLUGIN_NAME, (chunk, set) => {
114
+ set.add(webpack_1.RuntimeGlobals.module);
115
+ set.add(webpack_1.RuntimeGlobals.moduleFactoriesAddOnly);
116
+ set.add(webpack_1.RuntimeGlobals.hasOwnProperty);
117
+ set.add(webpack_1.RuntimeGlobals.initializeSharing);
118
+ set.add(webpack_1.RuntimeGlobals.shareScopeMap);
119
+ compilation.addRuntimeModule(chunk, new TaroRemoteRuntimeModule_1.default(this.params.env));
120
+ });
121
+ });
122
+ }
123
+ applyMiniApp(compiler) {
124
+ compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation, { normalModuleFactory }) => {
125
+ /**
126
+ * 把预编译的依赖改为 Remote module 的形式
127
+ * 例如把 import '@tarojs/taro' 改为 import '[remote]/@tarojs/taro'
128
+ */
129
+ const [key, config] = this._remotes.find(([key, config]) => key === this.remoteName && config) || { external: [], shareScope: 'default' };
130
+ normalModuleFactory.hooks.factorize.tap(PLUGIN_NAME, data => {
131
+ if (!data.request.includes('!')) {
132
+ for (const dep of this.deps.keys()) {
133
+ if (data.request === dep || data.request === '@tarojs/runtime') {
134
+ return new RemoteModule_1.default(data.request, config.external.map((external, i) => external.startsWith('internal ')
135
+ ? external.slice(9)
136
+ : `webpack/container/reference/${key}${i ? `/fallback-${i}` : ''}`), `./${data.request}`, config.shareScope // share scope
137
+ );
138
+ }
139
+ }
140
+ }
141
+ });
142
+ /**
143
+ * 修改 webpack runtime
144
+ * 1. 注入一些 webpack 内置的工具函数(remote 打包时注入了,而 host 里没有,需要补全,后续改为自动补全)
145
+ * 2. 修改 webpack/runtime/remotes 模块的输出
146
+ * a) 生成 id 映射对象 idToExternalAndNameMapping
147
+ * b) 插入自动注册模块的逻辑
148
+ */
149
+ compilation.hooks.additionalTreeRuntimeRequirements.tap(PLUGIN_NAME, (chunk, set) => {
150
+ // webpack runtime 增加 Remote runtime 使用到的工具函数
151
+ this.runtimeRequirements.forEach(item => set.add(item));
152
+ compilation.addRuntimeModule(chunk, new TaroRemoteRuntimeModule_1.default(this.params.env));
153
+ });
154
+ /**
155
+ * 在 dist/app.js 头部注入 require,
156
+ * 依赖所有的预编译 chunk 和 remoteEntry
157
+ */
158
+ const hooks = webpack_1.default.javascript.JavascriptModulesPlugin.getCompilationHooks(compilation);
159
+ hooks.render.tap(PLUGIN_NAME, (modules, { chunk }) => {
160
+ var _a;
161
+ const chunkEntryModule = (0, utils_1.getChunkEntryModule)(compilation, chunk);
162
+ if (chunkEntryModule) {
163
+ const entryModule = (_a = chunkEntryModule.rootModule) !== null && _a !== void 0 ? _a : chunkEntryModule;
164
+ if (entryModule.miniType === helper_1.META_TYPE.ENTRY) {
165
+ return (0, utils_1.addRequireToSource)((0, utils_1.getChunkIdOrName)(chunk), modules, this.remoteAssets);
166
+ }
167
+ return modules;
168
+ }
169
+ else {
170
+ return modules;
171
+ }
172
+ });
173
+ /**
174
+ * 模块 "webpack/container/reference/[remote]" 用于网络加载 remoteEntry.js,
175
+ * 在小程序环境则不需要了,因此将模块输出改为空字符串,减少不必要的代码
176
+ */
177
+ hooks.renderModuleContent.tap(PLUGIN_NAME, (source, module) => {
178
+ if (module.userRequest === `webpack/container/reference/${this.remoteName}`) {
179
+ return new webpack_sources_1.RawSource('');
180
+ }
181
+ return source;
182
+ });
183
+ });
184
+ }
185
+ }
186
+ exports.default = TaroContainerReferencePlugin;
187
+ //# sourceMappingURL=TaroContainerReferencePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaroContainerReferencePlugin.js","sourceRoot":"","sources":["../../src/webpack/TaroContainerReferencePlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Compiler } from 'webpack';
2
+ import ModuleFederationPlugin from 'webpack/lib/container/ModuleFederationPlugin';
3
+ import type { ModuleFederationPluginOptions } from 'webpack/types';
4
+ import { CollectedDeps } from '../utils/constant';
5
+ interface IParams {
6
+ deps: CollectedDeps;
7
+ env: string;
8
+ remoteAssets?: Record<'name', string>[];
9
+ runtimeRequirements: Set<string>;
10
+ }
11
+ export default class TaroModuleFederationPlugin extends ModuleFederationPlugin {
12
+ private params;
13
+ private deps;
14
+ private remoteAssets;
15
+ private runtimeRequirements;
16
+ protected _options: ModuleFederationPluginOptions;
17
+ constructor(options: ModuleFederationPluginOptions, params: IParams);
18
+ /** Apply the plugin */
19
+ apply(compiler: Compiler): void;
20
+ }
21
+ export {};
@@ -0,0 +1,75 @@
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
+ /**
7
+ * Modify from https://github.com/webpack/webpack/blob/main/lib/container/ModuleFederationPlugin.js
8
+ * MIT License http://www.opensource.org/licenses/mit-license.php
9
+ * Author Tobias Koppers @sokra and Zackary Jackson @ScriptedAlchemy
10
+ */
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const webpack_1 = require("webpack");
13
+ const ModuleFederationPlugin_1 = __importDefault(require("webpack/lib/container/ModuleFederationPlugin"));
14
+ const ExternalsType_check_js_1 = __importDefault(require("webpack/schemas/plugins/container/ExternalsType.check.js"));
15
+ const TaroContainerPlugin_1 = __importDefault(require("./TaroContainerPlugin"));
16
+ const TaroContainerReferencePlugin_1 = __importDefault(require("./TaroContainerReferencePlugin"));
17
+ const { SharePlugin } = webpack_1.sharing;
18
+ const PLUGIN_NAME = 'TaroModuleFederationPlugin';
19
+ class TaroModuleFederationPlugin extends ModuleFederationPlugin_1.default {
20
+ constructor(options, params) {
21
+ super(options);
22
+ this.params = params;
23
+ this.deps = params.deps;
24
+ this.remoteAssets = params.remoteAssets || [];
25
+ this.runtimeRequirements = params.runtimeRequirements;
26
+ }
27
+ /** Apply the plugin */
28
+ apply(compiler) {
29
+ const { _options: options } = this;
30
+ const library = options.library || { type: 'var', name: options.name };
31
+ const remoteType = options.remoteType ||
32
+ (options.library && (0, ExternalsType_check_js_1.default)(options.library.type)
33
+ ? options.library.type
34
+ : 'script');
35
+ const enabledLibraryTypes = compiler.options.output.enabledLibraryTypes;
36
+ if (library && !(enabledLibraryTypes === null || enabledLibraryTypes === void 0 ? void 0 : enabledLibraryTypes.includes(library.type))) {
37
+ enabledLibraryTypes === null || enabledLibraryTypes === void 0 ? void 0 : enabledLibraryTypes.push(library.type);
38
+ }
39
+ compiler.hooks.afterPlugins.tap(PLUGIN_NAME, () => {
40
+ const { exposes, filename, name, remotes = [], runtime, shared, shareScope } = options;
41
+ if (!lodash_1.default.isEmpty(exposes)) {
42
+ new TaroContainerPlugin_1.default({
43
+ name,
44
+ library,
45
+ filename,
46
+ runtime,
47
+ exposes
48
+ }, {
49
+ env: this.params.env,
50
+ runtimeRequirements: this.runtimeRequirements
51
+ }).apply(compiler);
52
+ }
53
+ if (!lodash_1.default.isEmpty(remotes)) {
54
+ const opt = {
55
+ remoteType,
56
+ remotes
57
+ };
58
+ new TaroContainerReferencePlugin_1.default(opt, {
59
+ deps: this.deps,
60
+ env: this.params.env,
61
+ remoteAssets: this.remoteAssets,
62
+ runtimeRequirements: this.runtimeRequirements
63
+ }).apply(compiler);
64
+ }
65
+ if (shared) {
66
+ new SharePlugin({
67
+ shared,
68
+ shareScope
69
+ }).apply(compiler);
70
+ }
71
+ });
72
+ }
73
+ }
74
+ exports.default = TaroModuleFederationPlugin;
75
+ //# sourceMappingURL=TaroModuleFederationPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaroModuleFederationPlugin.js","sourceRoot":"","sources":["../../src/webpack/TaroModuleFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ChunkGraph, Compilation, RuntimeModule } from 'webpack';
2
+ export default class TaroRemoteRuntimeModule extends RuntimeModule {
3
+ private env;
4
+ compilation: Compilation;
5
+ chunkGraph: ChunkGraph;
6
+ constructor(env: string);
7
+ getDepsMap(): {
8
+ chunkToRemotesMapping: Record<string | number, (string | number)[]>;
9
+ idToExternalAndNameMapping: {};
10
+ };
11
+ generate(): string;
12
+ generateWeb(): string;
13
+ generateMini(): string;
14
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const webpack_1 = require("webpack");
4
+ class TaroRemoteRuntimeModule extends webpack_1.RuntimeModule {
5
+ constructor(env) {
6
+ super('remotes loading');
7
+ this.env = env;
8
+ }
9
+ getDepsMap() {
10
+ const { compilation, chunkGraph } = this;
11
+ const { moduleGraph } = compilation;
12
+ const chunkToRemotesMapping = {};
13
+ const idToExternalAndNameMapping = {};
14
+ for (const chunk of compilation.chunks) {
15
+ const modules = (chunkGraph.getChunkModulesIterableBySourceType(chunk, 'remote'));
16
+ if (!modules)
17
+ continue;
18
+ const remotes = (chunkToRemotesMapping[chunk.id] = []);
19
+ for (const module of modules) {
20
+ const name = module.internalRequest;
21
+ const id = chunkGraph.getModuleId(module);
22
+ const shareScope = module.shareScope;
23
+ const dep = module.dependencies[0];
24
+ const externalModule = moduleGraph.getModule(dep);
25
+ const externalModuleId = externalModule && chunkGraph.getModuleId(externalModule);
26
+ remotes.push(id);
27
+ idToExternalAndNameMapping[id] = [shareScope, name, externalModuleId];
28
+ }
29
+ }
30
+ return {
31
+ chunkToRemotesMapping,
32
+ idToExternalAndNameMapping
33
+ };
34
+ }
35
+ generate() {
36
+ switch (this.env) {
37
+ case 'h5':
38
+ return this.generateWeb();
39
+ default:
40
+ return this.generateMini();
41
+ }
42
+ }
43
+ generateWeb() {
44
+ const { runtimeTemplate } = this.compilation;
45
+ const { chunkToRemotesMapping, idToExternalAndNameMapping } = this.getDepsMap();
46
+ return webpack_1.Template.asString([
47
+ `var chunkMapping = ${JSON.stringify(chunkToRemotesMapping, null, '\t')};`,
48
+ `var idToExternalAndNameMapping = ${JSON.stringify(idToExternalAndNameMapping, null, '\t')};`,
49
+ `${webpack_1.RuntimeGlobals.ensureChunkHandlers}.remotes = ${runtimeTemplate.basicFunction('chunkId, promises', [
50
+ `if(${webpack_1.RuntimeGlobals.hasOwnProperty}(chunkMapping, chunkId)) {`,
51
+ webpack_1.Template.indent([
52
+ `chunkMapping[chunkId].forEach(${runtimeTemplate.basicFunction('id', [
53
+ `var getScope = ${webpack_1.RuntimeGlobals.currentRemoteGetScope};`,
54
+ 'if(!getScope) getScope = [];',
55
+ 'var data = idToExternalAndNameMapping[id];',
56
+ 'if(getScope.indexOf(data) >= 0) return;',
57
+ 'getScope.push(data);',
58
+ 'if(data.p) return promises.push(data.p);',
59
+ `var onError = ${runtimeTemplate.basicFunction('error', [
60
+ 'if(!error) error = new Error("Container missing");',
61
+ 'if(typeof error.message === "string")',
62
+ webpack_1.Template.indent('error.message += \'\\nwhile loading "\' + data[1] + \'" from \' + data[2];'),
63
+ `__webpack_modules__[id] = ${runtimeTemplate.basicFunction('', [
64
+ 'throw error;'
65
+ ])}`,
66
+ 'data.p = 0;'
67
+ ])};`,
68
+ `var handleFunction = ${runtimeTemplate.basicFunction('fn, arg1, arg2, d, next, first', [
69
+ 'try {',
70
+ webpack_1.Template.indent([
71
+ 'var promise = fn(arg1, arg2);',
72
+ 'if(promise && promise.then) {',
73
+ webpack_1.Template.indent([
74
+ `var p = promise.then(${runtimeTemplate.returningFunction('next(result, d)', 'result')}, onError);`,
75
+ 'if(first) promises.push(data.p = p); else return p;'
76
+ ]),
77
+ '} else {',
78
+ webpack_1.Template.indent(['return next(promise, d, first);']),
79
+ '}'
80
+ ]),
81
+ '} catch(error) {',
82
+ webpack_1.Template.indent(['onError(error);']),
83
+ '}'
84
+ ])}`,
85
+ `var onExternal = ${runtimeTemplate.returningFunction(`external ? handleFunction(${webpack_1.RuntimeGlobals.initializeSharing}, data[0], 0, external, onInitialized, first) : onError()`, 'external, _, first')};`,
86
+ `var onInitialized = ${runtimeTemplate.returningFunction('handleFunction(external.get, data[1], getScope, 0, onFactory, first)', '_, external, first')};`,
87
+ `var onFactory = ${runtimeTemplate.basicFunction('factory', [
88
+ 'data.p = 1;',
89
+ `__webpack_modules__[id] = ${runtimeTemplate.basicFunction('module', ['module.exports = factory();'])}`
90
+ ])};`,
91
+ 'handleFunction(__webpack_require__, data[2], 0, 0, onExternal, 1);'
92
+ ])});`
93
+ ]),
94
+ '}'
95
+ ])};`
96
+ ]);
97
+ }
98
+ generateMini() {
99
+ const { runtimeTemplate } = this.compilation;
100
+ const { chunkToRemotesMapping, idToExternalAndNameMapping } = this.getDepsMap();
101
+ return webpack_1.Template.asString([
102
+ `var chunkMapping = ${JSON.stringify(chunkToRemotesMapping, null, '\t')};`,
103
+ `var idToExternalAndNameMapping = ${JSON.stringify(idToExternalAndNameMapping, null, '\t')};`,
104
+ `${webpack_1.RuntimeGlobals.require}.taro = ${runtimeTemplate.basicFunction('get', [
105
+ 'for (var id in idToExternalAndNameMapping) {',
106
+ webpack_1.Template.indent([
107
+ 'var mappedName = idToExternalAndNameMapping[id][1];',
108
+ 'var factory = get(mappedName);',
109
+ `__webpack_modules__[id] = (${runtimeTemplate.basicFunction('factory', [`return ${runtimeTemplate.basicFunction('module', ['module.exports = factory();'])}`])})(factory);`
110
+ ]),
111
+ '}'
112
+ ])};`
113
+ ]);
114
+ }
115
+ }
116
+ exports.default = TaroRemoteRuntimeModule;
117
+ //# sourceMappingURL=TaroRemoteRuntimeModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaroRemoteRuntimeModule.js","sourceRoot":"","sources":["../../src/webpack/TaroRemoteRuntimeModule.ts"],"names":[],"mappings":"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"}
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webpack/index.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@tarojs/webpack5-prebundle",
3
+ "version": "3.5.0-beta.3",
4
+ "description": "Taro app webpack5 prebundle",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "build": "npm run clean && npm run prod",
8
+ "dev": "tsc -w",
9
+ "prod": "tsc",
10
+ "clean": "rimraf dist",
11
+ "test": "cross-env NODE_ENV=jest jest",
12
+ "test:ci": "cross-env NODE_ENV=jest jest -i",
13
+ "test:coverage": "cross-env NODE_ENV=jest jest --coverage"
14
+ },
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/NervJS/taro.git"
18
+ },
19
+ "files": [
20
+ "dist"
21
+ ],
22
+ "keywords": [
23
+ "taro"
24
+ ],
25
+ "author": "ZakaryCode",
26
+ "license": "MIT",
27
+ "bugs": {
28
+ "url": "https://github.com/NervJS/taro/issues"
29
+ },
30
+ "homepage": "https://github.com/NervJS/taro#readme",
31
+ "dependencies": {
32
+ "@swc/core": "^1.2.204",
33
+ "@tarojs/helper": "3.5.0-beta.3",
34
+ "@tarojs/taro": "3.5.0-beta.3",
35
+ "enhanced-resolve": "^5.9.3",
36
+ "es-module-lexer": "^0.10.4",
37
+ "esbuild": "^0.14.27",
38
+ "fs-extra": "^8.0.1",
39
+ "lodash": "^4.17.21",
40
+ "webpack-chain": "6.5.1",
41
+ "webpack-dev-server": "4.7.4",
42
+ "webpack-sources": "^3.2.3",
43
+ "webpack-virtual-modules": "^0.4.3"
44
+ },
45
+ "peerDependencies": {
46
+ "webpack": "5.69.0"
47
+ }
48
+ }