@cocos/ccbuild 0.0.0-20230331092722

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 (109) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +15 -0
  3. package/lib/api-builder.d.ts +1 -0
  4. package/lib/api-builder.d.ts.map +1 -0
  5. package/lib/api-builder.js +2 -0
  6. package/lib/api-builder.js.map +1 -0
  7. package/lib/babel-plugins/transform-virtual-specifier.js +71 -0
  8. package/lib/babel-plugins/transform-virtual-specifier.js.map +1 -0
  9. package/lib/build-engine/engine-js/index.d.ts +3 -0
  10. package/lib/build-engine/engine-js/index.d.ts.map +1 -0
  11. package/lib/build-engine/engine-js/index.js +456 -0
  12. package/lib/build-engine/engine-js/index.js.map +1 -0
  13. package/lib/build-engine/engine-js/rollup-plugins/asset-ref.d.ts +37 -0
  14. package/lib/build-engine/engine-js/rollup-plugins/asset-ref.d.ts.map +1 -0
  15. package/lib/build-engine/engine-js/rollup-plugins/asset-ref.js +88 -0
  16. package/lib/build-engine/engine-js/rollup-plugins/asset-ref.js.map +1 -0
  17. package/lib/build-engine/engine-js/rollup-plugins/asset-url.d.ts +8 -0
  18. package/lib/build-engine/engine-js/rollup-plugins/asset-url.d.ts.map +1 -0
  19. package/lib/build-engine/engine-js/rollup-plugins/asset-url.js +89 -0
  20. package/lib/build-engine/engine-js/rollup-plugins/asset-url.js.map +1 -0
  21. package/lib/build-engine/engine-js/rollup-plugins/code-asset.d.ts +29 -0
  22. package/lib/build-engine/engine-js/rollup-plugins/code-asset.d.ts.map +1 -0
  23. package/lib/build-engine/engine-js/rollup-plugins/code-asset.js +132 -0
  24. package/lib/build-engine/engine-js/rollup-plugins/code-asset.js.map +1 -0
  25. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.d.ts +3 -0
  26. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.d.ts.map +1 -0
  27. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.js +38 -0
  28. package/lib/build-engine/engine-js/rollup-plugins/remove-deprecated-features.js.map +1 -0
  29. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.d.ts +5 -0
  30. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.d.ts.map +1 -0
  31. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.js +43 -0
  32. package/lib/build-engine/engine-js/rollup-plugins/ts-paths.js.map +1 -0
  33. package/lib/build-engine/index.d.ts +109 -0
  34. package/lib/build-engine/index.d.ts.map +1 -0
  35. package/lib/build-engine/index.js +33 -0
  36. package/lib/build-engine/index.js.map +1 -0
  37. package/lib/config-interface.js +3 -0
  38. package/lib/config-interface.js.map +1 -0
  39. package/lib/config-paerser/config-interface.js +3 -0
  40. package/lib/config-paerser/config-interface.js.map +1 -0
  41. package/lib/config-paerser/config-parser.js +34 -0
  42. package/lib/config-paerser/config-parser.js.map +1 -0
  43. package/lib/config-parser/config-interface.js +4 -0
  44. package/lib/config-parser/config-interface.js.map +1 -0
  45. package/lib/config-parser/config-parser.js +37 -0
  46. package/lib/config-parser/config-parser.js.map +1 -0
  47. package/lib/config-parser/constant-interface.js +3 -0
  48. package/lib/config-parser/constant-interface.js.map +1 -0
  49. package/lib/config-parser/constant-manager.js +263 -0
  50. package/lib/config-parser/constant-manager.js.map +1 -0
  51. package/lib/config-parser/index.js +286 -0
  52. package/lib/config-parser/index.js.map +1 -0
  53. package/lib/config-parser/stats-query.js +248 -0
  54. package/lib/config-parser/stats-query.js.map +1 -0
  55. package/lib/config-parser.js +34 -0
  56. package/lib/config-parser.js.map +1 -0
  57. package/lib/engine-builder.d.ts +54 -0
  58. package/lib/engine-builder.d.ts.map +1 -0
  59. package/lib/engine-builder.js +546 -0
  60. package/lib/engine-builder.js.map +1 -0
  61. package/lib/index.d.ts +5 -0
  62. package/lib/index.d.ts.map +1 -0
  63. package/lib/index.js +31 -0
  64. package/lib/index.js.map +1 -0
  65. package/lib/module-resolver.d.ts +8 -0
  66. package/lib/module-resolver.d.ts.map +1 -0
  67. package/lib/module-resolver.js +29 -0
  68. package/lib/module-resolver.js.map +1 -0
  69. package/lib/stats-query/config-interface.d.ts +130 -0
  70. package/lib/stats-query/config-interface.d.ts.map +1 -0
  71. package/lib/stats-query/config-interface.js +4 -0
  72. package/lib/stats-query/config-interface.js.map +1 -0
  73. package/lib/stats-query/constant-interface.js +3 -0
  74. package/lib/stats-query/constant-interface.js.map +1 -0
  75. package/lib/stats-query/constant-manager.d.ts +2 -0
  76. package/lib/stats-query/constant-manager.d.ts.map +1 -0
  77. package/lib/stats-query/constant-manager.js +3 -0
  78. package/lib/stats-query/constant-manager.js.map +1 -0
  79. package/lib/stats-query/index.d.ts +161 -0
  80. package/lib/stats-query/index.d.ts.map +1 -0
  81. package/lib/stats-query/index.js +524 -0
  82. package/lib/stats-query/index.js.map +1 -0
  83. package/lib/stats-query/path-utils.d.ts +3 -0
  84. package/lib/stats-query/path-utils.d.ts.map +1 -0
  85. package/lib/stats-query/path-utils.js +32 -0
  86. package/lib/stats-query/path-utils.js.map +1 -0
  87. package/lib/stats-query/stats-query.js +248 -0
  88. package/lib/stats-query/stats-query.js.map +1 -0
  89. package/lib/transformer/babel.d.ts +5 -0
  90. package/lib/transformer/babel.d.ts.map +1 -0
  91. package/lib/transformer/babel.js +29 -0
  92. package/lib/transformer/babel.js.map +1 -0
  93. package/lib/transformer/index.d.ts +3 -0
  94. package/lib/transformer/index.d.ts.map +1 -0
  95. package/lib/transformer/index.js +25 -0
  96. package/lib/transformer/index.js.map +1 -0
  97. package/lib/transformer.d.ts +3 -0
  98. package/lib/transformer.d.ts.map +1 -0
  99. package/lib/transformer.js +7 -0
  100. package/lib/transformer.js.map +1 -0
  101. package/lib/tsdoc-metadata.json +11 -0
  102. package/lib/utils.d.ts +3 -0
  103. package/lib/utils.d.ts.map +1 -0
  104. package/lib/utils.js +15 -0
  105. package/lib/utils.js.map +1 -0
  106. package/package.json +70 -0
  107. package/static/helper-dynamic-constants.txt +12 -0
  108. package/static/helper-global-exporter.txt +9 -0
  109. package/static/lib.dom.d.ts +20227 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-interface.js","sourceRoot":"","sources":["../../src/config-paerser/config-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ConfigParser = void 0;
