@cocos/ccbuild 2.2.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 (27) 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.js +47 -80
  18. package/modules/build-engine/lib/index.js.map +1 -1
  19. package/modules/dts-bundler/lib/index.js +236 -265
  20. package/modules/dts-bundler/lib/index.js.map +1 -1
  21. package/modules/modularize/lib/module-query.js +153 -198
  22. package/modules/modularize/lib/module-query.js.map +1 -1
  23. package/modules/stats-query/lib/index.js +47 -80
  24. package/modules/stats-query/lib/index.js.map +1 -1
  25. package/modules/utils/lib/path.js +8 -37
  26. package/modules/utils/lib/path.js.map +1 -1
  27. 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
@@ -80,75 +53,69 @@ function moduleOptionsToBabelEnvModules(moduleOptions) {
80
53
  /**
81
54
  * @group Merged Types
82
55
  */
83
- function buildEngine(options) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- applyDefaultOptions(options);
86
- if (verifyCache(options)) {
87
- throw 'TODO';
88
- }
89
- if (options.platform === 'OPEN_HARMONY') {
90
- if (options.preserveType) {
91
- // we use a custom engine builder for OPEN_HARMONY platform when enable preserveType option.
92
- return (0, engine_ts_1.buildTsEngine)(options);
93
- } else {
94
- return (0, engine_js_1.buildJsEngine)(options);
95
- }
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);
96
65
  } else {
97
- if (options.preserveType) {
98
- console.warn(`Currently we haven't support building ts engine on the platform ${options.platform}`);
99
- }
100
66
  return (0, engine_js_1.buildJsEngine)(options);
101
67
  }
102
- });
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
+ }
103
74
  }
104
75
  exports.buildEngine = buildEngine;
105
76
  /**
106
77
  * @group Merged Types
107
78
  */
108
79
  (function (buildEngine) {
109
- function transform(code, moduleOption, loose) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
- const babelFormat = moduleOptionsToBabelEnvModules(moduleOption);
112
- const babelFileResult = yield transformer_1.babel.core.transformAsync(code, {
113
- presets: [[transformer_1.babel.presets.presetEnv, {
114
- modules: babelFormat,
115
- loose: loose !== null && loose !== void 0 ? loose : true
116
- }]]
117
- });
118
- if (!babelFileResult || !babelFileResult.code) {
119
- throw new Error('Failed to transform!');
120
- }
121
- return {
122
- code: babelFileResult.code
123
- };
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
+ }]]
124
87
  });
88
+ if (!babelFileResult || !babelFileResult.code) {
89
+ throw new Error('Failed to transform!');
90
+ }
91
+ return {
92
+ code: babelFileResult.code
93
+ };
125
94
  }
126
95
  buildEngine.transform = transform;
127
- function isSourceChanged(incrementalFile) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- 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];
130
106
  try {
131
- record = yield fs_extra_1.default.readJSON(incrementalFile);
132
- } catch (_a) {
133
- console.debug(`Failed to read incremental file: ${incrementalFile} - rebuild is needed.`);
134
- return true;
135
- }
136
- for (const file of Object.keys(record)) {
137
- const mtime = record[file];
138
- try {
139
- /* eslint-disable-next-line no-await-in-loop */
140
- const mtimeNow = (yield fs_extra_1.default.stat(file)).mtimeMs;
141
- if (mtimeNow !== mtime) {
142
- console.debug(`Source ${file} in watch files record ${incrementalFile} has a different time stamp - rebuild is needed.`);
143
- return true;
144
- }
145
- } catch (_b) {
146
- 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.`);
147
111
  return true;
148
112
  }
113
+ } catch (_b) {
114
+ console.debug(`Failed to read source ${file} in watch files record ${incrementalFile} - rebuild is needed.`);
115
+ return true;
149
116
  }
150
- return false;
151
- });
117
+ }
118
+ return false;
152
119
  }
153
120
  buildEngine.isSourceChanged = isSourceChanged;
154
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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"}