@cocos/ccbuild 2.1.0 → 2.2.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 (30) hide show
  1. package/modules/build-engine/lib/engine-js/index.js +302 -331
  2. package/modules/build-engine/lib/engine-js/index.js.map +1 -1
  3. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js +89 -130
  4. package/modules/build-engine/lib/engine-js/rollup-plugins/external-wasm-loader.js.map +1 -1
  5. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.js +2 -31
  6. package/modules/build-engine/lib/engine-js/rollup-plugins/module-query-plugin.js.map +1 -1
  7. package/modules/build-engine/lib/engine-ts/engine-builder.js +416 -461
  8. package/modules/build-engine/lib/engine-ts/engine-builder.js.map +1 -1
  9. package/modules/build-engine/lib/engine-ts/index.js +19 -48
  10. package/modules/build-engine/lib/engine-ts/index.js.map +1 -1
  11. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js +31 -64
  12. package/modules/build-engine/lib/engine-ts/plugins/external-wasm-loader.js.map +1 -1
  13. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.js +5 -34
  14. package/modules/build-engine/lib/engine-ts/plugins/module-query-plugin.js.map +1 -1
  15. package/modules/build-engine/lib/engine-ts/plugins/node-module-loader.js +28 -59
  16. package/modules/build-engine/lib/engine-ts/plugins/node-module-loader.js.map +1 -1
  17. package/modules/build-engine/lib/index.d.ts.map +1 -1
  18. package/modules/build-engine/lib/index.js +61 -81
  19. package/modules/build-engine/lib/index.js.map +1 -1
  20. package/modules/dts-bundler/lib/index.js +236 -265
  21. package/modules/dts-bundler/lib/index.js.map +1 -1
  22. package/modules/modularize/lib/module-query.js +153 -198
  23. package/modules/modularize/lib/module-query.js.map +1 -1
  24. package/modules/stats-query/lib/index.d.ts +5 -1
  25. package/modules/stats-query/lib/index.d.ts.map +1 -1
  26. package/modules/stats-query/lib/index.js +48 -81
  27. package/modules/stats-query/lib/index.js.map +1 -1
  28. package/modules/utils/lib/path.js +8 -37
  29. package/modules/utils/lib/path.js.map +1 -1
  30. package/package.json +1 -1
@@ -1,32 +1,5 @@
1
1
  "use strict";
