@cocos/ccbuild 2.0.3-alpha.0 → 2.0.3-alpha.10

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 (98) hide show
  1. package/CHANGELOG.md +269 -0
  2. package/README.md +16 -37
  3. package/lib/src/index.d.ts +5 -1
  4. package/lib/src/index.d.ts.map +1 -1
  5. package/lib/src/index.js +5 -1
  6. package/lib/src/index.js.map +1 -1
  7. package/modules/build-engine/lib/build-dts.d.ts +7 -0
  8. package/modules/build-engine/lib/build-dts.d.ts.map +1 -0
  9. package/modules/build-engine/lib/build-dts.js +297 -0
  10. package/modules/build-engine/lib/build-dts.js.map +1 -0
  11. package/modules/build-engine/lib/engine-js/index.d.ts.map +1 -1
  12. package/modules/build-engine/lib/engine-js/index.js +11 -2
  13. package/modules/build-engine/lib/engine-js/index.js.map +1 -1
  14. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.d.ts +33 -33
  15. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.d.ts.map +1 -1
  16. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js +72 -43
  17. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js.map +1 -1
  18. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.d.ts +4 -0
  19. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.d.ts.map +1 -0
  20. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.js +43 -0
  21. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.js.map +1 -0
  22. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.d.ts.map +1 -1
  23. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.js +8 -7
  24. package/modules/build-engine/lib/engine-js/rollup-plugins/ts-paths.js.map +1 -1
  25. package/modules/build-engine/lib/engine-ts/engine-builder.d.ts +1 -1
  26. package/modules/build-engine/lib/engine-ts/engine-builder.d.ts.map +1 -1
  27. package/modules/build-engine/lib/engine-ts/engine-builder.js +32 -44
  28. package/modules/build-engine/lib/engine-ts/engine-builder.js.map +1 -1
  29. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.d.ts.map +1 -1
  30. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js +20 -3
  31. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js.map +1 -1
  32. package/modules/build-engine/lib/engine-ts/plugins/interface.d.ts +14 -14
  33. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.d.ts +3 -0
  34. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.d.ts.map +1 -0
  35. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.js +52 -0
  36. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.js.map +1 -0
  37. package/modules/build-engine/lib/engine-ts/plugins/node-module-loader.d.ts.map +1 -1
  38. package/modules/build-engine/lib/engine-ts/plugins/node-module-loader.js +3 -2
  39. package/modules/build-engine/lib/engine-ts/plugins/node-module-loader.js.map +1 -1
  40. package/modules/build-engine/lib/index.d.ts +98 -86
  41. package/modules/build-engine/lib/index.d.ts.map +1 -1
  42. package/modules/build-engine/lib/index.js +69 -38
  43. package/modules/build-engine/lib/index.js.map +1 -1
  44. package/modules/dts-bundler/lib/index.d.ts +5 -0
  45. package/modules/dts-bundler/lib/index.d.ts.map +1 -0
  46. package/modules/dts-bundler/lib/index.js +344 -0
  47. package/modules/dts-bundler/lib/index.js.map +1 -0
  48. package/modules/modularize/lib/index.d.ts +3 -20
  49. package/modules/modularize/lib/index.d.ts.map +1 -1
  50. package/modules/modularize/lib/index.js +20 -75
  51. package/modules/modularize/lib/index.js.map +1 -1
  52. package/modules/modularize/lib/module-config.d.ts +134 -0
  53. package/modules/modularize/lib/module-config.d.ts.map +1 -0
  54. package/modules/modularize/lib/module-config.js +6 -0
  55. package/modules/modularize/lib/module-config.js.map +1 -0
  56. package/modules/modularize/lib/module-config.schema.json +425 -0
  57. package/modules/modularize/lib/module-query.d.ts +55 -0
  58. package/modules/modularize/lib/module-query.d.ts.map +1 -0
  59. package/modules/modularize/lib/module-query.js +207 -0
  60. package/modules/modularize/lib/module-query.js.map +1 -0
  61. package/modules/modularize/lib/platform-config.d.ts +43 -0
  62. package/modules/modularize/lib/platform-config.d.ts.map +1 -0
  63. package/modules/modularize/lib/platform-config.js +52 -0
  64. package/modules/modularize/lib/platform-config.js.map +1 -0
  65. package/modules/stats-query/lib/cc.config.schema.json +216 -0
  66. package/modules/stats-query/lib/config-interface.d.ts +61 -61
  67. package/modules/stats-query/lib/config-interface.js +1 -1
  68. package/modules/stats-query/lib/config-interface.js.map +1 -1
  69. package/modules/stats-query/lib/index.d.ts +62 -73
  70. package/modules/stats-query/lib/index.d.ts.map +1 -1
  71. package/modules/stats-query/lib/index.js +43 -38
  72. package/modules/stats-query/lib/index.js.map +1 -1
  73. package/modules/transformer/lib/babel/plugins.d.ts +1 -0
  74. package/modules/transformer/lib/babel/plugins.d.ts.map +1 -1
  75. package/modules/transformer/lib/babel/plugins.js +2 -4
  76. package/modules/transformer/lib/babel/plugins.js.map +1 -1
  77. package/modules/transformer/lib/index.d.ts +2 -1
  78. package/modules/transformer/lib/index.d.ts.map +1 -1
  79. package/modules/transformer/lib/index.js +4 -2
  80. package/modules/transformer/lib/index.js.map +1 -1
  81. package/modules/transformer/lib/typescript/index.d.ts +2 -0
  82. package/modules/transformer/lib/typescript/index.d.ts.map +1 -0
  83. package/modules/transformer/lib/typescript/index.js +39 -0
  84. package/modules/transformer/lib/typescript/index.js.map +1 -0
  85. package/modules/transformer/static/types-polyfill.d.ts +18 -0
  86. package/modules/utils/lib/index.d.ts +3 -1
  87. package/modules/utils/lib/index.d.ts.map +1 -1
  88. package/modules/utils/lib/index.js +61 -4
  89. package/modules/utils/lib/index.js.map +1 -1
  90. package/modules/utils/lib/path.d.ts +5 -0
  91. package/modules/utils/lib/path.d.ts.map +1 -1
  92. package/modules/utils/lib/path.js +21 -4
  93. package/modules/utils/lib/path.js.map +1 -1
  94. package/package.json +26 -20
  95. package/static/helper-dynamic-constants.txt +13 -13
  96. package/static/helper-file-decorator.ts +20 -20
  97. package/static/helper-global-exporter.txt +8 -8
  98. package/static/lib.dom.d.ts +2330 -2330
