@cocos/ccbuild 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (56) hide show
  1. package/lib/api-builder.d.ts +0 -0
  2. package/lib/api-builder.js +2 -0
  3. package/lib/api-builder.js.map +1 -0
  4. package/lib/babel-plugins/transform-virtual-specifier.js +71 -0
  5. package/lib/babel-plugins/transform-virtual-specifier.js.map +1 -0
  6. package/lib/config-interface.js +3 -0
  7. package/lib/config-interface.js.map +1 -0
  8. package/lib/config-paerser/config-interface.js +3 -0
  9. package/lib/config-paerser/config-interface.js.map +1 -0
  10. package/lib/config-paerser/config-parser.js +34 -0
  11. package/lib/config-paerser/config-parser.js.map +1 -0
  12. package/lib/config-parser/config-interface.js +4 -0
  13. package/lib/config-parser/config-interface.js.map +1 -0
  14. package/lib/config-parser/config-parser.js +37 -0
  15. package/lib/config-parser/config-parser.js.map +1 -0
  16. package/lib/config-parser/constant-interface.js +3 -0
  17. package/lib/config-parser/constant-interface.js.map +1 -0
  18. package/lib/config-parser/constant-manager.js +263 -0
  19. package/lib/config-parser/constant-manager.js.map +1 -0
  20. package/lib/config-parser/index.js +286 -0
  21. package/lib/config-parser/index.js.map +1 -0
  22. package/lib/config-parser/stats-query.js +248 -0
  23. package/lib/config-parser/stats-query.js.map +1 -0
  24. package/lib/config-parser.js +34 -0
  25. package/lib/config-parser.js.map +1 -0
  26. package/lib/engine-builder.d.ts +41 -0
  27. package/lib/engine-builder.js +437 -0
  28. package/lib/engine-builder.js.map +1 -0
  29. package/lib/index.d.ts +1 -0
  30. package/lib/index.js +6 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/module-resolver.d.ts +7 -0
  33. package/lib/module-resolver.js +29 -0
  34. package/lib/module-resolver.js.map +1 -0
  35. package/lib/stats-query/config-interface.d.ts +129 -0
  36. package/lib/stats-query/config-interface.js +4 -0
  37. package/lib/stats-query/config-interface.js.map +1 -0
  38. package/lib/stats-query/constant-interface.js +3 -0
  39. package/lib/stats-query/constant-interface.js.map +1 -0
  40. package/lib/stats-query/constant-manager.d.ts +67 -0
  41. package/lib/stats-query/constant-manager.js +271 -0
  42. package/lib/stats-query/constant-manager.js.map +1 -0
  43. package/lib/stats-query/index.d.ts +91 -0
  44. package/lib/stats-query/index.js +264 -0
  45. package/lib/stats-query/index.js.map +1 -0
  46. package/lib/stats-query/path-utils.d.ts +2 -0
  47. package/lib/stats-query/path-utils.js +36 -0
  48. package/lib/stats-query/path-utils.js.map +1 -0
  49. package/lib/stats-query/stats-query.js +248 -0
  50. package/lib/stats-query/stats-query.js.map +1 -0
  51. package/lib/transformer.d.ts +2 -0
  52. package/lib/transformer.js +7 -0
  53. package/lib/transformer.js.map +1 -0
  54. package/package.json +3 -4
  55. package/static/helper-dynamic-constants.txt +12 -0
  56. package/static/helper-global-exporter.txt +9 -0
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=api-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-builder.js","sourceRoot":"","sources":["../src/api-builder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const ps = __importStar(require("path"));
30
+ const babel = __importStar(require("@babel/core"));
31
+ const traverse_1 = __importDefault(require("@babel/traverse"));
32
+ function default_1(api, { virtualModule }) {
33
+ let root = '', file = '';
34
+ return {
35
+ name: 'transform-virtual-specifier',
36
+ visitor: {
37
+ ImportDeclaration(path) {
38
+ const specifier = path.node.source.value;
39
+ if (virtualModule && specifier in virtualModule) {
40
+ (0, traverse_1.default)(path.node, {
41
+ StringLiteral(path) {
42
+ const virtualPath = ps.join(root, '__virtual__', specifier).replace(/\\/g, '/');
43
+ const relativePath = ps.relative(ps.dirname(file), virtualPath).replace(/\\/g, '/');
44
+ path.replaceWith(babel.types.stringLiteral(relativePath));
45
+ path.skip();
46
+ }
47
+ }, path.scope);
48
+ }
49
+ },
50
+ ExportDeclaration(path) {
51
+ // @ts-ignore
52
+ const source = path.node.source;
53
+ if (source) {
54
+ const specifier = source.value;
55
+ if (virtualModule && specifier in virtualModule) {
56
+ (0, traverse_1.default)(path.node, {
57
+ StringLiteral(path) {
58
+ const virtualPath = ps.join(root, '__virtual__', specifier).replace(/\\/g, '/');
59
+ const relativePath = ps.relative(ps.dirname(file), virtualPath).replace(/\\/g, '/');
60
+ path.replaceWith(babel.types.stringLiteral(relativePath));
61
+ path.skip();
62
+ }
63
+ }, path.scope);
64
+ }
65
+ }
66
+ },
67
+ }
68
+ };
69
+ }
70
+ exports.default = default_1;
71
+ //# sourceMappingURL=transform-virtual-specifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-virtual-specifier.js","sourceRoot":"","sources":["../../src/babel-plugins/transform-virtual-specifier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,mDAAqC;AACrC,+DAAuC;AAEvC,mBAAyB,GAAQ,EAAE,EAC/B,aAAa,EAGd;IACC,IAAI,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC;IACzB,OAAO;QACH,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE;YACL,iBAAiB,CAAC,IAAmD;gBAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAe,CAAC;gBACnD,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,EAAE;oBAC7C,IAAA,kBAAQ,EAAC,IAAI,CAAC,IAAI,EAAE;wBAChB,aAAa,CAAC,IAA+C;4BACzD,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;4BAChF,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;4BACpF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;4BAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChB,CAAC;qBACJ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBAClB;YACL,CAAC;YACD,iBAAiB,CAAC,IAAmD;gBACjE,aAAa;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,MAAM,EAAE;oBACR,MAAM,SAAS,GAAG,MAAM,CAAC,KAAe,CAAC;oBACzC,IAAI,aAAa,IAAI,SAAS,IAAI,aAAa,EAAE;wBAC7C,IAAA,kBAAQ,EAAC,IAAI,CAAC,IAAI,EAAE;4BAChB,aAAa,CAAC,IAA+C;gCACzD,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gCAChF,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gCACpF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;gCAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChB,CAAC;yBACJ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;qBAClB;iBACJ;YACL,CAAC;SACJ;KACJ,CAAA;AACL,CAAC;AA1CD,4BA0CC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config-interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-interface.js","sourceRoot":"","sources":["../src/config-interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=config-interface.js.map
@@ -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":";;;;;;AAAA,wDAA6B;AAC7B,gDAAsB;AAqBtB,MAAa,eAAe;IAGxB,YAAa,UAAkB;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,uBAAuB;IAChB,sBAAsB,CAAE,EAC3B,IAAI,EACJ,QAAQ,EACR,KAAK,GACS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,cAAc;QACd,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC3B,MAAM,IAAI,kBAAK,CAAC,YAAY,CAAC,cAAE,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;SAC3G;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,IAAI,kBAAK,CAAC,YAAY,CAAC,cAAE,CAAC,IAAI,CAAC,SAAS,EAAE,wCAAwC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;SAC7G;QAED,eAAe;QACf,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SAC7B;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SACjC;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACjD;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAe,CAAE,CAAC;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;aAC7B;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;aACxC;SACJ;QAED,aAAa;QACb,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACzD;SACJ;QAED,0BAA0B;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC/B,SAAS;aACZ;YACD,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,KAAK,CAAC;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,IAAI,uBAAuB,GAAG,MAAM,KAAK,MAAM,CAAA;aACxD;YACD,MAAM,IAAI,IAAI,CAAC;SAClB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,qBAAqB,CAAE,OAAwB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5C,uBAAuB;QACvB,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAkB,CAAC;SAC1C;QACD,OAAO,OAA6B,CAAC;IACzC,CAAC;IAEM,iBAAiB,CAAE,OAAwB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5C,uBAAuB;QACvB,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAkB,CAAC;aAC1C;SACJ;QACD,OAAO,OAAyB,CAAC;IACrC,CAAC;IAEM,qBAAqB,CAAE,EAC1B,IAAI,EACJ,QAAQ,EACR,KAAK,GACS;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,cAAc;QACd,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YAC3B,MAAM,IAAI,kBAAK,CAAC,YAAY,CAAC,cAAE,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;SAC3G;QAED,eAAe;QACf,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SAC7B;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SACjC;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACjD;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAe,CAAE,CAAC;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;aAC7B;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;aACxC;SACJ;QAED,aAAa;QACb,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACzD;SACJ;QAED,0BAA0B;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,IAAI,gBAAgB,GAAG,MAAM,KAAK,KAAK,CAAC;YAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,IAAI,uBAAuB,GAAG,MAAM,KAAK,MAAM,CAAA;aACxD;YACD,MAAM,IAAI,IAAI,CAAC;SAClB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,0BAA0B;IAE1B,qBAAqB;IACd,oBAAoB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAG,wCAAwC,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtD;QACD,MAAM,IAAI,KAAK,CAAC;QAEhB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,QAAQ;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,MAAM,GAAG,4BAA4B,CAAC;QAE1C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,SAAS;aACZ;YACD,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtD;QACD,MAAM,IAAI,KAAK,CAAC;QAEhB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,uBAAuB,CAAE,IAAY,EAAE,IAAmB;QAC9D,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,IAAI,QAAQ,OAAO,IAAI,CAAC;SACjC;QACD,MAAM,IAAI,SAAS,CAAC;QACpB,MAAM,IAAI,kBAAkB,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAA;QACrD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,wBAAwB;IAExB,eAAe;IACP,UAAU;QACd,MAAM,YAAY,GAAI,kBAAK,CAAC,YAAY,CAAC,cAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAW,CAAC;QACtH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;QAEtC,qBAAqB;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACzB;YACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE;gBACrC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,YAAY,CAAE,MAAuB;QACzC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,WAAW,CAAE,MAAuB;QACxC,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAE,UAAkB,EAAE,MAAuB;QAChE,sBAAsB;QACtB,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,WAAW,EAAE;YACb,KAAK,IAAI,IAAI,IAAI,WAAW,EAAE;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;gBACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;iBAC5D;aACJ;SACJ;QACD,2BAA2B;QAC3B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC7D,4BAA4B;QAC5B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7C,UAAU;QACV,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEO,qBAAqB,CAAE,MAAuB,EAAE,OAAwB;QAC5E,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAE1C,eAAe;QACf,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SAC7B;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;SACzC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;SACjC;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SACjD;QACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;YACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAe,CAAE,CAAC;YACtC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;aAC7B;iBAAM;gBACH,OAAO,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;aACxC;SACJ;QAED,aAAa;QACb,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACzD;SACJ;IACL,CAAC;CAEJ;AA/RD,0CA+RC"}