2
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
3
  var __importDefault = this && this.__importDefault || function (mod) {
31
4
  return mod && mod.__esModule ? mod : {
32
5
  "default": mod
@@ -48,8 +21,21 @@ function applyDefaultOptions(options) {
48
21
  var _a;
49
22
  (_a = options.preserveType) !== null && _a !== void 0 ? _a : options.preserveType = false;
50
23
  options.loose = true; // force using true
24
+ if (!options.flags) {
25
+ options.flags = {};
26
+ }
27
+ switch (options.nativeCodeBundleMode) {
28
+ case 'asmjs':
29
+ options.flags.NATIVE_CODE_BUNDLE_MODE = 0;
30
+ break;
31
+ case 'wasm':
32
+ options.flags.NATIVE_CODE_BUNDLE_MODE = 1;
33
+ break;
34
+ default:
35
+ options.flags.NATIVE_CODE_BUNDLE_MODE = 2;
36
+ break;
37
+ }
51
38
  }
52
-
53
39
  function moduleOptionsToBabelEnvModules(moduleOptions) {
54
40
  switch (moduleOptions) {
55
41
  case 'cjs':
@@ -67,75 +53,69 @@ function moduleOptionsToBabelEnvModules(moduleOptions) {
67
53
  /**
68
54
  * @group Merged Types
69
55
  */
70
- function buildEngine(options) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- applyDefaultOptions(options);
73
- if (verifyCache(options)) {
74
- throw 'TODO';
75
- }
76
- if (options.platform === 'OPEN_HARMONY') {
77
- if (options.preserveType) {
78
- // we use a custom engine builder for OPEN_HARMONY platform when enable preserveType option.
79
- return (0, engine_ts_1.buildTsEngine)(options);
80
- } else {
81
- return (0, engine_js_1.buildJsEngine)(options);
82
- }
56
+ async function buildEngine(options) {
57
+ applyDefaultOptions(options);
58
+ if (verifyCache(options)) {
59
+ throw 'TODO';
60
+ }
61
+ if (options.platform === 'OPEN_HARMONY') {
62
+ if (options.preserveType) {
63
+ // we use a custom engine builder for OPEN_HARMONY platform when enable preserveType option.
64
+ return (0, engine_ts_1.buildTsEngine)(options);
83
65
  } else {
84
- if (options.preserveType) {
85
- console.warn(`Currently we haven't support building ts engine on the platform ${options.platform}`);
86
- }
87
66
  return (0, engine_js_1.buildJsEngine)(options);
88
67
  }
89
- });
68
+ } else {
69
+ if (options.preserveType) {
70
+ console.warn(`Currently we haven't support building ts engine on the platform ${options.platform}`);
71
+ }
72
+ return (0, engine_js_1.buildJsEngine)(options);
73
+ }
90
74
  }
91
75
  exports.buildEngine = buildEngine;
92
76
  /**
93
77
  * @group Merged Types
94
78
  */
95
79
  (function (buildEngine) {
96
- function transform(code, moduleOption, loose) {
97
- return __awaiter(this, void 0, void 0, function* () {
98
- const babelFormat = moduleOptionsToBabelEnvModules(moduleOption);
99
- const babelFileResult = yield transformer_1.babel.core.transformAsync(code, {
100
- presets: [[transformer_1.babel.presets.presetEnv, {
101
- modules: babelFormat,
102
- loose: loose !== null && loose !== void 0 ? loose : true
103
- }]]
104
- });
105
- if (!babelFileResult || !babelFileResult.code) {
106
- throw new Error('Failed to transform!');
107
- }
108
- return {
109
- code: babelFileResult.code
110
- };
80
+ async function transform(code, moduleOption, loose) {
81
+ const babelFormat = moduleOptionsToBabelEnvModules(moduleOption);
82
+ const babelFileResult = await transformer_1.babel.core.transformAsync(code, {
83
+ presets: [[transformer_1.babel.presets.presetEnv, {
84
+ modules: babelFormat,
85
+ loose: loose !== null && loose !== void 0 ? loose : true
86
+ }]]
111
87
  });
88
+ if (!babelFileResult || !babelFileResult.code) {
89
+ throw new Error('Failed to transform!');
90
+ }
91
+ return {
92
+ code: babelFileResult.code
93
+ };
112
94
  }
113
95
  buildEngine.transform = transform;
114
- function isSourceChanged(incrementalFile) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- let record;
96
+ async function isSourceChanged(incrementalFile) {
97
+ let record;
98
+ try {
99
+ record = await fs_extra_1.default.readJSON(incrementalFile);
100
+ } catch (_a) {
101
+ console.debug(`Failed to read incremental file: ${incrementalFile} - rebuild is needed.`);
102
+ return true;
103
+ }
104
+ for (const file of Object.keys(record)) {
105
+ const mtime = record[file];
117
106
  try {
118
- record = yield fs_extra_1.default.readJSON(incrementalFile);
119
- } catch (_a) {
120
- console.debug(`Failed to read incremental file: ${incrementalFile} - rebuild is needed.`);
121
- return true;
122
- }
123
- for (const file of Object.keys(record)) {
124
- const mtime = record[file];
125
- try {
126
- /* eslint-disable-next-line no-await-in-loop */
127
- const mtimeNow = (yield fs_extra_1.default.stat(file)).mtimeMs;
128
- if (mtimeNow !== mtime) {
129
- console.debug(`Source ${file} in watch files record ${incrementalFile} has a different time stamp - rebuild is needed.`);
130
- return true;
131
- }
132
- } catch (_b) {
133
- console.debug(`Failed to read source ${file} in watch files record ${incrementalFile} - rebuild is needed.`);
107
+ /* eslint-disable-next-line no-await-in-loop */
108
+ const mtimeNow = (await fs_extra_1.default.stat(file)).mtimeMs;
109
+ if (mtimeNow !== mtime) {
110
+ console.debug(`Source ${file} in watch files record ${incrementalFile} has a different time stamp - rebuild is needed.`);
134
111
  return true;
135
112
  }
113
+ } catch (_b) {
114
+ console.debug(`Failed to read source ${file} in watch files record ${incrementalFile} - rebuild is needed.`);
115
+ return true;
136
116
  }
137
- return false;
138
- });
117
+ }
118
+ return false;
139
119
  }
140
120
  buildEngine.isSourceChanged = isSourceChanged;
141
121
  // eslint-disable-next-line no-inner-declarations
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}