@@ -73,12 +73,13 @@ const transformer_1 = require("../../../transformer/lib/index.js");
73
73
  const stats_query_1 = require("../../../stats-query/lib/index.js");
74
74
  const utils_1 = require("../../../utils/lib/index.js");
75
75
  const json5 = __importStar(require("json5"));
76
- const eslint_1 = require("eslint");
77
76
  const dedent_1 = __importDefault(require("dedent"));
78
77
  const glob_1 = require("glob");
79
78
  const field_decorator_helper_1 = require("./field-decorator-helper");
80
79
  const external_wasm_loader_1 = require("./plugins/external-wasm-loader");
81
80
  const node_module_loader_1 = require("./plugins/node-module-loader");
81
+ const module_query_plugin_1 = require("./plugins/module-query-plugin");
82
+ const modularize_1 = require("../../../modularize/lib/index.js");
82
83
  var babel = transformer_1.babel.core;
83
84
  var t = babel.types;
84
85
  var traverse = babel.traverse;
@@ -102,6 +103,7 @@ class EngineBuilder {
102
103
  this._fieldDecoratorHelper = new field_decorator_helper_1.FieldDecoratorHelper();
103
104
  this._plugins = [];
104
105
  this._excludeTransform = [/native\/external\//];
106
+ this._handledCache = {};
105
107
  }
106
108
  build(options) {
107
109
  return __awaiter(this, void 0, void 0, function* () {
@@ -112,11 +114,13 @@ class EngineBuilder {
112
114
  const handleIdList = idList => __awaiter(this, void 0, void 0, function* () {
113
115
  for (const id of idList) {
114
116
  const handleResult = yield this._handleId(id);
115
- this._buildResult[handleResult.file] = handleResult;
117
+ if (handleResult) {
118
+ this._buildResult[handleResult.file] = handleResult;
119
+ }
116
120
  }
117
121
  });
118
- this._initPlugins(options);
119
122
  yield this._initOptions(options);
123
+ yield this._initPlugins(options);
120
124
  for (const plugin of this._plugins) {
121
125
  if (plugin.buildStart) {
122
126
  yield plugin.buildStart();
@@ -130,6 +134,7 @@ class EngineBuilder {
130
134
  // pass2: build web version for jsb type declarations
131
135
  console.log('[Build Engine]: pass2 - apply jsb interface info');
132
136
  console.time('pass2');
137
+ this._handledCache = {}; // clear cache
133
138
  while (this._entriesForPass2.size !== 0) {
134
139
  const entries2 = Array.from(this._entriesForPass2);
135
140
  this._entriesForPass2.clear();
@@ -139,7 +144,7 @@ class EngineBuilder {
139
144
  }
140
145
  return result;
141
146
  }, {});
142
- handleIdList(entries2);
147
+ yield handleIdList(entries2);
143
148
  }
144
149
  console.timeEnd('pass2');
145
150
  if (options.outDir) {
@@ -148,11 +153,6 @@ class EngineBuilder {
148
153
  const output = ps.join(options.outDir, ps.relative(root, file));
149
154
  fs.outputFileSync(output, res.code, 'utf8');
150
155
  }
151
- // pass3: post handle to lint import
152
- console.log('[Build Engine]: pass3 - linting import statement');
153
- console.time('pass3');
154
- yield this._lintImport([(0, utils_1.formatPath)(ps.join(options.outDir, '**/*.ts'))]);
155
- console.timeEnd('pass3');
156
156
  this._buildIndex();
157
157
  yield this._copyTypes();
158
158
  }
@@ -165,10 +165,16 @@ class EngineBuilder {
165
165
  });
166
166
  }
167
167
  _initPlugins(options) {
168
- this._plugins.push((0, node_module_loader_1.nodeModuleLoaderFactory)(), (0, external_wasm_loader_1.externalWasmLoaderFactory)({
169
- engineRoot: options.root,
170
- outDir: options.outDir
171
- }));
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ const moduleQuery = new modularize_1.ModuleQuery({
170
+ engine: options.root,
171
+ platform: options.platform
172
+ });
173
+ this._plugins.push((0, module_query_plugin_1.moduleQueryPlugin)(moduleQuery), (0, node_module_loader_1.nodeModuleLoaderFactory)(), (0, external_wasm_loader_1.externalWasmLoaderFactory)({
174
+ engineRoot: options.root,
175
+ outDir: options.outDir
176
+ }));
177
+ });
172
178
  }
173
179
  _initOptions(options) {
174
180
  var _a;
@@ -224,17 +230,22 @@ class EngineBuilder {
224
230
  }
225
231
  });
226
232
  }
