@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,248 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.StatsQuery = void 0;
16
+ const path_1 = __importDefault(require("path"));
17
+ const fs_extra_1 = __importDefault(require("fs-extra"));
18
+ const json5_1 = __importDefault(require("json5"));
19
+ const dedent_1 = __importDefault(require("dedent"));
20
+ const constant_manager_1 = require("./constant-manager");
21
+ /**
22
+ * Query any any stats of the engine.
23
+ */
24
+ class StatsQuery {
25
+ constructor(engine, config) {
26
+ this._index = { modules: {} };
27
+ this._features = {};
28
+ this._featureUnits = {};
29
+ this._editorPublicModules = {};
30
+ this._config = config;
31
+ this._engine = engine;
32
+ this.constantManager = new constant_manager_1.ConstantManager(engine);
33
+ }
34
+ /**
35
+ * @param engine Path to the engine root.
36
+ */
37
+ static create(engine) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const configFile = path_1.default.join(engine, 'cc.config.json');
40
+ const config = json5_1.default.parse(yield fs_extra_1.default.readFile(configFile, 'utf8'));
41
+ // @ts-ignore
42
+ delete config['$schema'];
43
+ const query = new StatsQuery(engine, config);
44
+ yield query._initialize();
45
+ return query;
46
+ });
47
+ }
48
+ /**
49
+ * Gets the path to the engine root.
50
+ */
51
+ get path() {
52
+ return this._engine;
53
+ }
54
+ /**
55
+ * Gets the path to tsconfig.
56
+ */
57
+ get tsConfigPath() {
58
+ return path_1.default.join(this._engine, 'tsconfig.json');
59
+ }
60
+ /**
61
+ * Gets all optimzie decorators
62
+ */
63
+ getOptimizeDecorators() {
64
+ return this._config.optimizeDecorators;
65
+ }
66
+ /**
67
+ * Gets all features defined.
68
+ */
69
+ getFeatures() {
70
+ return Object.keys(this._features);
71
+ }
72
+ /**
73
+ * Returns if the specified feature is defined.
74
+ * @param feature Feature ID.
75
+ */
76
+ hasFeature(feature) {
77
+ return !!this._features[feature];
78
+ }
79
+ // TODO: it seems we don't need this interface for now.
80
+ // public isNativeOnlyFeature (feature: string) {
81
+ // return !!this._features[feature].isNativeOnly;
82
+ // }
83
+ /**
84
+ * Gets all feature units included in specified features.
85
+ * @param featureIds Feature ID.
86
+ */
87
+ getUnitsOfFeatures(featureIds) {
88
+ var _a;
89
+ const units = new Set();
90
+ for (const featureId of featureIds) {
91
+ (_a = this._features[featureId]) === null || _a === void 0 ? void 0 : _a.modules.forEach((entry) => units.add(entry));
92
+ }
93
+ return Array.from(units);
94
+ }
95
+ getIntrinsicFlagsOfFeatures(featureIds) {
96
+ var _a;
97
+ const flags = {};
98
+ for (const featureId of featureIds) {
99
+ const featureFlags = (_a = this._features[featureId]) === null || _a === void 0 ? void 0 : _a.intrinsicFlags;
100
+ if (featureFlags) {
101
+ Object.assign(flags, featureFlags);
102
+ }
103
+ }
104
+ return flags;
105
+ }
106
+ /**
107
+ * Gets all feature units in their names.
108
+ */
109
+ getFeatureUnits() {
110
+ return Object.keys(this._featureUnits);
111
+ }
112
+ /**
113
+ * Gets the path to source file of the feature unit.
114
+ * @param moduleId Name of the feature unit.
115
+ */
116
+ getFeatureUnitFile(featureUnit) {
117
+ return this._featureUnits[featureUnit];
118
+ }
119
+ /**
120
+ * Gets all editor public modules in their names.
121
+ */
122
+ getEditorPublicModules() {
123
+ return Object.keys(this._editorPublicModules);
124
+ }
125
+ /**
126
+ * Gets the path to source file of the editor-public module.
127
+ * @param moduleName Name of the public module.
128
+ */
129
+ getEditorPublicModuleFile(moduleName) {
130
+ return this._editorPublicModules[moduleName];
131
+ }
132
+ /**
133
+ * Gets the source of `'cc'`.
134
+ * @param featureUnits Involved feature units.
135
+ * @param mapper If exists, map the feature unit name into another module request.
136
+ */
137
+ evaluateIndexModuleSource(featureUnits, mapper) {
138
+ return featureUnits.map((featureUnit) => {
139
+ var _a, _b;
140
+ const indexInfo = this._index.modules[featureUnit];
141
+ const ns = indexInfo === null || indexInfo === void 0 ? void 0 : indexInfo.ns;
142
+ if (ns) {
143
+ return (0, dedent_1.default) `
144
+ import * as ${ns} from '${(_a = mapper === null || mapper === void 0 ? void 0 : mapper(featureUnit)) !== null && _a !== void 0 ? _a : featureUnit}';
145
+ export { ${ns} };
146
+ `;
147
+ }
148
+ return `export * from '${(_b = mapper === null || mapper === void 0 ? void 0 : mapper(featureUnit)) !== null && _b !== void 0 ? _b : featureUnit}';`;
149
+ }).join('\n');
150
+ }
151
+ /**
152
+ * Evaluates the source of `'internal-constants'`(`'cc/env'`),
153
+ * @param context
154
+ */
155
+ evaluateEnvModuleSourceFromRecord(record) {
156
+ return Object.entries(record).map(([k, v]) => `export const ${k} = ${v};`).join('\n');
157
+ }
158
+ /**
159
+ * Evaluates module overrides under specified context.
160
+ * @param context
161
+ */
162
+ evaluateModuleOverrides(context) {
163
+ var _a;
164
+ const overrides = {};
165
+ const addModuleOverrides = (moduleOverrides, isVirtualModule) => {
166
+ for (let [source, override] of Object.entries(moduleOverrides)) {
167
+ const normalizedSource = isVirtualModule ? source : path_1.default.resolve(this._engine, source);
168
+ override = this._evalPathTemplate(override, context);
169
+ const normalizedOverride = path_1.default.resolve(this._engine, override);
170
+ overrides[normalizedSource] = normalizedOverride;
171
+ }
172
+ };
173
+ (_a = this._config.moduleOverrides) === null || _a === void 0 ? void 0 : _a.forEach(({ test, overrides, isVirtualModule }) => {
174
+ if (this._evalTest(test, context)) {
175
+ addModuleOverrides(overrides, isVirtualModule);
176
+ }
177
+ });
178
+ return overrides;
179
+ }
180
+ static _readModulesInDir(exportsDir, mapper) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ const result = {};
183
+ for (const entryFileName of yield fs_extra_1.default.readdir(exportsDir)) {
184
+ const entryExtName = path_1.default.extname(entryFileName);
185
+ if (!entryExtName.toLowerCase().endsWith('.ts')) {
186
+ continue;
187
+ }
188
+ const baseName = path_1.default.basename(entryFileName, entryExtName);
189
+ const moduleName = mapper(baseName);
190
+ const entryFile = path_1.default.join(exportsDir, entryFileName);
191
+ result[moduleName] = entryFile;
192
+ }
193
+ return result;
194
+ });
195
+ }
196
+ static _baseNameToFeatureUnitName(baseName) {
197
+ return `${baseName}`;
198
+ }
199
+ static _editorBaseNameToModuleName(baseName) {
200
+ return `cc/editor/${baseName}`;
201
+ }
202
+ _evalTest(test, context) {
203
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval,no-new-func
204
+ const result = new Function('context', `return ${test}`)(context);
205
+ // console.debug(`Eval "${test}" to ${result}`);
206
+ return result;
207
+ }
208
+ _evalPathTemplate(pathTemplate, context) {
209
+ let resultPath = pathTemplate;
210
+ const regExp = /\{\{(.*?)\}\}/g;
211
+ let exeResult;
212
+ while (exeResult = regExp.exec(pathTemplate)) {
213
+ const templateItem = exeResult[0];
214
+ const exp = exeResult[1];
215
+ const evalResult = (new Function('context', `return ${exp}`)(context));
216
+ resultPath = pathTemplate.replace(templateItem, evalResult);
217
+ }
218
+ return resultPath;
219
+ }
220
+ _initialize() {
221
+ return __awaiter(this, void 0, void 0, function* () {
222
+ const { _config: config, _engine: engine } = this;
223
+ const featureUnits = this._featureUnits = yield StatsQuery._readModulesInDir(path_1.default.join(engine, 'exports'), StatsQuery._baseNameToFeatureUnitName);
224
+ for (const [featureName, feature] of Object.entries(config.features)) {
225
+ const parsedFeature = this._features[featureName] = { modules: [] };
226
+ for (const moduleFileBaseName of feature.modules) {
227
+ const featureUnitName = StatsQuery._baseNameToFeatureUnitName(moduleFileBaseName);
228
+ if (!featureUnits[featureUnitName]) {
229
+ throw new Error(`Invalid config file: '${moduleFileBaseName}' is not a valid module.`);
230
+ }
231
+ parsedFeature.modules.push(featureUnitName);
232
+ }
233
+ parsedFeature.intrinsicFlags = feature.intrinsicFlags;
234
+ }
235
+ if (config.index) {
236
+ if (config.index.modules) {
237
+ for (const [k, v] of Object.entries(config.index.modules)) {
238
+ this._index.modules[StatsQuery._baseNameToFeatureUnitName(k)] = v;
239
+ }
240
+ }
241
+ this._index = Object.assign(Object.assign({}, config.index), { modules: this._index.modules });
242
+ }
243
+ this._editorPublicModules = yield StatsQuery._readModulesInDir(path_1.default.join(engine, 'editor', 'exports'), StatsQuery._editorBaseNameToModuleName);
244
+ });
245
+ }
246
+ }
247
+ exports.StatsQuery = StatsQuery;
248
+ //# sourceMappingURL=stats-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats-query.js","sourceRoot":"","sources":["../../src/stats-query/stats-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import * as core from '@babel/core';
2
+ import * as parser from '@babel/parser';
3
+ import * as traverse from '@babel/traverse';
4
+ export { core, parser, traverse, };
5
+ //# sourceMappingURL=babel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel.d.ts","sourceRoot":"","sources":["../../src/transformer/babel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACH,IAAI,EACJ,MAAM,EACN,QAAQ,GACX,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.traverse = exports.parser = exports.core = void 0;
23
+ const core = __importStar(require("@babel/core"));
24
+ exports.core = core;
25
+ const parser = __importStar(require("@babel/parser"));
26
+ exports.parser = parser;
27
+ const traverse = __importStar(require("@babel/traverse"));
28
+ exports.traverse = traverse;
29
+ //# sourceMappingURL=babel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babel.js","sourceRoot":"","sources":["../../src/transformer/babel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AAKhC,oBAAI;AAJR,sDAAwC;AAKpC,wBAAM;AAJV,0DAA4C;AAKxC,4BAAQ"}
@@ -0,0 +1,3 @@
1
+ import * as babel from './babel';
2
+ export { babel };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.babel = void 0;
23
+ const babel = __importStar(require("./babel"));
24
+ exports.babel = babel;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transformer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAExB,sBAAK"}
@@ -0,0 +1,3 @@
1
+ export declare class Transformer {
2
+ }
3
+ //# sourceMappingURL=transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;CAEvB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Transformer = void 0;
4
+ class Transformer {
5
+ }
6
+ exports.Transformer = Transformer;
7
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../src/transformer.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;CAEvB;AAFD,kCAEC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.34.4"
9
+ }
10
+ ]
11
+ }
package/lib/utils.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export declare function asserts(expr: unknown, message?: string): boolean;
2
+ export declare function filePathToModuleRequest(path: string): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,MAAM,UAEpD"}
package/lib/utils.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filePathToModuleRequest = exports.asserts = void 0;
4
+ function asserts(expr, message) {
5
+ if (!expr) {
6
+ throw new Error(message);
7
+ }
8
+ return true;
9
+ }
10
+ exports.asserts = asserts;
11
+ function filePathToModuleRequest(path) {
12
+ return path.replace(/\\/g, '\\\\');
13
+ }
14
+ exports.filePathToModuleRequest = filePathToModuleRequest;
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAC,IAAa,EAAE,OAAgB;IACnD,IAAI,CAAC,IAAI,EAAE;QACP,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AALD,0BAKC;AAED,SAAgB,uBAAuB,CAAE,IAAY;IACjD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAFD,0DAEC"}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@cocos/ccbuild",
3
+ "version": "0.0.0-20230331092722",
4
+ "description": "The next generation of build tool for Cocos engine.",
5
+ "main": "./lib/index.js",
6
+ "typings": "./lib/index.d.ts",
7
+ "scripts": {
8
+ "change": "changeset add",
9
+ "version": "changeset version",
10
+ "version-alpha": "changeset pre enter alpha && changeset version && changeset pre exit",
11
+ "api": "tsc && api-extractor run --local --verbose",
12
+ "test": "jest"
13
+ },
14
+ "files": [
15
+ "lib/**/*",
16
+ "static/**/*"
17
+ ],
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://gitee.com/pp_pro/ccbuild.git"
21
+ },
22
+ "keywords": [
23
+ "cocos",
24
+ "engine",
25
+ "build",
26
+ "compile"
27
+ ],
28
+ "author": "PP_Pro",
29
+ "license": "MIT",
30
+ "devDependencies": {
31
+ "@changesets/cli": "^2.26.1",
32
+ "@microsoft/api-extractor": "^7.34.4",
33
+ "@types/babel__preset-env": "^7.9.2",
34
+ "@types/dedent": "^0.7.0",
35
+ "@types/eslint": "^8.21.1",
36
+ "@types/fs-extra": "^9.0.13",
37
+ "@types/jest": "^29.2.3",
38
+ "jest": "^29.3.1",
39
+ "ts-jest": "^29.0.3"
40
+ },
41
+ "dependencies": {
42
+ "@babel/core": "^7.20.12",
43
+ "@babel/parser": "^7.20.13",
44
+ "@babel/plugin-syntax-decorators": "^7.19.0",
45
+ "@babel/plugin-syntax-typescript": "^7.20.0",
46
+ "@babel/plugin-transform-for-of": "^7.21.0",
47
+ "@babel/preset-env": "^7.20.2",
48
+ "@babel/traverse": "^7.20.13",
49
+ "@cocos/babel-plugin-dynamic-import-vars": "^1.0.2",
50
+ "@cocos/creator-programming-babel-preset-cc": "1.0.1-alpha.2",
51
+ "@rollup/plugin-babel": "^6.0.3",
52
+ "@rollup/plugin-commonjs": "^24.0.1",
53
+ "@rollup/plugin-json": "^6.0.0",
54
+ "@rollup/plugin-node-resolve": "^15.0.1",
55
+ "@rollup/plugin-terser": "^0.4.0",
56
+ "@rollup/plugin-virtual": "^3.0.1",
57
+ "@types/resolve": "^1.20.2",
58
+ "@typescript-eslint/eslint-plugin": "^5.52.0",
59
+ "@typescript-eslint/parser": "^5.52.0",
60
+ "dedent": "^0.7.0",
61
+ "eslint": "^8.34.0",
62
+ "eslint-plugin-unused-imports": "^2.0.0",
63
+ "fs-extra": "^10.1.0",
64
+ "glob": "^9.2.1",
65
+ "json5": "^2.2.3",
66
+ "resolve": "^1.22.1",
67
+ "rollup": "^3.20.2",
68
+ "typescript": "^4.9.3"
69
+ }
70
+ }
@@ -0,0 +1,12 @@
1
+ function defined (name) {
2
+ const _global = typeof window === 'undefined' ? global : window;
3
+ return typeof _global[name] === 'object';
4
+ }
5
+
6
+ export const TEST = tryDefineGlobal('CC_TEST', defined('tap') || defined('QUnit'));
7
+ export const EDITOR = tryDefineGlobal('CC_EDITOR', defined('Editor') && defined('process') && ('electron' in process.versions));
8
+ export const PREVIEW = tryDefineGlobal('CC_PREVIEW', !EDITOR);
9
+ export const JSB = tryDefineGlobal('CC_JSB', defined('jsb'));
10
+ export const NATIVE = JSB;
11
+ export const HTML5 = !(EDITOR && NATIVE);
12
+ export const DEV = tryDefineGlobal('CC_DEV', true);
@@ -0,0 +1,9 @@
1
+ function tryDefineGlobal (name, value) {
2
+ const _global = typeof window === 'undefined' ? global : window;
3
+ if (typeof _global[name] === 'undefined') {
4
+ return (_global[name] = value);
5
+ } else {
6
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
7
+ return _global[name];
8
+ }
9
+ }