@tarojs/webpack5-prebundle 3.5.0-alpha.16

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 (54) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/h5.d.ts +23 -0
  4. package/dist/h5.js +193 -0
  5. package/dist/h5.js.map +1 -0
  6. package/dist/index.d.ts +28 -0
  7. package/dist/index.js +87 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/mini.d.ts +9 -0
  10. package/dist/mini.js +244 -0
  11. package/dist/mini.js.map +1 -0
  12. package/dist/prebundle/bundle.d.ts +25 -0
  13. package/dist/prebundle/bundle.js +188 -0
  14. package/dist/prebundle/bundle.js.map +1 -0
  15. package/dist/prebundle/index.d.ts +48 -0
  16. package/dist/prebundle/index.js +186 -0
  17. package/dist/prebundle/index.js.map +1 -0
  18. package/dist/prebundle/scanImports.d.ts +10 -0
  19. package/dist/prebundle/scanImports.js +192 -0
  20. package/dist/prebundle/scanImports.js.map +1 -0
  21. package/dist/utils/constant.d.ts +14 -0
  22. package/dist/utils/constant.js +66 -0
  23. package/dist/utils/constant.js.map +1 -0
  24. package/dist/utils/index.d.ts +34 -0
  25. package/dist/utils/index.js +182 -0
  26. package/dist/utils/index.js.map +1 -0
  27. package/dist/utils/path.d.ts +3 -0
  28. package/dist/utils/path.js +12 -0
  29. package/dist/utils/path.js.map +1 -0
  30. package/dist/utils/webpack.d.ts +10 -0
  31. package/dist/utils/webpack.js +39 -0
  32. package/dist/utils/webpack.js.map +1 -0
  33. package/dist/webpack/TaroContainerEntryModule.d.ts +12 -0
  34. package/dist/webpack/TaroContainerEntryModule.js +78 -0
  35. package/dist/webpack/TaroContainerEntryModule.js.map +1 -0
  36. package/dist/webpack/TaroContainerEntryModuleFactory.d.ts +6 -0
  37. package/dist/webpack/TaroContainerEntryModuleFactory.js +17 -0
  38. package/dist/webpack/TaroContainerEntryModuleFactory.js.map +1 -0
  39. package/dist/webpack/TaroContainerPlugin.d.ts +25 -0
  40. package/dist/webpack/TaroContainerPlugin.js +77 -0
  41. package/dist/webpack/TaroContainerPlugin.js.map +1 -0
  42. package/dist/webpack/TaroContainerReferencePlugin.d.ts +26 -0
  43. package/dist/webpack/TaroContainerReferencePlugin.js +187 -0
  44. package/dist/webpack/TaroContainerReferencePlugin.js.map +1 -0
  45. package/dist/webpack/TaroModuleFederationPlugin.d.ts +21 -0
  46. package/dist/webpack/TaroModuleFederationPlugin.js +75 -0
  47. package/dist/webpack/TaroModuleFederationPlugin.js.map +1 -0
  48. package/dist/webpack/TaroRemoteRuntimeModule.d.ts +14 -0
  49. package/dist/webpack/TaroRemoteRuntimeModule.js +117 -0
  50. package/dist/webpack/TaroRemoteRuntimeModule.js.map +1 -0
  51. package/dist/webpack/index.d.ts +0 -0
  52. package/dist/webpack/index.js +1 -0
  53. package/dist/webpack/index.js.map +1 -0
  54. package/package.json +50 -0
@@ -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,50 @@
1
+ {
2
+ "name": "@tarojs/webpack5-prebundle",
3
+ "version": "3.5.0-alpha.16",
4
+ "description": "Taro app webpack5 prebundle",
5
+ "main": "dist/index.js",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/NervJS/taro.git"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "keywords": [
14
+ "taro"
15
+ ],
16
+ "author": "ZakaryCode",
17
+ "license": "MIT",
18
+ "bugs": {
19
+ "url": "https://github.com/NervJS/taro/issues"
20
+ },
21
+ "homepage": "https://github.com/NervJS/taro#readme",
22
+ "dependencies": {
23
+ "@swc/core": "^1.2.204",
24
+ "@tarojs/helper": "3.5.0-alpha.16",
25
+ "@tarojs/taro": "3.5.0-alpha.16",
26
+ "enhanced-resolve": "^5.9.3",
27
+ "es-module-lexer": "^0.10.4",
28
+ "esbuild": "^0.14.27",
29
+ "fs-extra": "^8.0.1",
30
+ "lodash": "^4.17.21",
31
+ "webpack-chain": "6.5.1",
32
+ "webpack-sources": "^3.2.3",
33
+ "webpack-virtual-modules": "^0.4.3"
34
+ },
35
+ "devDependencies": {
36
+ "webpack-dev-server": "4.7.4"
37
+ },
38
+ "peerDependencies": {
39
+ "webpack": "5.69.0"
40
+ },
41
+ "scripts": {
42
+ "build": "pnpm run clean && pnpm run prod",
43
+ "dev": "tsc -w",
44
+ "prod": "tsc",
45
+ "clean": "rimraf dist",
46
+ "test": "cross-env NODE_ENV=jest jest",
47
+ "test:ci": "cross-env NODE_ENV=jest jest -i",
48
+ "test:coverage": "cross-env NODE_ENV=jest jest --coverage"
49
+ }
50
+ }