227
- _handleId(id, importer) {
233
+ _handleId(idOrSource, importer) {
228
234
  return __awaiter(this, void 0, void 0, function* () {
229
- const resolvedId = yield this._resolve(id, importer);
235
+ const resolvedId = yield this._resolve(idOrSource, importer);
230
236
  if (typeof resolvedId === 'undefined') {
231
- throw new Error(`Cannot resolve module id: ${id} ${importer ? `in file ${importer}` : ''}`);
237
+ throw new Error(`Cannot resolve module: ${idOrSource} ${importer ? `in file ${importer}` : ''}`);
232
238
  }
239
+ // In case circular reference
240
+ if (this._handledCache[resolvedId]) {
241
+ return;
242
+ }
243
+ this._handledCache[resolvedId] = true;
233
244
  const code = yield this._load(resolvedId);
234
245
  if (typeof code === 'undefined') {
235
246
  throw new Error(`Cannot load module: ${resolvedId} ${importer ? `in file ${importer}` : ''}`);
236
247
  }
237
- const overrideId = this._getOverrideId(id, importer);
248
+ const overrideId = this._getOverrideId(idOrSource, importer);
238
249
  // handle output file
239
250
  let file = overrideId || resolvedId;
240
251
  if (file.endsWith('.json')) {
@@ -253,7 +264,7 @@ class EngineBuilder {
253
264
  const handleResult = this._buildResult[file] = {
254
265
  code: transformResult.code,
255
266
  file,
256
- originalId: id,
267
+ originalId: idOrSource,
257
268
  resolvedId,
258
269
  map: transformResult.map
259
270
  };
@@ -567,31 +578,6 @@ class EngineBuilder {
567
578
  };
568
579
  });
569
580
  }
570
- _lintImport(lintFiles, verbose = false) {
571
- return __awaiter(this, void 0, void 0, function* () {
572
- const eslint = new eslint_1.ESLint({
573
- fix: true,
574
- cwd: __dirname,
575
- resolvePluginsRelativeTo: __dirname,
576
- useEslintrc: false,
577
- baseConfig: {
578
- parser: '@typescript-eslint/parser',
579
- plugins: ['@typescript-eslint', 'unused-imports'],
580
- rules: {
581
- '@typescript-eslint/consistent-type-imports': 'error',
582
- 'unused-imports/no-unused-imports': 'error'
583
- }
584
- }
585
- });
586
- const results = yield eslint.lintFiles(lintFiles);
587
- yield eslint_1.ESLint.outputFixes(results);
588
- if (verbose) {
589
- const formatter = yield eslint.loadFormatter();
590
- const resultText = formatter.format(results);
591
- console.log(resultText);
592
- }
593
- });
594
- }
595
581
  _buildIndex() {
596
582
  const {
597
583
  outDir,
@@ -633,7 +619,9 @@ class EngineBuilder {
633
619
  if (!outDir) {
634
620
  return;
635
621
  }
636
- const dtsFiles = glob_1.glob.sync((0, utils_1.formatPath)(ps.join(root, './@types/**/*.d.ts')));
622
+ let dtsFiles = glob_1.glob.sync((0, utils_1.formatPath)(ps.join(root, './@types/**/*.d.ts')));
623
+ const externalDtsFiles = glob_1.glob.sync((0, utils_1.formatPath)(ps.join(root, './native/external/**/*.d.ts')));
624
+ dtsFiles = dtsFiles.concat(externalDtsFiles);
637
625
  for (const file of dtsFiles) {
638
626
  const code = fs.readFileSync(file, 'utf8');
639
627
  const relativePath = ps.relative(root, file);
@@ -1 +1 @@
1
- {"version":3,"file":"engine-builder.js","sourceRoot":"","sources":["../../src/engine-ts/engine-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-builder.js","sourceRoot":"","sources":["../../src/engine-ts/engine-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-wasm-loader.d.ts","sourceRoot":"","sources":["../../../src/engine-ts/plugins/external-wasm-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiG9C,wBAAgB,yBAAyB,CAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,GAAG,eAAe,CA8CtG;AAED,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IAC/C,UAAiB,OAAO;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;CACJ"}
1
+ {"version":3,"file":"external-wasm-loader.d.ts","sourceRoot":"","sources":["../../../src/engine-ts/plugins/external-wasm-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkH9C,wBAAgB,yBAAyB,CAAE,OAAO,EAAE,yBAAyB,CAAC,OAAO,GAAG,eAAe,CA8CtG;AAED,MAAM,CAAC,OAAO,WAAW,yBAAyB,CAAC;IAC/C,UAAiB,OAAO;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;CACJ"}
@@ -66,6 +66,9 @@ const fs = __importStar(require("fs-extra"));
66
66
  const path_1 = require("path");
67
67
  const crypto_1 = require("crypto");
68
68
  const utils_1 = require("../../../../utils/lib/index.js");
69
+ const bundler_1 = require("../../../../bundler/lib/index.js");
70
+ var rollup = bundler_1.rollup.core;
71
+ const rpCjs = bundler_1.rollup.plugins.commonjs;
69
72
  const externalOrigin = 'external:';
70
73
  function resolveExternalProtocol(options, source) {
71
74
  return path_1.posix.join(options.engineRoot, source.replace(externalOrigin, 'native/external/'));
@@ -109,7 +112,7 @@ const loadConfig = {
109
112
  shouldEmitAsset(options, id) {
110
113
  return false;
111
114
  },
112
- cullingContent: `export default function () {}`
115
+ cullingContent: `let $: any;export default $;`
113
116
  },
114
117
  '.asm.js': {
115
118
  shouldCullModule(options, id) {
@@ -142,6 +145,20 @@ const loadConfig = {
142
145
  cullingContent: `export default function () {}`
143
146
  }
144
147
  };
148
+ // NOTE: we use rollup to transform CommonJS to ES Module.
149
+ function _transformESM(id) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const res = yield rollup.rollup({
152
+ input: id,
153
+ plugins: [rpCjs()]
154
+ });
155
+ const output = yield res.generate({
156
+ format: 'esm'
157
+ });
158
+ yield res.close();
159
+ return '// @ts-nocheck\n' + output.output[0].code;
160
+ });
161
+ }
145
162
  function externalWasmLoaderFactory(options) {
146
163
  const id2Source = {};
147
164
  const source2Id = {};
@@ -168,7 +185,7 @@ function externalWasmLoaderFactory(options) {
168
185
  } else if (config.shouldEmitAsset(options, id)) {
169
186
  return emitAsset(options, id);
170
187
  } else {
171
- return fs.readFileSync(id, 'utf8');
188
+ return yield _transformESM(id);
172
189
  }
173
190
  }
174
191
  }
@@ -181,7 +198,7 @@ function externalWasmLoaderFactory(options) {
181
198
  if (source in source2Id) {
182
199
  let id = source2Id[source];
183
200
  const shasum = (0, crypto_1.createHash)('sha1');
184
- shasum.update(fs.readFileSync(id));
201
+ shasum.update(fs.readFileSync(id, 'utf8').replace(/\r\n/g, '\n'));
185
202
  const hash = shasum.digest('hex').slice(0, 5);
186
203
  id = `${id}.${hash}.ts`;
187
204
  return id;
@@ -1 +1 @@
1
- {"version":3,"file":"external-wasm-loader.js","sourceRoot":"","sources":["../../../src/engine-ts/plugins/external-wasm-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,+BAAmC;AACnC,mCAAoC;AAEpC,0CAA4C;AAE5C,MAAM,cAAc,GAAG,WAAW,CAAC;AACnC,SAAS,uBAAuB,CAAE,OAA0C,EAAE,MAAc;IACxF,OAAO,YAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,SAAS,CAAE,OAA0C,EAAE,EAAU;IACtE,IAAI,OAAO,CAAC,MAAM,EAAE;QAChB,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,YAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,YAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjD,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,mBAAmB,IAAI,IAAI,CAAC;KACtC;IACD,OAAO,iDAAiD,CAAC;AAC7D,CAAC;AAuBD,MAAM,UAAU,GAAgB;IAC5B,OAAO,EAAE;QACL,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,IAAI,CAAC,CAAE,mCAAmC;QACrD,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,cAAc,EAAE,oBAAoB;KACvC;IACD,SAAS,EAAE;QACP,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,KAAK,CAAC,CAAE,wCAAwC;QAC3D,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,cAAc,EAAE,oBAAoB;KACvC;IACD,UAAU,EAAE;QACR,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,IAAI,CAAC,CAAE,mCAAmC;QACrD,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,cAAc,EAAE,+BAA+B;KAClD;IACD,SAAS,EAAE;QACP,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,KAAK,CAAC,CAAE,wCAAwC;QAC3D,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,cAAc,EAAE,+BAA+B;KAClD;IACD,gBAAgB,EAAE;QACd,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,IAAI,CAAC,CAAE,qDAAqD;QACvE,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,cAAc,EAAE,oBAAoB;KACvC;IACD,mBAAmB,EAAE;QACjB,gBAAgB,CAAE,OAA0C,EAAE,EAAU;YACpE,OAAO,IAAI,CAAC,CAAE,qDAAqD;QACvE,CAAC;QACD,eAAe,CAAE,OAA0C,EAAE,EAAU;YACnE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,cAAc,EAAE,+BAA+B;KAClD;CACJ,CAAC;AAEF,SAAgB,yBAAyB,CAAE,OAA0C;IACjF,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,kBAAkB,GAAoB;QAClC,OAAO,CAAE,MAAc,EAAE,QAAiB;;gBAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;oBACnC,MAAM,EAAE,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACpD,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;oBACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC;iBACb;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC;SAAA;QAEK,IAAI,CAAE,EAAU;;gBAClB,IAAI,EAAE,IAAI,SAAS,EAAE;oBACjB,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE;wBAC7B,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;4BACrB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;4BAClC,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;gCACtC,OAAO,MAAM,CAAC,cAAc,CAAC;6BAChC;iCAAM,IAAI,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;gCAC5C,OAAO,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;6BACjC;iCAAM;gCACH,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;6BACtC;yBACJ;qBACJ;oBACD,WAAW;oBACX,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;iBACtC;YACL,CAAC;SAAA;QAED,WAAW,CAAE,MAAc,EAAE,QAAiB;YAC1C,IAAI,MAAM,IAAI,SAAS,EAAE;gBACrB,IAAI,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,EAAE,GAAG,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC;gBACxB,OAAO,EAAE,CAAC;aACb;QACL,CAAC;KACJ,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AA9CD,8DA8CC"}
1
+ {"version":3,"file":"external-wasm-loader.js","sourceRoot":"","sources":["../../../src/engine-ts/plugins/external-wasm-loader.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
1
1
  export interface ITsEnginePlugin {
2
2
  buildStart?(): Promise<void>;
3
- /**
4
- * The hook to resolve id, return `null` if this plugin cannot handle this script.
5
- * This hook is to transform source to id, which is the exact file path we read from.
6
- * @param source
7
- * @param importer
3
+ /**
4
+ * The hook to resolve id, return `null` if this plugin cannot handle this script.
5
+ * This hook is to transform source to id, which is the exact file path we read from.
6
+ * @param source
7
+ * @param importer
8
8
  */
9
9
  resolve?(source: string, importer?: string): Promise<string | void>;
10
- /**
11
- * The hook to load script, return `null` if this plugin cannot handle this script.
12
- * This hook decide how we load the script content from the module id.
13
- * @param id
10
+ /**
11
+ * The hook to load script, return `null` if this plugin cannot handle this script.
12
+ * This hook decide how we load the script content from the module id.
13
+ * @param id
14
14
  */
15
15
  load?(id: string): Promise<string | void>;
16
- /**
17
- * The hook to transform id, return the absolute file path or null.
18
- * This hook is to transform module source to an override module id, which is for the output module id.
19
- * This output module id would also affect the import relative path in the output module.
20
- * @param source
16
+ /**
17
+ * The hook to transform id, return the absolute file path or null.
18
+ * This hook is to transform module source to an override module id, which is for the output module id.
19
+ * This output module id would also affect the import relative path in the output module.
20
+ * @param source
21
21
  */
22
22
  transformId?(source: string, importer?: string): string | void;
23
23
  buildEnd?(): Promise<void>;
@@ -0,0 +1,3 @@
1
+ import { ModuleQuery } from "../../../../modularize/lib/index";
2
+ import { ITsEnginePlugin } from './interface';
3
+ export declare function moduleQueryPlugin(moduleQuery: ModuleQuery): ITsEnginePlugin;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-query-plugin.d.ts","sourceRoot":"","sources":["../../../src/engine-ts/plugins/module-query-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,iBAAiB,CAAE,WAAW,EAAE,WAAW,GAAG,eAAe,CAgB5E"}
@@ -0,0 +1,52 @@
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
+ Object.defineProperty(exports, "__esModule", {
31
+ value: true
32
+ });
33
+ exports.moduleQueryPlugin = void 0;
34
+ function moduleQueryPlugin(moduleQuery) {
35
+ const resolvedMap = {};
36
+ return {
37
+ resolve(source, importer) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const resolvedModule = yield moduleQuery.resolveExport(source);
40
+ if (resolvedModule) {
41
+ return resolvedMap[source] = resolvedModule;
42
+ }
43
+ });
44
+ },
45
+ transformId(source, importer) {
46
+ if (resolvedMap[source]) {
47
+ return resolvedMap[source];
48
+ }
49
+ }
50
+ };
51
+ }
52
+ exports.moduleQueryPlugin = moduleQueryPlugin;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-query-plugin.js","sourceRoot":"","sources":["../../../src/engine-ts/plugins/module-query-plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,SAAgB,iBAAiB,CAAE,WAAwB;IACvD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,OAAO;QACG,OAAO,CAAE,MAAM,EAAE,QAAQ;;gBAC3B,MAAM,cAAc,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC/D,IAAI,cAAc,EAAE;oBAChB,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;iBAC/C;YACL,CAAC;SAAA;QAED,WAAW,CAAE,MAAM,EAAE,QAAQ;YACzB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;gBACrB,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;aAC9B;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAhBD,8CAgBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-module-loader.d.ts","sourceRoot":"","sources":["../../../src/engine-ts/plugins/node-module-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsB9C,wBAAgB,uBAAuB,IAAK,eAAe,CAuD1D"}
1
+ {"version":3,"file":"node-module-loader.d.ts","sourceRoot":"","sources":["../../../src/engine-ts/plugins/node-module-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuB9C,wBAAgB,uBAAuB,IAAK,eAAe,CAmD1D"}
@@ -35,6 +35,7 @@ const bundler_1 = require("../../../../bundler/lib/index.js");
35
35
  var rollup = bundler_1.rollup.core;
36
36
  var rpCjs = bundler_1.rollup.plugins.commonjs;
37
37
  var rpNodeResolve = bundler_1.rollup.plugins.nodeResolve;
38
+ const utils_1 = require("../../../../utils/lib/index.js");
38
39
  function nodeModuleLoaderFactory() {
39
40
  const resolvedModuleMap = {};
40
41
  const nodeModuleLoader = {
@@ -45,9 +46,9 @@ function nodeModuleLoaderFactory() {
45
46
  if ((_a = resolvedModuleMap[source]) === null || _a === void 0 ? void 0 : _a.id) {
46
47
  return resolvedModuleMap[source].id;
47
48
  }
48
- const resolvedPath = require.resolve(source, {
49
+ const resolvedPath = (0, utils_1.formatPath)(require.resolve(source, {
49
50
  paths: [importer]
50
- });
51
+ }));
51
52
  (_b = resolvedModuleMap[source]) !== null && _b !== void 0 ? _b : resolvedModuleMap[source] = {
52
53
  id: resolvedPath
53
54
  };
@@ -1 +1 @@
1
- {"version":3,"file":"node-module-loader.js","sourceRoot":"","sources":["../../../src/engine-ts/plugins/node-module-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAqD;AAGrD,IAAO,MAAM,GAAG,gBAAO,CAAC,IAAI,CAAC;AAC7B,IAAO,KAAK,GAAG,gBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;AACxC,IAAO,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,WAAW,CAAC;AAkBnD,SAAgB,uBAAuB;IACnC,MAAM,iBAAiB,GAAsB,EAAE,CAAC;IAChD,MAAM,gBAAgB,GAAoB;QAChC,OAAO,CAAE,MAAc,EAAE,QAAiB;;;gBAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE;oBAC1C,IAAI,MAAA,iBAAiB,CAAC,MAAM,CAAC,0CAAE,EAAE,EAAE;wBAC/B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;qBACvC;oBACD,MAAM,YAAY,GAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE;wBAC1C,KAAK,EAAE;4BACH,QAAQ;yBACX;qBACJ,CAAC,CAAC;oBACH,MAAA,iBAAiB,CAAC,MAAM,qCAAxB,iBAAiB,CAAC,MAAM,IAAM;wBAC1B,EAAE,EAAE,YAAY;qBACnB,EAAC;oBACF,OAAO,YAAY,CAAC;iBACvB;;SACJ;QAEK,IAAI,CAAE,EAAU;;gBAClB,KAAK,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC1E,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE;wBAC9B,IAAI,kBAAkB,CAAC,EAAE,EAAE;4BACvB,IAAI,kBAAkB,CAAC,IAAI,EAAE;gCACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC;6BAClC;4BACD,yBAAyB;4BACzB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gCAC5B,KAAK,EAAE,kBAAkB,CAAC,EAAE;gCAC5B,OAAO,EAAE;oCACL,aAAa,EAAE;oCACf,KAAK,EAAE;iCACV;6BACJ,CAAC,CAAC;4BACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;gCACnC,MAAM,EAAE,IAAI;6BACf,CAAC,CAAC;4BACH,OAAO,kBAAkB,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC/D;qBACJ;iBACJ;YACL,CAAC;SAAA;QAED,WAAW,CAAE,MAAc,EAAE,QAAiB;YAC1C,IAAI,MAAM,IAAI,iBAAiB,EAAE;gBAC7B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,kBAAkB,CAAC,EAAE,EAAE;oBACvB,OAAO,kBAAkB,CAAC,EAAE,CAAC;iBAChC;aACJ;QACL,CAAC;KACJ,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAvDD,0DAuDC"}
1
+ {"version":3,"file":"node-module-loader.js","sourceRoot":"","sources":["../../../src/engine-ts/plugins/node-module-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAqD;AAGrD,IAAO,MAAM,GAAG,gBAAO,CAAC,IAAI,CAAC;AAC7B,IAAO,KAAK,GAAG,gBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;AACxC,IAAO,aAAa,GAAG,gBAAO,CAAC,OAAO,CAAC,WAAW,CAAC;AACnD,0CAA4C;AAkB5C,SAAgB,uBAAuB;IACnC,MAAM,iBAAiB,GAAsB,EAAE,CAAC;IAChD,MAAM,gBAAgB,GAAoB;QAChC,OAAO,CAAE,MAAc,EAAE,QAAiB;;;gBAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE;oBAC1C,IAAI,MAAA,iBAAiB,CAAC,MAAM,CAAC,0CAAE,EAAE,EAAE;wBAC/B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;qBACvC;oBACD,MAAM,YAAY,GAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACjF,MAAA,iBAAiB,CAAC,MAAM,qCAAxB,iBAAiB,CAAC,MAAM,IAAM;wBAC1B,EAAE,EAAE,YAAY;qBACnB,EAAC;oBACF,OAAO,YAAY,CAAC;iBACvB;;SACJ;QAEK,IAAI,CAAE,EAAU;;gBAClB,KAAK,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;oBAC1E,IAAI,kBAAkB,CAAC,EAAE,KAAK,EAAE,EAAE;wBAC9B,IAAI,kBAAkB,CAAC,EAAE,EAAE;4BACvB,IAAI,kBAAkB,CAAC,IAAI,EAAE;gCACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC;6BAClC;4BACD,yBAAyB;4BACzB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;gCAC5B,KAAK,EAAE,kBAAkB,CAAC,EAAE;gCAC5B,OAAO,EAAE;oCACL,aAAa,EAAE;oCACf,KAAK,EAAE;iCACV;6BACJ,CAAC,CAAC;4BACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;gCACnC,MAAM,EAAE,IAAI;6BACf,CAAC,CAAC;4BACH,OAAO,kBAAkB,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;yBAC/D;qBACJ;iBACJ;YACL,CAAC;SAAA;QAED,WAAW,CAAE,MAAc,EAAE,QAAiB;YAC1C,IAAI,MAAM,IAAI,iBAAiB,EAAE;gBAC7B,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,kBAAkB,CAAC,EAAE,EAAE;oBACvB,OAAO,kBAAkB,CAAC,EAAE,CAAC;iBAChC;aACJ;QACL,CAAC;KACJ,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAnDD,0DAmDC"}