@cocos/ccbuild 1.1.14 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/CHANGELOG.md +165 -165
  2. package/lib/src/index.d.ts +5 -0
  3. package/lib/src/index.d.ts.map +1 -0
  4. package/lib/src/index.js +61 -0
  5. package/lib/src/index.js.map +1 -0
  6. package/{lib/build-engine → modules/build-engine/lib}/engine-js/index.d.ts +2 -3
  7. package/modules/build-engine/lib/engine-js/index.d.ts.map +1 -0
  8. package/modules/build-engine/lib/engine-js/index.js +399 -0
  9. package/modules/build-engine/lib/engine-js/index.js.map +1 -0
  10. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.d.ts +58 -0
  11. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.d.ts.map +1 -0
  12. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js +299 -0
  13. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js.map +1 -0
  14. package/modules/build-engine/lib/engine-js/rollup-plugins/remove-deprecated-features.d.ts +3 -0
  15. package/modules/build-engine/lib/engine-js/rollup-plugins/remove-deprecated-features.d.ts.map +1 -0
  16. package/modules/build-engine/lib/engine-js/rollup-plugins/remove-deprecated-features.js +42 -0
  17. package/modules/build-engine/lib/engine-js/rollup-plugins/remove-deprecated-features.js.map +1 -0
  18. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.d.ts +7 -0
  19. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.d.ts.map +1 -0
  20. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.js +51 -0
  21. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.js.map +1 -0
  22. package/modules/build-engine/lib/engine-ts/engine-builder.d.ts +57 -0
  23. package/modules/build-engine/lib/engine-ts/engine-builder.d.ts.map +1 -0
  24. package/modules/build-engine/lib/engine-ts/engine-builder.js +650 -0
  25. package/modules/build-engine/lib/engine-ts/engine-builder.js.map +1 -0
  26. package/modules/build-engine/lib/engine-ts/field-decorator-helper.d.ts +11 -0
  27. package/modules/build-engine/lib/engine-ts/field-decorator-helper.d.ts.map +1 -0
  28. package/modules/build-engine/lib/engine-ts/field-decorator-helper.js +65 -0
  29. package/modules/build-engine/lib/engine-ts/field-decorator-helper.js.map +1 -0
  30. package/{lib/build-engine → modules/build-engine/lib}/engine-ts/index.d.ts +2 -3
  31. package/modules/build-engine/lib/engine-ts/index.d.ts.map +1 -0
  32. package/modules/build-engine/lib/engine-ts/index.js +59 -0
  33. package/modules/build-engine/lib/engine-ts/index.js.map +1 -0
  34. package/{lib/build-engine → modules/build-engine/lib}/engine-ts/plugins/external-wasm-loader.d.ts +7 -7
  35. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.d.ts.map +1 -0
  36. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js +74 -0
  37. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js.map +1 -0
  38. package/modules/build-engine/lib/engine-ts/plugins/interface.d.ts +20 -0
  39. package/modules/build-engine/lib/engine-ts/plugins/interface.d.ts.map +1 -0
  40. package/modules/build-engine/lib/engine-ts/plugins/interface.js +5 -0
  41. package/modules/build-engine/lib/engine-ts/plugins/interface.js.map +1 -0
  42. package/modules/build-engine/lib/index.d.ts +145 -0
  43. package/modules/build-engine/lib/index.d.ts.map +1 -0
  44. package/modules/build-engine/lib/index.js +180 -0
  45. package/modules/build-engine/lib/index.js.map +1 -0
  46. package/modules/bundler/lib/index.d.ts +2 -0
  47. package/modules/bundler/lib/index.d.ts.map +1 -0
  48. package/modules/bundler/lib/index.js +39 -0
  49. package/{lib → modules/bundler/lib}/index.js.map +1 -1
  50. package/modules/bundler/lib/rollup/index.d.ts +3 -0
  51. package/modules/bundler/lib/rollup/index.d.ts.map +1 -0
  52. package/modules/bundler/lib/rollup/index.js +41 -0
  53. package/modules/bundler/lib/rollup/index.js.map +1 -0
  54. package/modules/bundler/lib/rollup/plugins.d.ts +8 -0
  55. package/modules/bundler/lib/rollup/plugins.d.ts.map +1 -0
  56. package/modules/bundler/lib/rollup/plugins.js +56 -0
  57. package/modules/bundler/lib/rollup/plugins.js.map +1 -0
  58. package/modules/modularize/lib/index.d.ts +20 -0
  59. package/modules/modularize/lib/index.d.ts.map +1 -0
  60. package/modules/modularize/lib/index.js +82 -0
  61. package/modules/modularize/lib/index.js.map +1 -0
  62. package/modules/stats-query/lib/config-interface.d.ts +129 -0
  63. package/modules/stats-query/lib/config-interface.d.ts.map +1 -0
  64. package/modules/stats-query/lib/config-interface.js +6 -0
  65. package/modules/stats-query/lib/config-interface.js.map +1 -0
  66. package/modules/stats-query/lib/index.d.ts +188 -0
  67. package/modules/stats-query/lib/index.d.ts.map +1 -0
  68. package/modules/stats-query/lib/index.js +579 -0
  69. package/modules/stats-query/lib/index.js.map +1 -0
  70. package/modules/transformer/lib/babel/index.d.ts +6 -0
  71. package/modules/transformer/lib/babel/index.d.ts.map +1 -0
  72. package/modules/transformer/lib/babel/index.js +47 -0
  73. package/modules/transformer/lib/babel/index.js.map +1 -0
  74. package/modules/transformer/lib/babel/plugins.d.ts +5 -0
  75. package/modules/transformer/lib/babel/plugins.d.ts.map +1 -0
  76. package/modules/transformer/lib/babel/plugins.js +22 -0
  77. package/modules/transformer/lib/babel/plugins.js.map +1 -0
  78. package/modules/transformer/lib/babel/presets.d.ts +3 -0
  79. package/modules/transformer/lib/babel/presets.d.ts.map +1 -0
  80. package/modules/transformer/lib/babel/presets.js +41 -0
  81. package/modules/transformer/lib/babel/presets.js.map +1 -0
  82. package/modules/transformer/lib/index.d.ts +2 -0
  83. package/modules/transformer/lib/index.d.ts.map +1 -0
  84. package/modules/transformer/lib/index.js +39 -0
  85. package/modules/transformer/lib/index.js.map +1 -0
  86. package/modules/utils/lib/index.d.ts +3 -0
  87. package/modules/utils/lib/index.d.ts.map +1 -0
  88. package/modules/utils/lib/index.js +38 -0
  89. package/modules/utils/lib/index.js.map +1 -0
  90. package/modules/utils/lib/path.d.ts +7 -0
  91. package/modules/utils/lib/path.d.ts.map +1 -0
  92. package/modules/utils/lib/path.js +105 -0
  93. package/modules/utils/lib/path.js.map +1 -0
  94. package/package.json +65 -75
  95. package/static/lib.dom.d.ts +953 -18846
  96. package/lib/api-builder.d.ts +0 -1
  97. package/lib/api-builder.d.ts.map +0 -1
  98. package/lib/api-builder.js +0 -2
  99. package/lib/api-builder.js.map +0 -1
  100. package/lib/build-engine/engine-js/index.d.ts.map +0 -1
  101. package/lib/build-engine/engine-js/index.js +0 -404
  102. package/lib/build-engine/engine-js/index.js.map +0 -1
  103. package/lib/build-engine/engine-js/rollup-plugins/external-wasm-loader.d.ts +0 -58
  104. package/lib/build-engine/engine-js/rollup-plugins/external-wasm-loader.d.ts.map +0 -1
  105. package/lib/build-engine/engine-js/rollup-plugins/external-wasm-loader.js +0 -299
  106. package/lib/build-engine/engine-js/rollup-plugins/external-wasm-loader.js.map +0 -1
  107. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.d.ts +0 -3
  108. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.d.ts.map +0 -1
  109. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.js +0 -38
  110. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.js.map +0 -1
  111. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.d.ts +0 -5
  112. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.d.ts.map +0 -1
  113. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.js +0 -43
  114. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.js.map +0 -1
  115. package/lib/build-engine/engine-ts/engine-builder.d.ts +0 -58
  116. package/lib/build-engine/engine-ts/engine-builder.d.ts.map +0 -1
  117. package/lib/build-engine/engine-ts/engine-builder.js +0 -632
  118. package/lib/build-engine/engine-ts/engine-builder.js.map +0 -1
  119. package/lib/build-engine/engine-ts/field-decorator-helper.d.ts +0 -10
  120. package/lib/build-engine/engine-ts/field-decorator-helper.d.ts.map +0 -1
  121. package/lib/build-engine/engine-ts/field-decorator-helper.js +0 -55
  122. package/lib/build-engine/engine-ts/field-decorator-helper.js.map +0 -1
  123. package/lib/build-engine/engine-ts/index.d.ts.map +0 -1
  124. package/lib/build-engine/engine-ts/index.js +0 -37
  125. package/lib/build-engine/engine-ts/index.js.map +0 -1
  126. package/lib/build-engine/engine-ts/plugins/external-wasm-loader.d.ts.map +0 -1
  127. package/lib/build-engine/engine-ts/plugins/external-wasm-loader.js +0 -66
  128. package/lib/build-engine/engine-ts/plugins/external-wasm-loader.js.map +0 -1
  129. package/lib/build-engine/engine-ts/plugins/interface.d.ts +0 -21
  130. package/lib/build-engine/engine-ts/plugins/interface.d.ts.map +0 -1
  131. package/lib/build-engine/engine-ts/plugins/interface.js +0 -2
  132. package/lib/build-engine/engine-ts/plugins/interface.js.map +0 -1
  133. package/lib/build-engine/index.d.ts +0 -146
  134. package/lib/build-engine/index.d.ts.map +0 -1
  135. package/lib/build-engine/index.js +0 -155
  136. package/lib/build-engine/index.js.map +0 -1
  137. package/lib/index.d.ts +0 -5
  138. package/lib/index.d.ts.map +0 -1
  139. package/lib/index.js +0 -34
  140. package/lib/module-resolver.d.ts +0 -8
  141. package/lib/module-resolver.d.ts.map +0 -1
  142. package/lib/module-resolver.js +0 -29
  143. package/lib/module-resolver.js.map +0 -1
  144. package/lib/stats-query/config-interface.d.ts +0 -130
  145. package/lib/stats-query/config-interface.d.ts.map +0 -1
  146. package/lib/stats-query/config-interface.js +0 -4
  147. package/lib/stats-query/config-interface.js.map +0 -1
  148. package/lib/stats-query/index.d.ts +0 -184
  149. package/lib/stats-query/index.d.ts.map +0 -1
  150. package/lib/stats-query/index.js +0 -532
  151. package/lib/stats-query/index.js.map +0 -1
  152. package/lib/stats-query/path-utils.d.ts +0 -3
  153. package/lib/stats-query/path-utils.d.ts.map +0 -1
  154. package/lib/stats-query/path-utils.js +0 -36
  155. package/lib/stats-query/path-utils.js.map +0 -1
  156. package/lib/transformer/babel.d.ts +0 -6
  157. package/lib/transformer/babel.d.ts.map +0 -1
  158. package/lib/transformer/babel.js +0 -35
  159. package/lib/transformer/babel.js.map +0 -1
  160. package/lib/transformer/index.d.ts +0 -3
  161. package/lib/transformer/index.d.ts.map +0 -1
  162. package/lib/transformer/index.js +0 -29
  163. package/lib/transformer/index.js.map +0 -1
  164. package/lib/utils.d.ts +0 -5
  165. package/lib/utils.d.ts.map +0 -1
  166. package/lib/utils.js +0 -24
  167. package/lib/utils.js.map +0 -1