27
+ const fs = __importStar(require("fs-extra"));
28
+ class ConfigParser {
29
+ constructor(configPath) {
30
+ fs.readJsonSync(configPath);
31
+ }
32
+ }
33
+ exports.ConfigParser = ConfigParser;
34
+ //# sourceMappingURL=config-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/config-paerser/config-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAkG/B,MAAa,YAAY;IACrB,YAAa,UAAkB;QAC3B,EAAE,CAAC,YAAY,CAAC,UAAU,CAAI,CAAA;IAClC,CAAC;CACJ;AAJD,oCAIC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // NOTE: This is the source code to generate cc.config.json
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=config-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-interface.js","sourceRoot":"","sources":["../../src/config-parser/config-interface.ts"],"names":[],"mappings":";AAAA,2DAA2D"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ConfigParser = void 0;
27
+ const fs = __importStar(require("fs-extra"));
28
+ class ConfigParser {
29
+ constructor(configPath) {
30
+ this._config = fs.readJsonSync(configPath);
31
+ }
32
+ get moduleOverrides() {
33
+ return this._config.moduleOverrides;
34
+ }
35
+ }
36
+ exports.ConfigParser = ConfigParser;
37
+ //# sourceMappingURL=config-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/config-parser/config-parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAmG/B,MAAa,YAAY;IAErB,YAAa,UAAkB;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAW,CAAC;IACzD,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACxC,CAAC;CACJ;AATD,oCASC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=constant-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant-interface.js","sourceRoot":"","sources":["../../src/config-parser/constant-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConstantManager = void 0;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ class ConstantManager {
10
+ constructor(engineRoot) {
11
+ this._engineRoot = engineRoot;
12
+ }
13
+ //#region export string
14
+ exportDynamicConstants({ mode, platform, flags, }) {
15
+ const config = this._getConfig();
16
+ // init helper
17
+ let result = '';
18
+ if (this._hasCCGlobal(config)) {
19
+ result += fs_extra_1.default.readFileSync(path_1.default.join(__dirname, '../static/helper-global-exporter.txt'), 'utf8') + '\n';
20
+ }
21
+ if (this._hasDynamic(config)) {
22
+ result += fs_extra_1.default.readFileSync(path_1.default.join(__dirname, '../static/helper-dynamic-constants.txt'), 'utf8') + '\n';
23
+ }
24
+ // update value
25
+ if (config[mode]) {
26
+ config[mode].value = true;
27
+ }
28
+ else {
29
+ console.warn(`Unknown mode: ${mode}`);
30
+ }
31
+ if (config[platform]) {
32
+ config[platform].value = true;
33
+ }
34
+ else {
35
+ console.warn(`Unknown platform: ${platform}`);
36
+ }
37
+ for (const key in flags) {
38
+ const value = flags[key];
39
+ if (config[key]) {
40
+ config[key].value = value;
41
+ }
42
+ else {
43
+ console.warn(`Unknown flag: ${key}`);
44
+ }
45
+ }
46
+ // eval value
47
+ for (const key in config) {
48
+ const info = config[key];
49
+ if (typeof info.value === 'string') {
50
+ info.value = this._evalExpression(info.value, config);
51
+ }
52
+ }
53
+ // generate export content
54
+ for (const key in config) {
55
+ const info = config[key];
56
+ const value = info.value;
57
+ if (info.dynamic || info.internal) {
58
+ continue;
59
+ }
60
+ result += `export const ${key} = ${value};\n`;
61
+ if (info.ccGlobal) {
62
+ result += `tryDefineGlobal('CC_${key}', ${value});\n`;
63
+ }
64
+ result += '\n';
65
+ }
66
+ return result;
67
+ }
68
+ genBuildTimeConstants(options) {
69
+ const config = this._getConfig();
70
+ this._applyOptionsToConfig(config, options);
71
+ // generate json object
72
+ const jsonObj = {};
73
+ for (const key in config) {
74
+ const info = config[key];
75
+ jsonObj[key] = info.value;
76
+ }
77
+ return jsonObj;
78
+ }
79
+ genCCEnvConstants(options) {
80
+ const config = this._getConfig();
81
+ this._applyOptionsToConfig(config, options);
82
+ // generate json object
83
+ const jsonObj = {};
84
+ for (const key in config) {
85
+ const info = config[key];
86
+ if (!info.internal) {
87
+ jsonObj[key] = info.value;
88
+ }
89
+ }
90
+ return jsonObj;
91
+ }
92
+ exportStaticConstants({ mode, platform, flags, }) {
93
+ const config = this._getConfig();
94
+ // init helper
95
+ let result = '';
96
+ if (this._hasCCGlobal(config)) {
97
+ result += fs_extra_1.default.readFileSync(path_1.default.join(__dirname, '../static/helper-global-exporter.txt'), 'utf8') + '\n';
98
+ }
99
+ // update value
100
+ if (config[mode]) {
101
+ config[mode].value = true;
102
+ }
103
+ else {
104
+ console.warn(`Unknown mode: ${mode}`);
105
+ }
106
+ if (config[platform]) {
107
+ config[platform].value = true;
108
+ }
109
+ else {
110
+ console.warn(`Unknown platform: ${platform}`);
111
+ }
112
+ for (const key in flags) {
113
+ const value = flags[key];
114
+ if (config[key]) {
115
+ config[key].value = value;
116
+ }
117
+ else {
118
+ console.warn(`Unknown flag: ${key}`);
119
+ }
120
+ }
121
+ // eval value
122
+ for (const key in config) {
123
+ const info = config[key];
124
+ if (typeof info.value === 'string') {
125
+ info.value = this._evalExpression(info.value, config);
126
+ }
127
+ }
128
+ // generate export content
129
+ for (const key in config) {
130
+ const info = config[key];
131
+ const value = info.value;
132
+ result += `export const ${key} = ${value};\n`;
133
+ if (info.ccGlobal) {
134
+ result += `tryDefineGlobal('CC_${key}', ${value});\n`;
135
+ }
136
+ result += '\n';
137
+ }
138
+ return result;
139
+ }
140
+ //#endregion export string
141
+ //#region declaration
142
+ genInternalConstants() {
143
+ const config = this._getConfig();
144
+ let result = `declare module 'internal:constants'{\n`;
145
+ for (const name in config) {
146
+ const info = config[name];
147
+ result += this._genConstantDeclaration(name, info);
148
+ }
149
+ result += '}\n';
150
+ return result;
151
+ }
152
+ genCCEnv() {
153
+ const config = this._getConfig();
154
+ let result = `declare module 'cc/env'{\n`;
155
+ for (const name in config) {
156
+ const info = config[name];
157
+ if (info.internal) {
158
+ continue;
159
+ }
160
+ result += this._genConstantDeclaration(name, info);
161
+ }
162
+ result += '}\n';
163
+ return result;
164
+ }
165
+ _genConstantDeclaration(name, info) {
166
+ let result = '\t/**\n';
167
+ let comments = info.comment.split('\n');
168
+ for (const comment of comments) {
169
+ result += `\t * ${comment}\n`;
170
+ }
171
+ result += '\t */\n';
172
+ result += `\texport const ${name}: ${info.type};\n\n`;
173
+ return result;
174
+ }
175
+ //#endregion declaration
176
+ //#region utils
177
+ _getConfig() {
178
+ const engineConfig = fs_extra_1.default.readJsonSync(path_1.default.join(this._engineRoot, './cc.config.json').replace(/\\/g, '/'));
179
+ const config = engineConfig.constants;
180
+ // init default value
181
+ for (const key in config) {
182
+ const info = config[key];
183
+ if (typeof info.ccGlobal === 'undefined') {
184
+ info.ccGlobal = false;
185
+ }
186
+ if (typeof info.dynamic === 'undefined') {
187
+ info.dynamic = false;
188
+ }
189
+ }
190
+ return config;
191
+ }
192
+ _hasCCGlobal(config) {
193
+ for (let key in config) {
194
+ const info = config[key];
195
+ if (info.ccGlobal) {
196
+ return true;
197
+ }
198
+ }
199
+ return false;
200
+ }
201
+ _hasDynamic(config) {
202
+ for (let key in config) {
203
+ const info = config[key];
204
+ if (info.dynamic) {
205
+ return true;
206
+ }
207
+ }
208
+ return false;
209
+ }
210
+ _evalExpression(expression, config) {
211
+ // eval sub expression
212
+ const matchResult = expression.match(/(?<=\$)\w+/g);
213
+ if (matchResult) {
214
+ for (let name of matchResult) {
215
+ const value = config[name].value;
216
+ if (typeof value === 'string') {
217
+ config[name].value = this._evalExpression(value, config);
218
+ }
219
+ }
220
+ }
221
+ // $EDITOR to $EDITOR.value
222
+ expression = expression.replace(/(?<=\$)(\w+)/g, '$1.value');
223
+ // $EDITOR to $.EDITOR.value
224
+ expression = expression.replace(/\$/g, '$.');
225
+ // do eval
226
+ const evalFn = new Function('$', `return ${expression}`);
227
+ return evalFn(config);
228
+ }
229
+ _applyOptionsToConfig(config, options) {
230
+ const { mode, platform, flags } = options;
231
+ // update value
232
+ if (config[mode]) {
233
+ config[mode].value = true;
234
+ }
235
+ else {
236
+ console.warn(`Unknown mode: ${mode}`);
237
+ }
238
+ if (config[platform]) {
239
+ config[platform].value = true;
240
+ }
241
+ else {
242
+ console.warn(`Unknown platform: ${platform}`);
243
+ }
244
+ for (const key in flags) {
245
+ const value = flags[key];
246
+ if (config[key]) {
247
+ config[key].value = value;
248
+ }
249
+ else {
250
+ console.warn(`Unknown flag: ${key}`);
251
+ }
252
+ }
253
+ // eval value
254
+ for (const key in config) {
255
+ const info = config[key];
256
+ if (typeof info.value === 'string') {
257
+ info.value = this._evalExpression(info.value, config);
258
+ }
259
+ }
260
+ }
261
+ }
262
+ exports.ConstantManager = ConstantManager;
263
+ //# sourceMappingURL=constant-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant-manager.js","sourceRoot":"","sources":["../../src/config-parser/constant-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ConfigParser = void 0;
27
+ const fs = __importStar(require("fs-extra"));
28
+ const ps = __importStar(require("path"));
29
+ /**
30
+ * The parser merging cc.config.json and build constant config.
31
+ */
32
+ class ConfigParser {
33
+ constructor(engineRoot) {
34
+ this._engineRoot = engineRoot;
35
+ }
36
+ //#region export string
37
+ exportDynamicConstants({ mode, platform, flags, }) {
38
+ const config = this._getConfig();
39
+ // init helper
40
+ let result = '';
41
+ if (this._hasCCGlobal(config)) {
42
+ result += fs.readFileSync(ps.join(__dirname, '../../static/helper-global-exporter.txt'), 'utf8') + '\n';
43
+ }
44
+ if (this._hasDynamic(config)) {
45
+ result += fs.readFileSync(ps.join(__dirname, '../../static/helper-dynamic-constants.txt'), 'utf8') + '\n';
46
+ }
47
+ // update value
48
+ if (config[mode]) {
49
+ config[mode].value = true;
50
+ }
51
+ else {
52
+ console.warn(`Unknown mode: ${mode}`);
53
+ }
54
+ if (config[platform]) {
55
+ config[platform].value = true;
56
+ }
57
+ else {
58
+ console.warn(`Unknown platform: ${platform}`);
59
+ }
60
+ for (const key in flags) {
61
+ const value = flags[key];
62
+ if (config[key]) {
63
+ config[key].value = value;
64
+ }
65
+ else {
66
+ console.warn(`Unknown flag: ${key}`);
67
+ }
68
+ }
69
+ // eval value
70
+ for (const key in config) {
71
+ const info = config[key];
72
+ if (typeof info.value === 'string') {
73
+ info.value = this._evalExpression(info.value, config);
74
+ }
75
+ }
76
+ // generate export content
77
+ for (const key in config) {
78
+ const info = config[key];
79
+ const value = info.value;
80
+ if (info.dynamic || info.internal) {
81
+ continue;
82
+ }
83
+ result += `export const ${key} = ${value};\n`;
84
+ if (info.ccGlobal) {
85
+ result += `tryDefineGlobal('CC_${key}', ${value});\n`;
86
+ }
87
+ result += '\n';
88
+ }
89
+ return result;
90
+ }
91
+ genBuildTimeConstants(options) {
92
+ const config = this._getConfig();
93
+ this._applyOptionsToConfig(config, options);
94
+ // generate json object
95
+ const jsonObj = {};
96
+ for (const key in config) {
97
+ const info = config[key];
98
+ jsonObj[key] = info.value;
99
+ }
100
+ return jsonObj;
101
+ }
102
+ genCCEnvConstants(options) {
103
+ const config = this._getConfig();
104
+ this._applyOptionsToConfig(config, options);
105
+ // generate json object
106
+ const jsonObj = {};
107
+ for (const key in config) {
108
+ const info = config[key];
109
+ if (!info.internal) {
110
+ jsonObj[key] = info.value;
111
+ }
112
+ }
113
+ return jsonObj;
114
+ }
115
+ exportStaticConstants({ mode, platform, flags, }) {
116
+ const config = this._getConfig();
117
+ // init helper
118
+ let result = '';
119
+ if (this._hasCCGlobal(config)) {
120
+ result += fs.readFileSync(ps.join(__dirname, '../static/helper-global-exporter.txt'), 'utf8') + '\n';
121
+ }
122
+ // update value
123
+ if (config[mode]) {
124
+ config[mode].value = true;
125
+ }
126
+ else {
127
+ console.warn(`Unknown mode: ${mode}`);
128
+ }
129
+ if (config[platform]) {
130
+ config[platform].value = true;
131
+ }
132
+ else {
133
+ console.warn(`Unknown platform: ${platform}`);
134
+ }
135
+ for (const key in flags) {
136
+ const value = flags[key];
137
+ if (config[key]) {
138
+ config[key].value = value;
139
+ }
140
+ else {
141
+ console.warn(`Unknown flag: ${key}`);
142
+ }
143
+ }
144
+ // eval value
145
+ for (const key in config) {
146
+ const info = config[key];
147
+ if (typeof info.value === 'string') {
148
+ info.value = this._evalExpression(info.value, config);
149
+ }
150
+ }
151
+ // generate export content
152
+ for (const key in config) {
153
+ const info = config[key];
154
+ const value = info.value;
155
+ result += `export const ${key} = ${value};\n`;
156
+ if (info.ccGlobal) {
157
+ result += `tryDefineGlobal('CC_${key}', ${value});\n`;
158
+ }
159
+ result += '\n';
160
+ }
161
+ return result;
162
+ }
163
+ //#endregion export string
164
+ //#region declaration
165
+ genInternalConstants() {
166
+ const config = this._getConfig();
167
+ let result = `declare module 'internal:constants'{\n`;
168
+ for (const name in config) {
169
+ const info = config[name];
170
+ result += this._genConstantDeclaration(name, info);
171
+ }
172
+ result += '}\n';
173
+ return result;
174
+ }
175
+ genCCEnv() {
176
+ const config = this._getConfig();
177
+ let result = `declare module 'cc/env'{\n`;
178
+ for (const name in config) {
179
+ const info = config[name];
180
+ if (info.internal) {
181
+ continue;
182
+ }
183
+ result += this._genConstantDeclaration(name, info);
184
+ }
185
+ result += '}\n';
186
+ return result;
187
+ }
188
+ _genConstantDeclaration(name, info) {
189
+ let result = '\t/**\n';
190
+ let comments = info.comment.split('\n');
191
+ for (const comment of comments) {
192
+ result += `\t * ${comment}\n`;
193
+ }
194
+ result += '\t */\n';
195
+ result += `\texport const ${name}: ${info.type};\n\n`;
196
+ return result;
197
+ }
198
+ //#endregion declaration
199
+ //#region utils
200
+ _getConfig() {
201
+ const engineConfig = fs.readJsonSync(ps.join(this._engineRoot, './cc.config.json').replace(/\\/g, '/'));
202
+ const config = engineConfig.constants;
203
+ // init default value
204
+ for (const key in config) {
205
+ const info = config[key];
206
+ if (typeof info.ccGlobal === 'undefined') {
207
+ info.ccGlobal = false;
208
+ }
209
+ if (typeof info.dynamic === 'undefined') {
210
+ info.dynamic = false;
211
+ }
212
+ }
213
+ return config;
214
+ }
215
+ _hasCCGlobal(config) {
216
+ for (let key in config) {
217
+ const info = config[key];
218
+ if (info.ccGlobal) {
219
+ return true;
220
+ }
221
+ }
222
+ return false;
223
+ }
224
+ _hasDynamic(config) {
225
+ for (let key in config) {
226
+ const info = config[key];
227
+ if (info.dynamic) {
228
+ return true;
229
+ }
230
+ }
231
+ return false;
232
+ }
233
+ _evalExpression(expression, config) {
234
+ // eval sub expression
235
+ const matchResult = expression.match(/(?<=\$)\w+/g);
236
+ if (matchResult) {
237
+ for (let name of matchResult) {
238
+ const value = config[name].value;
239
+ if (typeof value === 'string') {
240
+ config[name].value = this._evalExpression(value, config);
241
+ }
242
+ }
243
+ }
244
+ // $EDITOR to $EDITOR.value
245
+ expression = expression.replace(/(?<=\$)(\w+)/g, '$1.value');
246
+ // $EDITOR to $.EDITOR.value
247
+ expression = expression.replace(/\$/g, '$.');
248
+ // do eval
249
+ const evalFn = new Function('$', `return ${expression}`);
250
+ return evalFn(config);
251
+ }
252
+ _applyOptionsToConfig(config, options) {
253
+ const { mode, platform, flags } = options;
254
+ // update value
255
+ if (config[mode]) {
256
+ config[mode].value = true;
257
+ }
258
+ else {
259
+ console.warn(`Unknown mode: ${mode}`);
260
+ }
261
+ if (config[platform]) {
262
+ config[platform].value = true;
263
+ }
264
+ else {
265
+ console.warn(`Unknown platform: ${platform}`);
266
+ }
267
+ for (const key in flags) {
268
+ const value = flags[key];
269
+ if (config[key]) {
270
+ config[key].value = value;
271
+ }
272
+ else {
273
+ console.warn(`Unknown flag: ${key}`);
274
+ }
275
+ }
276
+ // eval value
277
+ for (const key in config) {
278
+ const info = config[key];
279
+ if (typeof info.value === 'string') {
280
+ info.value = this._evalExpression(info.value, config);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ exports.ConfigParser = ConfigParser;
286
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config-parser/index.ts"],"names":[],"mappings":"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"}