@cocos/ccbuild 2.2.10 → 2.2.12

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 (32) hide show
  1. package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.d.ts.map +1 -1
  2. package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.js +5 -2
  3. package/modules/build-engine/lib/engine-js/babel-plugins/decorator-parser.js.map +1 -1
  4. package/modules/build-engine/lib/engine-js/index.d.ts.map +1 -1
  5. package/modules/build-engine/lib/engine-js/index.js +20 -5
  6. package/modules/build-engine/lib/engine-js/index.js.map +1 -1
  7. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.d.ts +39 -0
  8. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.d.ts.map +1 -0
  9. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.js +327 -0
  10. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/enum.js.map +1 -0
  11. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.d.ts +36 -0
  12. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.d.ts.map +1 -0
  13. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.js +28 -0
  14. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/core/options.js.map +1 -0
  15. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.d.ts +7 -0
  16. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.d.ts.map +1 -0
  17. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.js +94 -0
  18. package/modules/build-engine/lib/engine-js/rollup-plugins/inline-enum/index.js.map +1 -0
  19. package/modules/build-engine/lib/engine-ts/engine-builder.d.ts.map +1 -1
  20. package/modules/build-engine/lib/engine-ts/engine-builder.js +5 -1
  21. package/modules/build-engine/lib/engine-ts/engine-builder.js.map +1 -1
  22. package/modules/build-engine/lib/index.d.ts +26 -0
  23. package/modules/build-engine/lib/index.d.ts.map +1 -1
  24. package/modules/build-engine/lib/index.js.map +1 -1
  25. package/modules/bundler/lib/rollup/plugins.d.ts +1 -1
  26. package/modules/bundler/lib/rollup/plugins.d.ts.map +1 -1
  27. package/modules/bundler/lib/rollup/plugins.js +2 -2
  28. package/modules/bundler/lib/rollup/plugins.js.map +1 -1
  29. package/modules/stats-query/lib/cc.config.schema.json +9 -2
  30. package/modules/stats-query/lib/config-interface.d.ts +6 -2
  31. package/modules/stats-query/lib/config-interface.d.ts.map +1 -1
  32. package/package.json +13 -8
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function (mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ "default": mod
6
+ };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.scanEnums = void 0;
12
+ /* eslint-disable no-inner-declarations */
13
+ const node_path_1 = __importDefault(require("node:path"));
14
+ const node_assert_1 = __importDefault(require("node:assert"));
15
+ const node_fs_1 = require("node:fs");
16
+ const ast_kit_1 = require("ast-kit");
17
+ const fast_glob_1 = __importDefault(require("fast-glob"));
18
+ /**
19
+ * Evaluates a JavaScript expression and returns the result.
20
+ * @param exp - The expression to evaluate.
21
+ * @returns The evaluated result.
22
+ */
23
+ function evaluate(exp) {
24
+ return new Function(`return ${exp}`)();
25
+ }
26
+ function getEnumClassIdentifier(node) {
27
+ let obj = node;
28
+ if (obj.type === 'MemberExpression') {
29
+ if (obj.object.type === 'MemberExpression') {
30
+ obj = obj.object.property;
31
+ } else if (obj.object.type === 'Identifier') {
32
+ obj = obj.object;
33
+ }
34
+ }
35
+ if (obj.type === 'Identifier') {
36
+ return obj;
37
+ }
38
+ return null;
39
+ }
40
+ function handleIdentifier(defines, k, cb, wait) {
41
+ if (k in defines) {
42
+ cb(defines[k]);
43
+ } else {
44
+ wait(k, v => {
45
+ cb(v);
46
+ });
47
+ }
48
+ }
49
+ function handleIdentifierForUnaryExpressionSync(defines, k, node) {
50
+ if (!(k in defines)) {
51
+ throw new Error(`${k} doesn't in defines`);
52
+ }
53
+ const exp = `${node.operator}${defines[k]}`;
54
+ const value = evaluate(exp);
55
+ return value;
56
+ }
57
+ async function handleOneTsEnum(info) {
58
+ const {
59
+ defines,
60
+ node,
61
+ decl,
62
+ declarations,
63
+ id,
64
+ wait,
65
+ resolve,
66
+ file,
67
+ exported
68
+ } = info;
69
+ let lastInitialized;
70
+ const members = [];
71
+ for (const e of decl.members) {
72
+ const key = e.id.type === 'Identifier' ? e.id.name : e.id.value;
73
+ const fullKey = `${id}.${key}`;
74
+ const saveValue = value => {
75
+ // We need allow same name enum in different file.
76
+ // For example: enum ErrorCodes exist in both @vue/compiler-core and @vue/runtime-core
77
+ // But not allow `ErrorCodes.__EXTEND_POINT__` appear in two same name enum
78
+ if (fullKey in defines) {
79
+ // throw new Error(`name conflict for enum ${id} in ${file}`);
80
+ console.warn(`name conflict for enum ${id} in ${file}`);
81
+ return;
82
+ }
83
+ members.push({
84
+ name: key,
85
+ value
86
+ });
87
+ defines[fullKey] = value;
88
+ resolve(fullKey, value);
89
+ };
90
+ const init = e.initializer;
91
+ if (init) {
92
+ let value;
93
+ if (init.type === 'StringLiteral' || init.type === 'NumericLiteral') {
94
+ value = init.value;
95
+ }
96
+ // e.g. 1 << 2
97
+ else if (init.type === 'BinaryExpression') {
98
+ function resolveValue(node, cb) {
99
+ node_assert_1.default.ok(typeof node.start === 'number');
100
+ node_assert_1.default.ok(typeof node.end === 'number');
101
+ if (node.type === 'NumericLiteral' || node.type === 'StringLiteral') {
102
+ cb(node.value);
103
+ } else if (node.type === 'MemberExpression') {
104
+ const obj = getEnumClassIdentifier(node);
105
+ if (!obj) {
106
+ throw new Error(`Could not find object identifier`);
107
+ }
108
+ if (node.property.type === 'Identifier') {
109
+ handleIdentifier(defines, `${obj.name}.${node.property.name}`, cb, wait);
110
+ } else {
111
+ throw new Error(`unhandled initializer type ${node.type} for ${fullKey} in ${file}`);
112
+ }
113
+ } else if (node.type === 'Identifier') {
114
+ handleIdentifier(defines, `${id}.${node.name}`, cb, wait);
115
+ } else if (node.type === 'BinaryExpression') {
116
+ resolveValue(node.left, left => {
117
+ resolveValue(node.right, right => {
118
+ const exp = `${left}${node.operator}${right}`;
119
+ value = evaluate(exp);
120
+ cb(value);
121
+ });
122
+ });
123
+ } else if (node.type === 'UnaryExpression') {
124
+ if (node.argument.type === 'StringLiteral' || node.argument.type === 'NumericLiteral') {
125
+ const exp = `${node.operator}${node.argument.value}`;
126
+ value = evaluate(exp);
127
+ } else if (node.argument.type === 'Identifier') {
128
+ const k = `${id}.${node.argument.name}`;
129
+ value = handleIdentifierForUnaryExpressionSync(defines, k, node);
130
+ } else if (node.argument.type === 'MemberExpression') {
131
+ const newNode = node.argument;
132
+ const obj = getEnumClassIdentifier(newNode);
133
+ if (!obj) {
134
+ throw new Error(`Could not find object identifier`);
135
+ }
136
+ if (newNode.property.type === 'Identifier') {
137
+ const k = `${obj.name}.${newNode.property.name}`;
138
+ value = handleIdentifierForUnaryExpressionSync(defines, k, node);
139
+ } else {
140
+ throw new Error(`unhandled initializer type ${node.type} for ${fullKey} in ${file}`);
141
+ }
142
+ } else if (node.argument.type === 'BinaryExpression') {
143
+ const argNode = node.argument;
144
+ resolveValue(argNode.left, left => {
145
+ resolveValue(argNode.right, right => {
146
+ const exp = `${left}${argNode.operator}${right}`;
147
+ value = evaluate(exp);
148
+ cb(value);
149
+ });
150
+ });
151
+ } else {
152
+ throw new Error(`unhandled UnaryExpression argument type ${node.argument.type} in ${file}`);
153
+ }
154
+ } else {
155
+ throw new Error(`unhandled BinaryExpression operand type ${node.type} in ${file}`);
156
+ }
157
+ }
158
+ async function resolveValueAsync(node) {
159
+ return new Promise((resolve, reject) => {
160
+ resolveValue(node, resolve);
161
+ });
162
+ }
163
+ const left = await resolveValueAsync(init.left);
164
+ const right = await resolveValueAsync(init.right);
165
+ const exp = `${left}${init.operator}${right}`;
166
+ value = evaluate(exp);
167
+ } else if (init.type === 'UnaryExpression') {
168
+ if (init.argument.type === 'StringLiteral' || init.argument.type === 'NumericLiteral') {
169
+ const exp = `${init.operator}${init.argument.value}`;
170
+ value = evaluate(exp);
171
+ } else if (init.argument.type === 'Identifier') {
172
+ const k = `${id}.${init.argument.name}`;
173
+ value = handleIdentifierForUnaryExpressionSync(defines, k, init);
174
+ } else if (init.argument.type === 'MemberExpression') {
175
+ const newNode = init.argument;
176
+ const obj = getEnumClassIdentifier(newNode);
177
+ if (!obj) {
178
+ throw new Error(`Could not find object identifier`);
179
+ }
180
+ if (newNode.property.type === 'Identifier') {
181
+ const k = `${obj.name}.${newNode.property.name}`;
182
+ value = handleIdentifierForUnaryExpressionSync(defines, k, init);
183
+ } else {
184
+ throw new Error(`unhandled initializer type ${init.type} for ${fullKey} in ${file}`);
185
+ }
186
+ } else {
187
+ throw new Error(`unhandled UnaryExpression argument type ${init.argument.type} in ${file}`);
188
+ }
189
+ } else if (init.type === 'Identifier') {
190
+ // Value defined in the current enum
191
+ const foundEnumElement = members.find(v => v.name == init.name);
192
+ if (foundEnumElement) {
193
+ value = foundEnumElement.value;
194
+ } else {
195
+ throw new Error(`unhandled Identifier type ${init.type} for ${fullKey} in ${file}`);
196
+ }
197
+ } else if (init.type === 'MemberExpression') {
198
+ const obj = getEnumClassIdentifier(init);
199
+ if (!obj) {
200
+ throw new Error(`Could not find object identifier`);
201
+ }
202
+ async function handleIdentifierAsync(defines, k) {
203
+ return new Promise((resolve, reject) => {
204
+ handleIdentifier(defines, k, resolve, wait);
205
+ });
206
+ }
207
+ if (init.property.type === 'Identifier') {
208
+ const k = `${obj.name}.${init.property.name}`;
209
+ value = await handleIdentifierAsync(defines, k);
210
+ } else {
211
+ throw new Error(`unhandled initializer type ${init.type} for ${fullKey} in ${file}`);
212
+ }
213
+ } else {
214
+ throw new Error(`unhandled initializer type ${init.type} for ${fullKey} in ${file}`);
215
+ }
216
+ lastInitialized = value;
217
+ saveValue(lastInitialized);
218
+ } else if (lastInitialized === undefined) {
219
+ // first initialized
220
+ lastInitialized = 0;
221
+ saveValue(lastInitialized);
222
+ } else if (typeof lastInitialized === 'number') {
223
+ lastInitialized++;
224
+ saveValue(lastInitialized);
225
+ } else {
226
+ // should not happen
227
+ throw new TypeError(`wrong enum initialization sequence in ${file}`);
228
+ }
229
+ if (!(file in declarations)) {
230
+ declarations[file] = [];
231
+ }
232
+ node_assert_1.default.ok(typeof node.start === 'number');
233
+ node_assert_1.default.ok(typeof node.end === 'number');
234
+ declarations[file].push({
235
+ id,
236
+ range: [node.start, node.end],
237
+ members,
238
+ exported
239
+ });
240
+ }
241
+ }
242
+ async function handleOneTsFile(file, declarations, defines, wait, resolve) {
243
+ const lang = (0, ast_kit_1.getLang)(file);
244
+ if (!(0, ast_kit_1.isTs)(lang)) return;
245
+ const content = (0, node_fs_1.readFileSync)(file, 'utf-8');
246
+ const ast = (0, ast_kit_1.babelParse)(content, lang);
247
+ const enumIds = new Set();
248
+ for (const node of ast.body) {
249
+ let exported = false;
250
+ let decl = null;
251
+ if (node.type === 'ExportNamedDeclaration' && node.declaration && node.declaration.type === 'TSEnumDeclaration') {
252
+ decl = node.declaration;
253
+ exported = true;
254
+ } else if (node.type === 'TSEnumDeclaration') {
255
+ decl = node;
256
+ }
257
+ if (!decl) continue;
258
+ // Start to handle a TS enum
259
+ const id = decl.id.name;
260
+ if (enumIds.has(id)) {
261
+ throw new Error(`not support declaration merging for enum ${id} in ${file}`);
262
+ }
263
+ enumIds.add(id);
264
+ await handleOneTsEnum({
265
+ defines,
266
+ decl,
267
+ declarations,
268
+ node,
269
+ id,
270
+ file,
271
+ exported,
272
+ wait,
273
+ resolve
274
+ });
275
+ }
276
+ }
277
+ /**
278
+ * Scans the specified directory for enums based on the provided options.
279
+ * @param options - The scan options for the enum.
280
+ * @returns The data of all enums found.
281
+ */
282
+ async function scanEnums(options) {
283
+ const declarations = Object.create(null);
284
+ const defines = Object.create(null);
285
+ // 1. grep for files with exported enum
286
+ const files = scanFiles(options);
287
+ // 2. parse matched files to collect enum info
288
+ const enumAsyncMap = new Map();
289
+ const handleFilePromiseArray = [];
290
+ for (const file of files) {
291
+ handleFilePromiseArray.push(handleOneTsFile(file, declarations, defines, (enumFullKey, cb) => {
292
+ let callbacks = enumAsyncMap.get(enumFullKey);
293
+ if (callbacks == null) {
294
+ callbacks = [];
295
+ enumAsyncMap.set(enumFullKey, callbacks);
296
+ }
297
+ callbacks.push(cb);
298
+ }, (enumFullKey, v) => {
299
+ const callbacks = enumAsyncMap.get(enumFullKey);
300
+ if (callbacks) {
301
+ for (const cb of callbacks) {
302
+ cb(v);
303
+ }
304
+ enumAsyncMap.delete(enumFullKey);
305
+ }
306
+ }));
307
+ }
308
+ await Promise.all(handleFilePromiseArray);
309
+ node_assert_1.default.ok(enumAsyncMap.size === 0);
310
+ const enumData = {
311
+ declarations,
312
+ defines
313
+ };
314
+ return enumData;
315
+ }
316
+ exports.scanEnums = scanEnums;
317
+ /**
318
+ * Scans the specified directory for files based on the provided options.
319
+ * @param options - The scan options for the files.
320
+ * @returns The list of files found.
321
+ */
322
+ function scanFiles(options) {
323
+ return fast_glob_1.default.sync(options.scanPattern, {
324
+ cwd: options.scanDir,
325
+ ignore: ['**/*.jsb.ts']
326
+ }).map(file => node_path_1.default.resolve(options.scanDir, file));
327
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../src/engine-js/rollup-plugins/inline-enum/core/enum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { FilterPattern } from '@rollup/pluginutils';
2
+ /**
3
+ * Represents the options for the plugin.
4
+ */
5
+ export interface Options {
6
+ include?: FilterPattern;
7
+ exclude?: FilterPattern;
8
+ enforce?: 'pre' | 'post' | undefined;
9
+ /**
10
+ * The mode used to scan for enum files.
11
+ * @default 'fs'
12
+ */
13
+ scanMode?: 'git' | 'fs';
14
+ /**
15
+ * The directory to scan for enum files.
16
+ * @default process.cwd()
17
+ */
18
+ scanDir?: string;
19
+ /**
20
+ * The pattern used to match enum files.
21
+ * @default '**\/*.{cts,mts,ts,tsx}'
22
+ */
23
+ scanPattern?: string | string[];
24
+ }
25
+ type Overwrite<T, U> = Pick<T, Exclude<keyof T, keyof U>> & U;
26
+ /**
27
+ * Represents the resolved options for the plugin.
28
+ */
29
+ export type OptionsResolved = Overwrite<Required<Options>, Pick<Options, 'enforce'>>;
30
+ /**
31
+ * Resolves the options for the plugin.
32
+ * @param options - The options to resolve.
33
+ * @returns The resolved options.
34
+ */
35
+ export declare function resolveOptions(options: Options): OptionsResolved;
36
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/engine-js/rollup-plugins/inline-enum/core/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAClC;AAED,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE7D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,CACnC,QAAQ,CAAC,OAAO,CAAC,EACjB,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAC3B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,eAAe,CAUhE"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function (mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ "default": mod
6
+ };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.resolveOptions = void 0;
12
+ const node_process_1 = __importDefault(require("node:process"));
13
+ /**
14
+ * Resolves the options for the plugin.
15
+ * @param options - The options to resolve.
16
+ * @returns The resolved options.
17
+ */
18
+ function resolveOptions(options) {
19
+ return {
20
+ include: options.include || [/\.[cm]?[jt]sx?$/],
21
+ exclude: options.exclude || [/node_modules/],
22
+ enforce: 'enforce' in options ? options.enforce : 'pre',
23
+ scanMode: options.scanMode || 'fs',
24
+ scanDir: options.scanDir || node_process_1.default.cwd(),
25
+ scanPattern: options.scanPattern || '**/*.{cts,mts,ts,tsx}'
26
+ };
27
+ }
28
+ exports.resolveOptions = resolveOptions;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../src/engine-js/rollup-plugins/inline-enum/core/options.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAmC;AAqCnC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAgB;IAC3C,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5C,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;QAEvD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,sBAAO,CAAC,GAAG,EAAE;QACzC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,uBAAuB;KAC9D,CAAC;AACN,CAAC;AAVD,wCAUC"}
@@ -0,0 +1,7 @@
1
+ import { type Options } from './core/options';
2
+ import { rollup as Bundler } from "../../../../../bundler/lib/index";
3
+ import rollup = Bundler.core;
4
+ /**
5
+ * The main unplugin instance.
6
+ */
7
+ export declare function rpInlineEnum(rawOptions: Options, meta?: any): Promise<rollup.Plugin[]>;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine-js/rollup-plugins/inline-enum/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;AAc7B;;GAEG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CA2F5F"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ // Inspired by https://github.com/unplugin/unplugin-inline-enum
4
+ var __importDefault = this && this.__importDefault || function (mod) {
5
+ return mod && mod.__esModule ? mod : {
6
+ "default": mod
7
+ };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.rpInlineEnum = void 0;
13
+ const pluginutils_1 = require("@rollup/pluginutils");
14
+ const magic_string_1 = __importDefault(require("magic-string"));
15
+ const plugin_replace_1 = __importDefault(require("@rollup/plugin-replace"));
16
+ const options_1 = require("./core/options");
17
+ const enum_1 = require("./core/enum");
18
+ const convertNumberValuesToString = obj => {
19
+ return Object.entries(obj).reduce((acc, [key, value]) => {
20
+ acc[key] = JSON.stringify(value); // + ` /* _.${key} */ `;
21
+ return acc;
22
+ }, {});
23
+ };
24
+ /**
25
+ * The main unplugin instance.
26
+ */
27
+ async function rpInlineEnum(rawOptions, meta) {
28
+ const options = (0, options_1.resolveOptions)(rawOptions);
29
+ const filter = (0, pluginutils_1.createFilter)(options.include, options.exclude);
30
+ const {
31
+ declarations,
32
+ defines
33
+ } = await (0, enum_1.scanEnums)(options);
34
+ const strDefines = convertNumberValuesToString(defines);
35
+ strDefines['Float32Array.BYTES_PER_ELEMENT'] = '4';
36
+ strDefines['Float64Array.BYTES_PER_ELEMENT'] = '8';
37
+ strDefines['Uint8Array.BYTES_PER_ELEMENT'] = '1';
38
+ strDefines['Uint8ClampedArray.BYTES_PER_ELEMENT'] = '1';
39
+ strDefines['Uint16Array.BYTES_PER_ELEMENT'] = '2';
40
+ strDefines['Uint32Array.BYTES_PER_ELEMENT'] = '4';
41
+ strDefines['Int8Array.BYTES_PER_ELEMENT'] = '1';
42
+ strDefines['Int16Array.BYTES_PER_ELEMENT'] = '2';
43
+ strDefines['Int32Array.BYTES_PER_ELEMENT'] = '4';
44
+ const replacePlugin = (0, plugin_replace_1.default)({
45
+ include: options.include,
46
+ exclude: options.exclude,
47
+ values: strDefines,
48
+ delimiters: ['(?<!\\.)\\b', '\\b(?!\\.)']
49
+ });
50
+ const name = 'cc-inline-enum';
51
+ return [{
52
+ name,
53
+ // enforce: options.enforce,
54
+ async resolveId(source, importer) {
55
+ return filter(source) ? source : null;
56
+ },
57
+ transform(code, id) {
58
+ let s;
59
+ if (id in declarations) {
60
+ s || (s = new magic_string_1.default(code));
61
+ for (const declaration of declarations[id]) {
62
+ const {
63
+ range: [start, end],
64
+ id,
65
+ members,
66
+ exported
67
+ } = declaration;
68
+ const prefix = exported ? 'export' : '';
69
+ s.update(start, end, `${prefix} const ${id} = {${members.flatMap(({
70
+ name,
71
+ value
72
+ }) => {
73
+ const forwardMapping = `${JSON.stringify(name)}: ${JSON.stringify(value)}`;
74
+ const reverseMapping = `${JSON.stringify(value.toString())}: ${JSON.stringify(name)}`;
75
+ // see https://www.typescriptlang.org/docs/handbook/enums.html#reverse-mappings
76
+ return typeof value === 'string' ? [forwardMapping
77
+ // string enum members do not get a reverse mapping generated at all
78
+ ] : [forwardMapping
79
+ // other enum members should support enum reverse mapping
80
+ // reverseMapping,
81
+ ];
82
+ }).join(',\n')}}`);
83
+ }
84
+ }
85
+ if (s) {
86
+ return {
87
+ code: s.toString(),
88
+ map: s.generateMap()
89
+ };
90
+ }
91
+ }
92
+ }, replacePlugin];
93
+ }
94
+ exports.rpInlineEnum = rpInlineEnum;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine-js/rollup-plugins/inline-enum/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine-builder.d.ts","sourceRoot":"","sources":["../../src/engine-ts/engine-builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;AAepD,yBAAiB,aAAa,CAAC;IAE3B,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;QACvC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;IACD,UAAiB,YAAY;QACzB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;KACvC;IACD,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,GAAG,CAAC;KACZ;IACD,UAAiB,gBAAgB;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,GAAG,CAAC;KACb;CACJ;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,iBAAiB,CAAqC;IAG9D,OAAO,CAAC,UAAU,CAIhB;IACF,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,iBAAiB,CAEvB;IACF,OAAO,CAAC,aAAa,CAA+B;IAEvC,KAAK,CAAE,OAAO,EAAE,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAgEhF,YAAY;YAgBZ,YAAY;YAoDZ,SAAS;IA+CvB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IAuBtB,OAAO,CAAC,gBAAgB;YAiBV,KAAK;IAkBnB,OAAO,CAAC,aAAa;YAwDP,UAAU;IAuQxB,OAAO,CAAC,WAAW;YA8BL,UAAU;YA6BV,qBAAqB;CAOtC"}
1
+ {"version":3,"file":"engine-builder.d.ts","sourceRoot":"","sources":["../../src/engine-ts/engine-builder.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;AAepD,yBAAiB,aAAa,CAAC;IAE3B,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,EAAE,eAAe,CAAC,YAAY,CAAC;QACvC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB;IACD,UAAiB,YAAY;QACzB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAAC;KACvC;IACD,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,GAAG,CAAC;KACZ;IACD,UAAiB,gBAAgB;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,GAAG,CAAC;KACb;CACJ;AAED,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,mBAAmB,CAAsC;IACjE,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,iBAAiB,CAAqC;IAG9D,OAAO,CAAC,UAAU,CAIhB;IACF,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,iBAAiB,CAEvB;IACF,OAAO,CAAC,aAAa,CAA+B;IAEvC,KAAK,CAAE,OAAO,EAAE,aAAa,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC;YAgEhF,YAAY;YAgBZ,YAAY;YAoDZ,SAAS;IA+CvB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IAuBtB,OAAO,CAAC,gBAAgB;YAiBV,KAAK;IAkBnB,OAAO,CAAC,aAAa;YAwDP,UAAU;IA0QxB,OAAO,CAAC,WAAW;YA8BL,UAAU;YA6BV,qBAAqB;CAOtC"}
@@ -525,8 +525,12 @@ class EngineBuilder {
525
525
  }
526
526
  },
527
527
  ClassDeclaration(path) {
528
+ var _a;
528
529
  const idPath = path.get('id');
529
- const name = idPath.node.name;
530
+ const name = (_a = idPath.node) === null || _a === void 0 ? void 0 : _a.name;
531
+ if (!name) {
532
+ return;
533
+ }
530
534
  const alias = self._renameMap[name];
531
535
  if (typeof alias === 'string') {
532
536
  idPath.replaceWith(t.identifier(alias));