@@ -0,0 +1,399 @@
1
+ "use strict";
2
+
3
+ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P ? value : new P(function (resolve) {
6
+ resolve(value);
7
+ });
8
+ }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) {
11
+ try {
12
+ step(generator.next(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ }
17
+ function rejected(value) {
18
+ try {
19
+ step(generator["throw"](value));
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ }
24
+ function step(result) {
25
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
26
+ }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __importDefault = this && this.__importDefault || function (mod) {
31
+ return mod && mod.__esModule ? mod : {
32
+ "default": mod
33
+ };
34
+ };
35
+ Object.defineProperty(exports, "__esModule", {
36
+ value: true
37
+ });
38
+ exports.buildJsEngine = void 0;
39
+ const fs_extra_1 = __importDefault(require("fs-extra"));
40
+ const path_1 = __importDefault(require("path"));
41
+ const transformer_1 = require("../../../transformer/lib/index.js");
42
+ const bundler_1 = require("../../../bundler/lib/index.js");
43
+ const fs_1 = __importDefault(require("fs"));
44
+ const ts_paths_1 = __importDefault(require("./rollup-plugins/ts-paths"));
45
+ const remove_deprecated_features_1 = __importDefault(require("./rollup-plugins/remove-deprecated-features"));
46
+ const external_wasm_loader_1 = require("./rollup-plugins/external-wasm-loader");
47
+ const stats_query_1 = require("../../../stats-query/lib/index.js");
48
+ const utils_1 = require("../../../utils/lib/index.js");
49
+ var babelPluginTransformForOf = transformer_1.babel.plugins.transformForOf;
50
+ var babelPresetEnv = transformer_1.babel.presets.presetEnv;
51
+ var babelPluginDynamicImportVars = transformer_1.babel.plugins.cocosDynamicImportVars;
52
+ var babelPresetCC = transformer_1.babel.presets.presetCC.babelPresetCC;
53
+ var helpers = transformer_1.babel.presets.presetCC.helpers;
54
+ // import rollup
55
+ var rollup = bundler_1.rollup.core;
56
+ var rpBabel = bundler_1.rollup.plugins.babel.babel;
57
+ var json = bundler_1.rollup.plugins.json;
58
+ var resolve = bundler_1.rollup.plugins.nodeResolve;
59
+ var commonjs = bundler_1.rollup.plugins.commonjs;
60
+ var rpTerser = bundler_1.rollup.plugins.terser.terser;
61
+ var rpVirtual = bundler_1.rollup.plugins.virtual;
62
+ // import rpProgress = Bundler.plugins.progress;
63
+ // import * as decoratorRecorder from './babel-plugins/decorator-parser';
64
+ const realPath = function () {
65
+ const realpath = typeof fs_1.default.realpath.native === 'function' ? fs_1.default.realpath.native : fs_1.default.realpath;
66
+ return file => new Promise((resolve, reject) => {
67
+ realpath(file, (err, path) => {
68
+ if (err && err.code !== 'ENOENT') {
69
+ reject(err);
70
+ } else {
71
+ resolve(err ? file : path);
72
+ }
73
+ });
74
+ });
75
+ }();
76
+ function makePathEqualityKey(path) {
77
+ return process.platform === 'win32' ? path.toLocaleLowerCase() : path;
78
+ }
79
+ function buildJsEngine(options) {
80
+ var _a, _b, _c, _d, _e;
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ const doUglify = !!options.compress;
83
+ const engineRoot = path_1.default.resolve(options.engine);
84
+ const rollupFormat = (_a = options.moduleFormat) !== null && _a !== void 0 ? _a : 'iife';
85
+ const statsQuery = yield stats_query_1.StatsQuery.create(engineRoot);
86
+ if (options.features) {
87
+ for (const feature of options.features) {
88
+ if (!statsQuery.hasFeature(feature)) {
89
+ console.warn(`'${feature}' is not a valid feature.`);
90
+ }
91
+ }
92
+ }
93
+ let features;
94
+ let split = (_b = options.split) !== null && _b !== void 0 ? _b : false;
95
+ if (options.features && options.features.length !== 0) {
96
+ features = options.features;
97
+ } else {
98
+ features = statsQuery.getFeatures();
99
+ if (split !== true) {
100
+ split = true;
101
+ console.warn(`You did not specify features which implies 'split: true'. ` + `Explicitly set 'split: true' to suppress this warning.`);
102
+ }
103
+ }
104
+ let {
105
+ ammoJsWasm
106
+ } = options;
107
+ ammoJsWasm !== null && ammoJsWasm !== void 0 ? ammoJsWasm : ammoJsWasm = true; // default is true
108
+ const forceBanningBulletWasm = !ammoJsWasm;
109
+ const flags = (_c = options.flags) !== null && _c !== void 0 ? _c : {};
110
+ flags.FORCE_BANNING_BULLET_WASM = forceBanningBulletWasm;
111
+ const intrinsicFlags = statsQuery.getIntrinsicFlagsOfFeatures(features);
112
+ let buildTimeConstants = statsQuery.constantManager.genBuildTimeConstants({
113
+ mode: options.mode,
114
+ platform: options.platform,
115
+ flags
116
+ });
117
+ buildTimeConstants = Object.assign(Object.assign({}, intrinsicFlags), buildTimeConstants);
118
+ // if (typeof options.forceJitValue !== undefined) {
119
+ // buildTimeConstants['SUPPORT_JIT'] = options.forceJitValue as boolean;
120
+ // }
121
+ const moduleOverrides = Object.entries(statsQuery.evaluateModuleOverrides({
122
+ mode: options.mode,
123
+ platform: options.platform,
124
+ buildTimeConstants
125
+ })).reduce((result, [k, v]) => {
126
+ result[makePathEqualityKey(k)] = v;
127
+ return result;
128
+ }, {});
129
+ const featureUnits = statsQuery.getUnitsOfFeatures(features);
130
+ const rpVirtualOptions = {};
131
+ const vmInternalConstants = statsQuery.constantManager.exportStaticConstants({
132
+ platform: options.platform,
133
+ mode: options.mode,
134
+ flags
135
+ });
136
+ console.debug(`Module source "internal-constants":\n${vmInternalConstants}`);
137
+ rpVirtualOptions['internal:constants'] = vmInternalConstants;
138
+ rpVirtualOptions[helpers.CC_HELPER_MODULE] = helpers.generateHelperModuleSource();
139
+ // for some modules that we need to instantiate before cc module
140
+ // const forceStandaloneModules = ['wait-for-ammo-instantiation'];
141
+ const forceStandaloneModules = [];
142
+ let rollupEntries;
143
+ if (split) {
144
+ rollupEntries = featureUnits.reduce((result, featureUnit) => {
145
+ result[featureUnit] = statsQuery.getFeatureUnitFile(featureUnit);
146
+ return result;
147
+ }, {});
148
+ } else {
149
+ rollupEntries = {
150
+ cc: 'cc'
151
+ };
152
+ const selectedFeatureUnits = [];
153
+ for (const featureUnit of featureUnits) {
154
+ if (forceStandaloneModules.includes(featureUnit)) {
155
+ rollupEntries[featureUnit] = statsQuery.getFeatureUnitFile(featureUnit);
156
+ } else {
157
+ selectedFeatureUnits.push(featureUnit);
158
+ }
159
+ }
160
+ rpVirtualOptions.cc = statsQuery.evaluateIndexModuleSource(selectedFeatureUnits, featureUnit => (0, utils_1.filePathToModuleRequest)(statsQuery.getFeatureUnitFile(featureUnit)));
161
+ rollupEntries.cc = 'cc';
162
+ console.debug(`Module source "cc":\n${rpVirtualOptions.cc}`);
163
+ }
164
+ const presetEnvOptions = {
165
+ loose: (_d = options.loose) !== null && _d !== void 0 ? _d : true,
166
+ // We need explicitly specified targets.
167
+ // Ignore it to avoid the engine's parent dirs contain unexpected config.
168
+ ignoreBrowserslistConfig: true
169
+ };
170
+ if (options.targets !== undefined) {
171
+ presetEnvOptions.targets = options.targets;
172
+ }
173
+ const babelPlugins = [];
174
+ if (options.targets === undefined) {
175
+ babelPlugins.push([babelPluginTransformForOf, {
176
+ loose: true
177
+ }]);
178
+ }
179
+ babelPlugins.push([babelPluginDynamicImportVars, {
180
+ resolve: {
181
+ forwardExt: 'resolved'
182
+ }
183
+ }]);
184
+ const {
185
+ fieldDecorators,
186
+ editorDecorators
187
+ } = statsQuery.getOptimizeDecorators();
188
+ const babelOptions = {
189
+ babelHelpers: 'bundled',
190
+ extensions: ['.js', '.ts'],
191
+ exclude: [/node_modules[/\\]@cocos[/\\]ammo/, /node_modules[/\\]@cocos[/\\]cannon/, /node_modules[/\\]@cocos[/\\]physx/, /\.asm\.js/],
192
+ comments: false,
193
+ overrides: [{
194
+ // Eliminates the babel compact warning:
195
+ // 'The code generator has deoptimised the styling of ...'
196
+ // that came from node_modules/@cocos
197
+ test: /node_modules[/\\]@cocos[/\\]/,
198
+ compact: true
199
+ }],
200
+ plugins: babelPlugins,
201
+ presets: [[babelPresetEnv, presetEnvOptions], [babelPresetCC, {
202
+ allowDeclareFields: true,
203
+ ccDecoratorHelpers: 'external',
204
+ fieldDecorators,
205
+ editorDecorators
206
+ }]]
207
+ };
208
+ // if (options.generateDecoratorsForJSB) {
209
+ // if (!process.env.ENGINE_PATH) {
210
+ // throw new Error('ENGINE_PATH environment variable not set');
211
+ // }
212
+ // babelOptions.presets?.push([() => ({ plugins: [[decoratorRecorder]] })]);
213
+ // }
214
+ const rollupPlugins = [];
215
+ if (options.noDeprecatedFeatures) {
216
+ rollupPlugins.push((0, remove_deprecated_features_1.default)(typeof options.noDeprecatedFeatures === 'string' ? options.noDeprecatedFeatures : undefined));
217
+ }
218
+ rollupPlugins.push((0, external_wasm_loader_1.externalWasmLoader)({
219
+ externalRoot: path_1.default.join(engineRoot, 'native/external'),
220
+ wasmSupportMode: buildTimeConstants.WASM_SUPPORT_MODE,
221
+ forceBanningBulletWasm,
222
+ cullAsmJsModule: buildTimeConstants.CULL_ASM_JS_MODULE,
223
+ format: 'relative-from-chunk',
224
+ wasmFallback: buildTimeConstants.WASM_FALLBACK,
225
+ wasmSubpackage: buildTimeConstants.WASM_SUBPACKAGE
226
+ }), {
227
+ name: '@cocos/ccbuild|module-overrides',
228
+ resolveId(source, importer) {
229
+ if (moduleOverrides[source]) {
230
+ return source;
231
+ } else {
232
+ return null;
233
+ }
234
+ },
235
+ load(id) {
236
+ const key = makePathEqualityKey(id);
237
+ if (!(key in moduleOverrides)) {
238
+ return null;
239
+ }
240
+ const replacement = moduleOverrides[key];
241
+ console.debug(`Redirect module ${id} to ${replacement}`);
242
+ return `export * from '${(0, utils_1.filePathToModuleRequest)(replacement)}';`;
243
+ }
244
+ }, rpVirtual(rpVirtualOptions), (0, ts_paths_1.default)({
245
+ configFileName: path_1.default.resolve(options.engine, 'tsconfig.json')
246
+ }), resolve({
247
+ extensions: ['.js', '.ts', '.json'],
248
+ jail: yield realPath(engineRoot),
249
+ rootDir: engineRoot
250
+ }), json({
251
+ preferConst: true
252
+ }), commonjs({
253
+ include: [/node_modules[/\\]/, /asm\.js/],
254
+ sourceMap: false
255
+ }), rpBabel(Object.assign({
256
+ skipPreflightCheck: true
257
+ }, babelOptions)));
258
+ // if (options.progress) {
259
+ // rollupPlugins.unshift(rpProgress());
260
+ // }
261
+ if (doUglify) {
262
+ // TODO: tree-shaking not clear!
263
+ rollupPlugins.push(rpTerser({
264
+ // see https://github.com/terser/terser#compress-options
265
+ compress: {
266
+ reduce_funcs: false,
267
+ keep_fargs: false,
268
+ unsafe_Function: true,
269
+ unsafe_math: true,
270
+ unsafe_methods: true,
271
+ passes: 2 // first: remove deadcodes and const objects, second: drop variables
272
+ },
273
+
274
+ mangle: doUglify,
275
+ keep_fnames: !doUglify,
276
+ output: {
277
+ beautify: !doUglify
278
+ },
279
+ // https://github.com/rollup/rollup/issues/3315
280
+ // We only do this for CommonJS.
281
+ // Especially, we cannot do this for IIFE.
282
+ toplevel: rollupFormat === 'cjs'
283
+ }));
284
+ }
285
+ // const visualizeOptions = typeof options.visualize === 'object'
286
+ // ? options.visualize
287
+ // : (options.visualize ? {} : undefined);
288
+ // if (visualizeOptions) {
289
+ // let rpVisualizer;
290
+ // try {
291
+ // // @ts-expect-error: No typing
292
+ // rpVisualizer = await import('rollup-plugin-visualizer');
293
+ // } catch {
294
+ // console.warn('Visualizing needs \'rollup-plugin-visualizer\' to be installed. It\'s installed as dev-dependency.');
295
+ // }
296
+ // if (rpVisualizer) {
297
+ // const visualizeFile = visualizeOptions.file ?? ps.join(options.out, 'visualize.html');
298
+ // rollupPlugins.push(rpVisualizer({
299
+ // filename: visualizeFile,
300
+ // title: 'Cocos Creator build visualizer',
301
+ // template: 'treemap',
302
+ // }));
303
+ // }
304
+ // }
305
+ let hasCriticalWarns = false;
306
+ const rollupWarningHandler = (warning, defaultHandler) => {
307
+ var _a;
308
+ if (typeof warning !== 'string') {
309
+ if (warning.code === 'CIRCULAR_DEPENDENCY') {
310
+ hasCriticalWarns = true;
311
+ } else if (warning.code === 'THIS_IS_UNDEFINED') {
312
+ // TODO: It's really inappropriate to do this...
313
+ // Let's fix these files instead of suppressing rollup.
314
+ if ((_a = warning.id) === null || _a === void 0 ? void 0 : _a.match(/(?:spine-core\.js$)|(?:dragonBones\.js$)/)) {
315
+ console.debug(`Rollup warning 'THIS_IS_UNDEFINED' is omitted for ${warning.id}`);
316
+ return;
317
+ }
318
+ }
319
+ }
320
+ defaultHandler(warning);
321
+ };
322
+ const rollupOptions = {
323
+ input: rollupEntries,
324
+ plugins: rollupPlugins,
325
+ cache: false,
326
+ onwarn: rollupWarningHandler
327
+ };
328
+ const perf = true;
329
+ if (perf) {
330
+ rollupOptions.perf = true;
331
+ }
332
+ const rollupBuild = yield rollup.rollup(rollupOptions);
333
+ const timing = (_e = rollupBuild.getTimings) === null || _e === void 0 ? void 0 : _e.call(rollupBuild);
334
+ if (timing) {
335
+ console.debug(`==== Performance ====`);
336
+ console.debug(JSON.stringify(timing));
337
+ console.debug(`==== ====`);
338
+ }
339
+ const {
340
+ incremental: incrementalFile
341
+ } = options;
342
+ if (incrementalFile) {
343
+ const watchFiles = {};
344
+ const files = rollupBuild.watchFiles;
345
+ yield Promise.all(files.map(watchFile => __awaiter(this, void 0, void 0, function* () {
346
+ try {
347
+ const stat = yield fs_extra_1.default.stat(watchFile);
348
+ watchFiles[watchFile] = stat.mtimeMs;
349
+ } catch (_f) {
350
+ // the `watchFiles` may contain non-fs modules.
351
+ }
352
+ })));
353
+ yield fs_extra_1.default.ensureDir(path_1.default.dirname(incrementalFile));
354
+ yield fs_extra_1.default.writeFile(incrementalFile, JSON.stringify(watchFiles, undefined, 2));
355
+ }
356
+ const result = {
357
+ chunkAliases: {},
358
+ exports: {},
359
+ chunkDepGraph: {},
360
+ assetDepGraph: {},
361
+ hasCriticalWarns: false
362
+ };
363
+ const rollupOutputOptions = {
364
+ format: rollupFormat,
365
+ sourcemap: options.sourceMap,
366
+ sourcemapFile: options.sourceMapFile,
367
+ name: rollupFormat === 'iife' ? 'ccm' : undefined,
368
+ dir: options.out
369
+ // minifyInternalExports: false,
370
+ // preserveEntrySignatures: "allow-extension",
371
+ };
372
+
373
+ const rollupOutput = yield rollupBuild.write(rollupOutputOptions);
374
+ const validEntryChunks = {};
375
+ for (const output of rollupOutput.output) {
376
+ if (output.type === 'chunk') {
377
+ if (output.isEntry) {
378
+ const chunkName = output.name;
379
+ if (chunkName in rollupEntries || chunkName === 'cc') {
380
+ validEntryChunks[chunkName] = output.fileName;
381
+ }
382
+ }
383
+ }
384
+ }
385
+ Object.assign(result.exports, validEntryChunks);
386
+ result.dependencyGraph = {};
387
+ for (const output of rollupOutput.output) {
388
+ if (output.type === 'chunk') {
389
+ const depList = output.imports.concat(output.dynamicImports);
390
+ result.dependencyGraph[output.fileName] = depList;
391
+ result.chunkDepGraph[output.fileName] = depList;
392
+ result.assetDepGraph[output.fileName] = output.referencedFiles.slice();
393
+ }
394
+ }
395
+ result.hasCriticalWarns = hasCriticalWarns;
396
+ return result;
397
+ });
398
+ }
399
+ exports.buildJsEngine = buildJsEngine;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine-js/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA0B;AAC1B,gDAAsB;AACtB,sDAA4D;AAC5D,8CAAqD;AACrD,4CAAwB;AACxB,yEAAsD;AACtD,6GAAmF;AAEnF,gFAA2E;AAC3E,sDAAkD;AAClD,0CAAyD;AAKzD,IAAO,yBAAyB,GAAG,mBAAW,CAAC,OAAO,CAAC,cAAc,CAAC;AACtE,IAAO,cAAc,GAAG,mBAAW,CAAC,OAAO,CAAC,SAAS,CAAC;AACtD,IAAO,4BAA4B,GAAG,mBAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC;AACjF,IAAO,aAAa,GAAG,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;AAClE,IAAO,OAAO,GAAG,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAEtD,gBAAgB;AAChB,IAAO,MAAM,GAAG,gBAAO,CAAC,IAAI,CAAC;AAC7B,IAAO,OAAO,GAAG,gBAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;AAE7C,IAAO,IAAI,GAAG,gBAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AACnC,IAAO,OAAO,GAAG,gBAAO,CAAC,OAAO,CAAC,WAAW,CAAC;AAC7C,IAAO,QAAQ,GAAG,gBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC3C,IAAO,QAAQ,GAAG,gBAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;AAChD,IAAO,SAAS,GAAG,gBAAO,CAAC,OAAO,CAAC,OAAO,CAAC;AAC3C,gDAAgD;AAEhD,yEAAyE;AAEzE,MAAM,QAAQ,GAAG,CAAC;IACd,MAAM,QAAQ,GAAG,OAAO,YAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,YAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAM,CAAC,QAAQ,CAAC;IACzG,OAAO,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7D,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC9B,MAAM,CAAC,GAAG,CAAC,CAAC;aACf;iBAAM;gBACH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC9B;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,EAAE,CAAC;AAEL,SAAS,mBAAmB,CAAC,IAAY;IACrC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,SAAsB,aAAa,CAAC,OAAsC;;;QACtE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpC,MAAM,UAAU,GAAG,cAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,YAAY,mCAAI,MAAM,CAAC;QAEpD,MAAM,UAAU,GAAG,MAAM,wBAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEvD,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,2BAA2B,CAAC,CAAC;iBACxD;aACJ;SACJ;QAED,IAAI,QAAkB,CAAC;QACvB,IAAI,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK,CAAC;QACnC,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACnD,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;SAC/B;aAAM;YACH,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,KAAK,KAAK,IAAI,EAAE;gBAChB,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO,CAAC,IAAI,CACR,4DAA4D;sBAC1D,wDAAwD,CAC7D,CAAC;aACL;SACJ;QAGD,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC7B,UAAU,aAAV,UAAU,cAAV,UAAU,IAAV,UAAU,GAAK,IAAI,EAAC,CAAE,kBAAkB;QACxC,MAAM,sBAAsB,GAAG,CAAC,UAAU,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC;QAClC,KAAK,CAAC,yBAAyB,GAAG,sBAAsB,CAAC;QACzD,MAAM,cAAc,GAAG,UAAU,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,kBAAkB,GAAG,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC;YACtE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK;SACR,CAAC,CAAC;QACH,kBAAkB,mCACX,cAAc,GACd,kBAAkB,CACxB,CAAC;QAEF,oDAAoD;QACpD,4EAA4E;QAC5E,IAAI;QAEJ,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC;YACtE,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,kBAAkB;SACrB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC;QAClB,CAAC,EAAE,EAA4B,CAAC,CAAC;QAEjC,MAAM,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7D,MAAM,gBAAgB,GAA2B,EAAE,CAAC;QAEpD,MAAM,mBAAmB,GAAG,UAAU,CAAC,eAAe,CAAC,qBAAqB,CAAC;YACzE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK;SACR,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,wCAAwC,mBAAmB,EAAE,CAAC,CAAC;QAC7E,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,mBAAmB,CAAC;QAC7D,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAElF,gEAAgE;QAChE,kEAAkE;QAClE,MAAM,sBAAsB,GAAa,EAAE,CAAC;QAE5C,IAAI,aAAqE,CAAC;QAC1E,IAAI,KAAK,EAAE;YACP,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBACxD,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC;YAClB,CAAC,EAAE,EAA4B,CAAC,CAAC;SACpC;aAAM;YACH,aAAa,GAAG;gBACZ,EAAE,EAAE,IAAI;aACX,CAAC;YACF,MAAM,oBAAoB,GAAG,EAAE,CAAC;YAChC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;gBACpC,IAAI,sBAAsB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC9C,aAAa,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;iBAC3E;qBAAM;oBACH,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAC1C;aACJ;YAED,gBAAgB,CAAC,EAAE,GAAG,UAAU,CAAC,yBAAyB,CACtD,oBAAoB,EACpB,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,+BAAuB,EAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CACvF,CAAC;YACF,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC;YAExB,OAAO,CAAC,KAAK,CAAC,wBAAwB,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;SAChE;QAED,MAAM,gBAAgB,GAA0B;YAC5C,KAAK,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI;YAC5B,wCAAwC;YACxC,yEAAyE;YACzE,wBAAwB,EAAE,IAAI;SACjC,CAAC;QACF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/B,gBAAgB,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC9C;QAED,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE;oBAC1C,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC,CAAC;SACP;QAED,YAAY,CAAC,IAAI,CACb,CAAC,4BAA4B,EAAE;gBAC3B,OAAO,EAAE;oBACL,UAAU,EAAE,UAAU;iBACzB;aACJ,CAAC,CACL,CAAC;QAQF,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;QAEjF,MAAM,YAAY,GAAmD;YACjE,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;YAC1B,OAAO,EAAE;gBACL,kCAAkC;gBAClC,oCAAoC;gBACpC,mCAAmC;gBACnC,WAAW;aACd;YACD,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,CAAC;oBACR,wCAAwC;oBACxC,0DAA0D;oBAC1D,qCAAqC;oBACrC,IAAI,EAAE,8BAA8B;oBACpC,OAAO,EAAE,IAAI;iBAChB,CAAC;YACF,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE;gBACL,CAAC,cAAc,EAAE,gBAAgB,CAAC;gBAClC,CAAC,aAAa,EAAE;wBACZ,kBAAkB,EAAE,IAAI;wBACxB,kBAAkB,EAAE,UAAU;wBAC9B,eAAe;wBACf,gBAAgB;qBACM,CAAC;aAC9B;SACJ,CAAC;QAEF,0CAA0C;QAC1C,sCAAsC;QACtC,uEAAuE;QACvE,QAAQ;QACR,gFAAgF;QAChF,IAAI;QAEJ,MAAM,aAAa,GAAoB,EAAE,CAAC;QAE1C,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAC9B,aAAa,CAAC,IAAI,CAAC,IAAA,oCAAwB,EACvC,OAAO,OAAO,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAC9F,CAAC,CAAC;SACN;QAED,aAAa,CAAC,IAAI,CACd,IAAA,yCAAkB,EAAC;YACf,YAAY,EAAE,cAAE,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC;YACpD,eAAe,EAAE,kBAAkB,CAAC,iBAAiB;YACrD,sBAAsB;YACtB,eAAe,EAAE,kBAAkB,CAAC,kBAAkB;YACtD,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE,kBAAkB,CAAC,aAAa;YAC9C,cAAc,EAAE,kBAAkB,CAAC,eAAe;SACrD,CAAC,EAEF;YACI,IAAI,EAAE,iCAAiC;YACvC,SAAS,CAAC,MAAM,EAAE,QAAQ;gBACtB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;oBACzB,OAAO,MAAM,CAAC;iBACjB;qBAAM;oBACH,OAAO,IAAI,CAAC;iBACf;YACL,CAAC;YACD,IAAI,CAAO,EAAU;gBACjB,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACpC,IAAI,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,EAAE;oBAC3B,OAAO,IAAI,CAAC;iBACf;gBACD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,WAAW,EAAE,CAAC,CAAC;gBACzD,OAAO,kBAAkB,IAAA,+BAAuB,EAAC,WAAW,CAAC,IAAI,CAAC;YACtE,CAAC;SACJ,EAED,SAAS,CAAC,gBAAgB,CAAC,EAE3B,IAAA,kBAAa,EAAC;YACV,cAAc,EAAE,cAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;SAC9D,CAAC,EAEF,OAAO,CAAC;YACJ,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;YACnC,IAAI,EAAE,MAAM,QAAQ,CAAC,UAAU,CAAC;YAChC,OAAO,EAAE,UAAU;SACtB,CAAC,EAEF,IAAI,CAAC;YACD,WAAW,EAAE,IAAI;SACpB,CAAC,EAGF,QAAQ,CAAC;YACL,OAAO,EAAE;gBACL,mBAAmB;gBACnB,SAAS;aACZ;YACD,SAAS,EAAE,KAAK;SACnB,CAAC,EAEF,OAAO,iBACH,kBAAkB,EAAE,IAAI,IACrB,YAAY,EACjB,CACL,CAAC;QAEF,0BAA0B;QAC1B,2CAA2C;QAC3C,IAAI;QAEJ,IAAI,QAAQ,EAAE,EAAE,gCAAgC;YAC5C,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACxB,wDAAwD;gBACxD,QAAQ,EAAE;oBACN,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,KAAK;oBACjB,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,IAAI;oBACjB,cAAc,EAAE,IAAI;oBACpB,MAAM,EAAE,CAAC,EAAG,oEAAoE;iBACnF;gBACD,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,CAAC,QAAQ;gBACtB,MAAM,EAAE;oBACJ,QAAQ,EAAE,CAAC,QAAQ;iBACtB;gBAED,+CAA+C;gBAC/C,gCAAgC;gBAChC,0CAA0C;gBAC1C,QAAQ,EAAE,YAAY,KAAK,KAAK;aACnC,CAAC,CAAC,CAAC;SACP;QAED,iEAAiE;QACjE,0BAA0B;QAC1B,8CAA8C;QAC9C,0BAA0B;QAC1B,wBAAwB;QACxB,YAAY;QACZ,yCAAyC;QACzC,mEAAmE;QACnE,gBAAgB;QAChB,8HAA8H;QAC9H,QAAQ;QACR,0BAA0B;QAC1B,iGAAiG;QACjG,4CAA4C;QAC5C,uCAAuC;QACvC,uDAAuD;QACvD,mCAAmC;QACnC,eAAe;QACf,QAAQ;QACR,IAAI;QAEJ,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B,MAAM,oBAAoB,GAAqC,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE;;YACvF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE;oBACxC,gBAAgB,GAAG,IAAI,CAAC;iBAC3B;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE;oBAC7C,gDAAgD;oBAChD,uDAAuD;oBACvD,IAAI,MAAA,OAAO,CAAC,EAAE,0CAAE,KAAK,CAAC,0CAA0C,CAAC,EAAE;wBAC/D,OAAO,CAAC,KAAK,CAAC,qDAAqD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;wBACjF,OAAO;qBACV;iBACJ;aACJ;YAED,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,aAAa,GAAwB;YACvC,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,oBAAoB;SAC/B,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,IAAI,IAAI,EAAE;YACN,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;SAC7B;QAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAA,WAAW,CAAC,UAAU,2DAAI,CAAC;QAC1C,IAAI,MAAM,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;QACjD,IAAI,eAAe,EAAE;YACjB,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;YACrC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAO,SAAS,EAAE,EAAE;gBAC5C,IAAI;oBACA,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACtC,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;iBACxC;gBAAC,WAAM;oBACJ,+CAA+C;iBAClD;YACL,CAAC,CAAA,CAAC,CAAC,CAAC;YACJ,MAAM,kBAAE,CAAC,SAAS,CAAC,cAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YAChD,MAAM,kBAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;SACjF;QAED,MAAM,MAAM,GAAuB;YAC/B,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,EAAE;YACX,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,KAAK;SAC1B,CAAC;QAEF,MAAM,mBAAmB,GAAyB;YAC9C,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,IAAI,EAAE,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACnD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,gCAAgC;YAChC,8CAA8C;SACjD,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAElE,MAAM,gBAAgB,GAA2B,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE;YACtC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;oBAC9B,IAAI,SAAS,IAAI,aAAa,IAAI,SAAS,KAAK,IAAI,EAAE;wBAClD,gBAAgB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;qBACjD;iBACJ;aACJ;SACJ;QAED,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAEhD,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE;YACtC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC7D,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAClD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;gBAChD,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;aAC1E;SACJ;QAED,MAAM,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAE3C,OAAO,MAAM,CAAC;;CACjB;AA9YD,sCA8YC"}
@@ -0,0 +1,58 @@
1
+ import { rollup as Bundler } from "../../../../bundler/lib/index.d.ts";
2
+ import rollup = Bundler.core;
3
+ /**
4
+ * This plugin enable to load script or wasm with url based on 'external://' origin.
5
+ */
6
+ export declare function externalWasmLoader(options: externalWasmLoader.Options): rollup.Plugin;
7
+ export declare namespace externalWasmLoader {
8
+ interface Options {
9
+ /**
10
+ * The root path of external repository
11
+ */
12
+ externalRoot: string;
13
+ /**
14
+ * The wasm support mode:
15
+ * 0. not support
16
+ * 1. support
17
+ * 2. maybe support
18
+ */
19
+ wasmSupportMode: number;
20
+ /**
21
+ * Whether need a fallback of wasm.
22
+ * If true, we need to build a wasm fallback module for the compatibility of wasm files compiled by different version of emscripten.
23
+ */
24
+ wasmFallback: boolean;
25
+ /**
26
+ * Whether force banning to emit bullet wasm.
27
+ */
28
+ forceBanningBulletWasm: boolean;
29
+ /**
30
+ * Whether cull asm js module.
31
+ */
32
+ cullAsmJsModule: boolean;
33
+ /**
34
+ * Build external wasm module as minigame subpackage.
35
+ * This feature is for minigame platforms.
36
+ */
37
+ wasmSubpackage: boolean;
38
+ format?: Format;
39
+ }
40
+ /**
41
+ * How to generate the reference to external assets:
42
+ * - `'relative-from-out'`
43
+ * Generate the path relative from `out` directory, does not contain the leading './'.
44
+ *
45
+ * - `'relative-from-chunk'`
46
+ * Generate the path relative from the referencing output chunk.
47
+ *
48
+ * - `'dynamic'`(default)
49
+ * Use runtime `URL` API to resolve the absolute URL.
50
+ * This requires `URL` and `import.meta.url` to be valid.
51
+ */
52
+ type Format = 'relative-from-out' | 'relative-from-chunk' | 'runtime-resolved';
53
+ }
54
+ /**
55
+ * Convert the file path to asset ref URL.
56
+ * @param file File path in absolute.
57
+ */
58
+ export declare function pathToAssetRefURL(file: string): string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-wasm-loader.d.ts","sourceRoot":"","sources":["../../../src/engine-js/rollup-plugins/external-wasm-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAWrD,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;AAwN7B;;GAEG;AACH,wBAAgB,kBAAkB,CAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAuEtF;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IACxC,UAAiB,OAAO;QACpB;;WAEG;QACH,YAAY,EAAE,MAAM,CAAC;QACrB;;;;;WAKG;QACH,eAAe,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,YAAY,EAAE,OAAO,CAAC;QACtB;;WAEG;QACH,sBAAsB,EAAE,OAAO,CAAC;QAChC;;WAEG;QACH,eAAe,EAAE,OAAO,CAAC;QACzB;;;WAGG;QACH,cAAc,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;IAED;;;;;;;;;;;OAWG;IACH,KAAY,MAAM,GACZ,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,MAAM,UAE9C"}