@kurot/cli 1.1.4 → 1.3.0

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,51 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht
7
7
 
8
8
  ## Unreleased
9
9
 
10
+ ## 1.3.0 — 2026-09-20
11
+
12
+ ### Added
13
+
14
+ - Generated declarations now narrow each exported project class's public
15
+ `skinParts` accessor from an explicit string-literal `skinName`, a configured
16
+ reusable-component pair, or a unique `<ClassName>Skin` naming match.
17
+ - Added ambiguity protection: convention inference is omitted when multiple
18
+ compiled skins share the same short `<ClassName>Skin` name.
19
+
20
+ ### Changed
21
+
22
+ - Project classes no longer need to repeat their skin as a base-class generic
23
+ when the CLI can establish an unambiguous host-to-skin relationship.
24
+
25
+ ### Tests
26
+
27
+ - Added regression coverage for explicit assignment, reusable-component,
28
+ unique naming-convention, and ambiguous naming-convention host inference.
29
+
30
+ ## 1.2.0 — 2026-09-20
31
+
32
+ ### Added
33
+
34
+ - EXML compilation now generates `.kurot/skin-parts.d.ts`, augmenting
35
+ `@kurot/ui`'s `SkinPartsMap` with the exact named parts and component types
36
+ for every compiled skin.
37
+ - Generated declarations resolve convention-based and manually configured
38
+ namespace components back to their project TypeScript modules.
39
+
40
+ ### Changed
41
+
42
+ - New project TypeScript configurations include `.kurot/**/*.d.ts` so typed
43
+ skin parts are available to editors and `tsc` without entering runtime
44
+ bundles.
45
+ - New projects ignore the generated `.kurot` directory together with build and
46
+ dependency output.
47
+ - Updated custom-component guidance for the atomic skin lifecycle introduced by
48
+ `@kurot/ui@2.0.0`.
49
+
50
+ ### Tests
51
+
52
+ - Added regression coverage for built-in and project-component skin-part
53
+ declarations and for the generated-project TypeScript and ignore settings.
54
+
10
55
  ## 1.1.4 — 2026-09-09
11
56
 
12
57
  ### Changed
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CLI tool for the Kurot game engine — a modern replacement for the legacy Egret CLI. Powered by esbuild for fast compilation, with a built-in EXML skin parser and code generator.
4
4
 
5
- > **Stable (1.1.4).** Requires Node.js 20 or later and emits ES2022 ESM projects.
5
+ > **Current release: 1.3.0.** Requires Node.js 20 or later and emits ES2022 ESM projects.
6
6
 
7
7
  > Migrating from Egret? See [egret-migration.md](../../docs/egret-migration.md)
8
8
  >
@@ -258,21 +258,53 @@ class name within the configured namespace.
258
258
  Development builds also emit `.kurot/component-catalog.json` for editor and
259
259
  agent tooling. The catalog is intentionally omitted from release output.
260
260
 
261
+ Every successful EXML compilation also writes `.kurot/skin-parts.d.ts`. It
262
+ augments `@kurot/ui`'s `SkinPartsMap` with the exact named parts and runtime
263
+ types found in each compiled skin. It also discovers exported project classes
264
+ through a compiled string-literal `this.skinName`, configured reusable-component
265
+ pairs, or a unique `<ClassName>Skin` naming match, then narrows their inherited
266
+ public `skinParts` property automatically. Ambiguous naming matches are left
267
+ untyped instead of being guessed. The generated file is included by the template
268
+ `tsconfig.json`, ignored by git, and never enters browser or release bundles.
269
+
261
270
  `exml.namespaces` remains available for advanced manual namespace barrels, but
262
271
  its prefix must not conflict with `exml.components.namespace`.
263
272
 
264
273
  ### Custom component lifecycle
265
274
 
266
- For initialization that requires every EXML skin part to be available, override
267
- `childrenCreated()`:
275
+ Assign the runtime skin once and initialize skin-dependent behavior in
276
+ `onSkinReady()`. The generated declaration derives the `skinParts` type from that
277
+ assignment:
268
278
 
269
279
  ```ts
270
280
  import { Component } from '@kurot/ui';
271
281
 
282
+
272
283
  export class BattlePanel extends Component {
273
- protected override childrenCreated(): void {
274
- super.childrenCreated();
275
- // imgBg, imgFrame, groupField, and other skin parts are now bound.
284
+ public constructor() {
285
+ super();
286
+ this.skinName = 'game.ui.BattlePanelSkin';
287
+ }
288
+
289
+ protected override onSkinReady(): void {
290
+ super.onSkinReady();
291
+ this.skinParts.groupField.visible = true;
292
+ }
293
+ }
294
+ ```
295
+
296
+ The same declaration narrowing applies when the runtime assigns the skin
297
+ externally. For example, an exported `MultiplierIR` class is matched to a
298
+ unique compiled `ui.MultiplierIRSkin`, so the renderer remains free of a
299
+ repeated generic skin name:
300
+
301
+ ```ts
302
+ import { ItemRenderer } from '@kurot/ui';
303
+
304
+ export class MultiplierIR extends ItemRenderer {
305
+ protected override onSkinReady(): void {
306
+ super.onSkinReady();
307
+ this.skinParts.lblMultiplier.text = '';
276
308
  }
277
309
  }
278
310
  ```
@@ -285,9 +317,16 @@ import { UIEvent } from '@kurot/ui';
285
317
  this.once(UIEvent.CREATION_COMPLETE, this.onCreationComplete);
286
318
  ```
287
319
 
288
- Use `partAdded()` and `partRemoved()` only when logic must follow an individual
289
- skin part across skin replacements. `childrenCreated()` and
290
- `UIEvent.CREATION_COMPLETE` run once for the component's initial creation.
320
+ Use `onSkinReady()` to initialize logic that depends on skin parts and
321
+ `onSkinRemoved()` to release listeners or other bindings before replacement.
322
+ `childrenCreated()` and `UIEvent.CREATION_COMPLETE` run once for the component's
323
+ initial creation and are not skin-replacement hooks.
324
+
325
+ UI 2.0 no longer copies part names onto component instances and no longer
326
+ supports `setSkinPart()`, `partAdded()`, or `partRemoved()`. Read parts through
327
+ `this.skinParts` only while the skin-ready lifecycle is active. Use an explicit
328
+ generic skin type when generated host declarations are unavailable outside a
329
+ CLI project.
291
330
 
292
331
  EXML skins compiled by the CLI are registered under their complete `class`
293
332
  attribute, so an Egret-style value such as
@@ -321,6 +360,9 @@ A project created with the default template (`game`) has the following structure
321
360
 
322
361
  ```
323
362
  my-game/
363
+ ├── .kurot/
364
+ │ └── skin-parts.d.ts # Generated typed EXML part declarations
365
+ ├── .gitignore # Excludes .kurot and build/dependency output
324
366
  ├── kurot.config.ts # Project config (includes exml options)
325
367
  ├── package.json # Dependencies & scripts
326
368
  ├── tsconfig.json # TypeScript config
@@ -1,4 +1,5 @@
1
1
  import type { BuildContext } from '../pipeline.js';
2
+ import type { SkinIR } from './ast.js';
2
3
  /**
3
4
  * EXML source file resolved for skin compilation.
4
5
  */
@@ -26,10 +27,17 @@ export interface CompiledSkin {
26
27
  */
27
28
  readonly className: string;
28
29
  }
30
+ /**
31
+ * Installed skin bundle and the parsed skins used to build it.
32
+ */
33
+ export interface BuiltSkinsModule {
34
+ readonly filename: string;
35
+ readonly skins: readonly SkinIR[];
36
+ }
29
37
  /**
30
38
  * Builds and atomically installs the ESM bundle for a set of EXML skins.
31
39
  *
32
- * @returns The installed bundle's filename relative to the output `js` directory.
40
+ * @returns The installed bundle filename and the parsed skins used to build it.
33
41
  */
34
- export declare function buildSkinsModule(ctx: BuildContext, skins: readonly CompiledSkin[]): Promise<string>;
42
+ export declare function buildSkinsModule(ctx: BuildContext, skins: readonly CompiledSkin[]): Promise<BuiltSkinsModule>;
35
43
  //# sourceMappingURL=skin-module-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skin-module-builder.d.ts","sourceRoot":"","sources":["../../../src/core/exml/skin-module-builder.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBzG"}
1
+ {"version":3,"file":"skin-module-builder.d.ts","sourceRoot":"","sources":["../../../src/core/exml/skin-module-builder.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4BnH"}
@@ -11,7 +11,7 @@ import { generateCode, parseToIR } from './index.js';
11
11
  /**
12
12
  * Builds and atomically installs the ESM bundle for a set of EXML skins.
13
13
  *
14
- * @returns The installed bundle's filename relative to the output `js` directory.
14
+ * @returns The installed bundle filename and the parsed skins used to build it.
15
15
  */
16
16
  export async function buildSkinsModule(ctx, skins) {
17
17
  const temporaryRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'kurot-skins-'));
@@ -20,15 +20,18 @@ export async function buildSkinsModule(ctx, skins) {
20
20
  if (modules.some(module => module === undefined) || ctx.diagnostics.hasErrors()) {
21
21
  throw new BuildError('EXML compilation failed.');
22
22
  }
23
- const sources = modules.filter((module) => module !== undefined);
23
+ const compiledModules = modules.filter((module) => module !== undefined);
24
24
  const stubDir = path.join(temporaryRoot, 'stubs');
25
25
  const bundleDir = path.join(temporaryRoot, 'bundle');
26
26
  await Promise.all([ensureDir(stubDir), ensureDir(bundleDir)]);
27
- await Promise.all(sources.map((source, index) => fs.writeFile(path.join(stubDir, `skin${index}.ts`), source)));
27
+ await Promise.all(compiledModules.map((module, index) => fs.writeFile(path.join(stubDir, `skin${index}.ts`), module.source)));
28
28
  await fs.writeFile(path.join(stubDir, 'index.ts'), createIndex(skins) + '\n');
29
29
  const outputName = await bundleSkins(ctx, stubDir, bundleDir);
30
30
  await installBundle(bundleDir, outputName, path.join(ctx.project.outputDir, 'js'));
31
- return outputName;
31
+ return {
32
+ filename: outputName,
33
+ skins: compiledModules.map(module => module.skin),
34
+ };
32
35
  }
33
36
  finally {
34
37
  await fs.rm(temporaryRoot, { recursive: true, force: true });
@@ -47,7 +50,10 @@ async function generateSkinModule(ctx, skin) {
47
50
  ctx.diagnostics.report(diagnostic);
48
51
  logger.warn(`${diagnostic.location?.file}: ${diagnostic.message}`);
49
52
  }
50
- return generateCode(ir, { format: 'esm' });
53
+ return {
54
+ source: generateCode(ir, { format: 'esm' }),
55
+ skin: ir,
56
+ };
51
57
  }
52
58
  catch (error) {
53
59
  const message = error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"skin-module-builder.js","sourceRoot":"","sources":["../../../src/core/exml/skin-module-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skin-module-builder.js","sourceRoot":"","sources":["../../../src/core/exml/skin-module-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { SkinIR } from './ast.js';
2
+ import type { Project } from '../project.js';
3
+ /**
4
+ * Project-root-relative path of the generated skin-part declaration.
5
+ */
6
+ export declare const SKIN_PARTS_DECLARATION_PATH = ".kurot/skin-parts.d.ts";
7
+ /**
8
+ * Generates the project declaration that augments `@kurot/ui`'s
9
+ * `SkinPartsMap` with every compiled skin and its complete named part set.
10
+ */
11
+ export declare function generateSkinPartsDeclaration(project: Project, skins: readonly SkinIR[]): Promise<string>;
12
+ //# sourceMappingURL=skin-parts-declaration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skin-parts-declaration.d.ts","sourceRoot":"","sources":["../../../src/core/exml/skin-parts-declaration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAcpE;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C9G"}
@@ -0,0 +1,182 @@
1
+ import * as fs from 'node:fs/promises';
2
+ import * as path from 'node:path';
3
+ /**
4
+ * Project-root-relative path of the generated skin-part declaration.
5
+ */
6
+ export const SKIN_PARTS_DECLARATION_PATH = '.kurot/skin-parts.d.ts';
7
+ /**
8
+ * Generates the project declaration that augments `@kurot/ui`'s
9
+ * `SkinPartsMap` with every compiled skin and its complete named part set.
10
+ */
11
+ export async function generateSkinPartsDeclaration(project, skins) {
12
+ const declarationFile = path.join(project.root, SKIN_PARTS_DECLARATION_PATH);
13
+ const entries = skins
14
+ .map(skin => ({
15
+ className: skin.className,
16
+ parts: collectSkinParts(project, declarationFile, skin),
17
+ }))
18
+ .sort((a, b) => a.className.localeCompare(b.className));
19
+ const modules = [...new Set(entries.flatMap(entry => entry.parts.map(part => part.module)))].sort();
20
+ const aliases = new Map(modules.map((module, index) => [module, `SkinPartModule${index}`]));
21
+ const hosts = await collectSkinHosts(project, declarationFile, entries.map(entry => entry.className));
22
+ const lines = ['// Generated by @kurot/cli from compiled EXML skins.', '// @generated — do not edit manually.', ''];
23
+ for (const module of modules) {
24
+ lines.push(`import type * as ${aliases.get(module)} from ${JSON.stringify(module)};`);
25
+ }
26
+ if (modules.length > 0) {
27
+ lines.push('');
28
+ }
29
+ lines.push('declare module "@kurot/ui" {', '\tinterface SkinPartsMap {');
30
+ for (const entry of entries) {
31
+ lines.push(`\t\t${JSON.stringify(entry.className)}: {`);
32
+ for (const part of entry.parts) {
33
+ lines.push(`\t\t\treadonly ${JSON.stringify(part.name)}: ${aliases.get(part.module)}.${part.className};`);
34
+ }
35
+ lines.push('\t\t};');
36
+ }
37
+ lines.push('\t}', '}', '');
38
+ for (const host of hosts) {
39
+ lines.push(`declare module ${JSON.stringify(host.module)} {`, `\tinterface ${host.className} {`, `\t\treadonly skinParts: import("@kurot/ui").SkinPartsOf<${JSON.stringify(host.skinName)}>;`, '\t}', '}', '');
40
+ }
41
+ lines.push('export {};', '');
42
+ return lines.join('\n');
43
+ }
44
+ /**
45
+ * Finds project classes whose skin is selected explicitly, by reusable-component
46
+ * configuration, or by an unambiguous `<ClassName>Skin` naming convention.
47
+ */
48
+ async function collectSkinHosts(project, declarationFile, skinNames) {
49
+ const files = await collectTypeScriptFiles(project.srcDir);
50
+ const hosts = new Map();
51
+ const skinNameSet = new Set(skinNames);
52
+ for (const component of project.components) {
53
+ if (!skinNameSet.has(component.skinClass)) {
54
+ continue;
55
+ }
56
+ const relative = path.relative(path.dirname(declarationFile), component.source).replace(/\.tsx?$/, '.js');
57
+ const module = toModuleSpecifier(relative);
58
+ hosts.set(module, {
59
+ className: component.name,
60
+ module,
61
+ skinName: component.skinClass,
62
+ });
63
+ }
64
+ for (const file of files) {
65
+ const className = path.basename(file).replace(/\.tsx?$/, '');
66
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(className)) {
67
+ continue;
68
+ }
69
+ const source = stripComments(await fs.readFile(file, 'utf-8'));
70
+ if (!hasNamedClassExport(source, className)) {
71
+ continue;
72
+ }
73
+ const match = /\bthis\.skinName\s*=\s*(['"])([^'"]+)\1/.exec(source);
74
+ const explicitSkinName = match?.[2];
75
+ if (explicitSkinName && !skinNameSet.has(explicitSkinName)) {
76
+ continue;
77
+ }
78
+ const conventionalSkinNames = skinNames.filter(skinName => getSkinShortName(skinName) === `${className}Skin`);
79
+ const skinName = explicitSkinName ?? (conventionalSkinNames.length === 1 ? conventionalSkinNames[0] : undefined);
80
+ if (!skinName) {
81
+ continue;
82
+ }
83
+ const relative = path.relative(path.dirname(declarationFile), file).replace(/\.tsx?$/, '.js');
84
+ const module = toModuleSpecifier(relative);
85
+ hosts.set(module, {
86
+ className,
87
+ module,
88
+ skinName,
89
+ });
90
+ }
91
+ return [...hosts.values()].sort((a, b) => a.module.localeCompare(b.module));
92
+ }
93
+ function getSkinShortName(skinName) {
94
+ return skinName.slice(skinName.lastIndexOf('.') + 1);
95
+ }
96
+ async function collectTypeScriptFiles(directory) {
97
+ const files = [];
98
+ async function walk(current) {
99
+ let entries;
100
+ try {
101
+ entries = await fs.readdir(current, { withFileTypes: true });
102
+ }
103
+ catch (error) {
104
+ if (error.code === 'ENOENT') {
105
+ return;
106
+ }
107
+ throw error;
108
+ }
109
+ for (const entry of entries) {
110
+ const absolute = path.join(current, entry.name);
111
+ if (entry.isDirectory()) {
112
+ await walk(absolute);
113
+ }
114
+ else if (entry.isFile() && /\.tsx?$/.test(entry.name) && !entry.name.endsWith('.d.ts')) {
115
+ files.push(absolute);
116
+ }
117
+ }
118
+ }
119
+ await walk(directory);
120
+ return files.sort();
121
+ }
122
+ function stripComments(source) {
123
+ return source.replace(/\/\*[\s\S]*?\*\//g, '').replace(/\/\/.*$/gm, '');
124
+ }
125
+ function hasNamedClassExport(source, className) {
126
+ const escaped = className.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
127
+ if (new RegExp(`\\bexport\\s+(?:default\\s+)?class\\s+${escaped}\\b`).test(source)) {
128
+ return true;
129
+ }
130
+ const declared = new RegExp(`\\bclass\\s+${escaped}\\b`).test(source);
131
+ const exported = new RegExp(`\\bexport\\s*\\{[^}]*\\b${escaped}\\b[^}]*\\}`, 's').test(source);
132
+ return declared && exported;
133
+ }
134
+ function toModuleSpecifier(value) {
135
+ const normalized = value.split(path.sep).join('/');
136
+ return normalized.startsWith('.') ? normalized : `./${normalized}`;
137
+ }
138
+ function collectSkinParts(project, declarationFile, skin) {
139
+ const nodes = new Map();
140
+ collectNodes(skin.children, nodes);
141
+ collectNodes(skin.declarations, nodes);
142
+ for (const property of skin.propertyChildren) {
143
+ collectNodes(property.nodes.filter((node) => typeof node !== 'string'), nodes);
144
+ }
145
+ return skin.skinParts.map(name => {
146
+ const node = nodes.get(name);
147
+ if (!node) {
148
+ throw new Error(`Skin part "${name}" in ${skin.className} has no matching EXML node.`);
149
+ }
150
+ return {
151
+ name,
152
+ className: node.className,
153
+ module: resolveTypeModule(project, declarationFile, node),
154
+ };
155
+ });
156
+ }
157
+ function collectNodes(source, target) {
158
+ for (const node of source) {
159
+ if (node.id) {
160
+ target.set(node.id, node);
161
+ }
162
+ collectNodes(node.children, target);
163
+ for (const property of node.propertyChildren) {
164
+ collectNodes(property.nodes.filter((child) => typeof child !== 'string'), target);
165
+ }
166
+ }
167
+ }
168
+ function resolveTypeModule(project, declarationFile, node) {
169
+ const namespace = project.customNamespaces.find(candidate => candidate.specifier === node.module);
170
+ if (!namespace) {
171
+ return node.module;
172
+ }
173
+ const component = namespace.components?.find(candidate => candidate.name === node.className);
174
+ const source = component?.source ?? namespace.entry;
175
+ if (!source) {
176
+ return node.module;
177
+ }
178
+ const relative = path.relative(path.dirname(declarationFile), source).replace(/\.tsx?$/, '.js');
179
+ const specifier = relative.split(path.sep).join('/');
180
+ return specifier.startsWith('.') ? specifier : `./${specifier}`;
181
+ }
182
+ //# sourceMappingURL=skin-parts-declaration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skin-parts-declaration.js","sourceRoot":"","sources":["../../../src/core/exml/skin-parts-declaration.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export interface BuildOutputs {
12
12
  * Compiled skins module path relative to the output directory.
13
13
  */
14
14
  skinsScript?: string;
15
+ /**
16
+ * Generated skin-part declaration path relative to the project root.
17
+ */
18
+ skinPartsDeclaration?: string;
15
19
  /**
16
20
  * Component catalog path relative to the development output directory.
17
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,mBAAwB,GAC/B,YAAY,CAiBd;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASnG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;OAMG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;OAEG;IACH,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,mBAAwB,GAC/B,YAAY,CAiBd;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASnG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiGzC;;GAEG;AACH,MAAM,UAAU,aAAa,CAC5B,OAAgB,EAChB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5D,OAAO;QACN,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,MAAM;QACN,WAAW,EAAE,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,EAAE;YACR,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,mBAAmB,EAAE,IAAI,GAAG,EAAE;SAC9B;QACD,SAAS,EAAE,EAAE;KACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAiB,EAAE,OAA+B;IACnF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACjG,MAAM,IAAI,UAAU,CAAC,wBAAwB,MAAM,CAAC,IAAI,UAAU,KAAK,uBAAuB,CAAC,CAAC;QACjG,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAiB;IACrD,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/core/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqGzC;;GAEG;AACH,MAAM,UAAU,aAAa,CAC5B,OAAgB,EAChB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5D,OAAO;QACN,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;QACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;QAC7B,MAAM;QACN,WAAW,EAAE,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAChD,OAAO,EAAE;YACR,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,mBAAmB,EAAE,IAAI,GAAG,EAAE;SAC9B;QACD,SAAS,EAAE,EAAE;KACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAiB,EAAE,OAA+B;IACnF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;YACjG,MAAM,IAAI,UAAU,CAAC,wBAAwB,MAAM,CAAC,IAAI,UAAU,KAAK,uBAAuB,CAAC,CAAC;QACjG,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAiB;IACrD,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"compile-exml.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/compile-exml.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAyBhE;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,IAAI,WAAW,CA8CzC"}
1
+ {"version":3,"file":"compile-exml.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/compile-exml.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAyBhE;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAuDzC"}
@@ -4,6 +4,7 @@ import { writeFile } from '../../utils/fs.js';
4
4
  import { logger } from '../../utils/logger.js';
5
5
  import { DIAGNOSTIC_CODES } from '../diagnostics/index.js';
6
6
  import { buildSkinsModule } from '../exml/skin-module-builder.js';
7
+ import { generateSkinPartsDeclaration, SKIN_PARTS_DECLARATION_PATH } from '../exml/skin-parts-declaration.js';
7
8
  import { BuildError } from '../errors.js';
8
9
  /**
9
10
  * Compiles `.exml` skin files into a single ESM module and rewrites the theme.
@@ -41,11 +42,15 @@ export function compileExml() {
41
42
  reportMissingThemeSkins(ctx, theme, skins, missingDeclaredPaths);
42
43
  throwIfInputInvalid(ctx);
43
44
  if (files.length === 0) {
45
+ await fs.rm(path.join(project.root, SKIN_PARTS_DECLARATION_PATH), { force: true });
46
+ delete ctx.outputs.skinPartsDeclaration;
44
47
  logger.step('no .exml files found, skipping');
45
48
  return;
46
49
  }
47
- const skinsFile = await buildSkinsModule(ctx, skins);
48
- ctx.outputs.skinsScript = `js/${skinsFile}`;
50
+ const built = await buildSkinsModule(ctx, skins);
51
+ ctx.outputs.skinsScript = `js/${built.filename}`;
52
+ ctx.outputs.skinPartsDeclaration = SKIN_PARTS_DECLARATION_PATH;
53
+ await writeFile(path.join(project.root, SKIN_PARTS_DECLARATION_PATH), await generateSkinPartsDeclaration(project, built.skins));
49
54
  const relThemePath = project.config.exml.themeFile;
50
55
  const outTheme = { ...theme };
51
56
  delete outTheme.exmls;
@@ -54,7 +59,7 @@ export function compileExml() {
54
59
  ...componentSkinMappings(project),
55
60
  ...remapSkins(project, theme.skins ?? {}, skins),
56
61
  };
57
- outTheme.skinsJs = toPosix(path.relative(path.dirname(relThemePath), `js/${skinsFile}`));
62
+ outTheme.skinsJs = toPosix(path.relative(path.dirname(relThemePath), `js/${built.filename}`));
58
63
  await writeFile(path.join(project.outputDir, relThemePath), JSON.stringify(outTheme, null, '\t'));
59
64
  logger.step(`compiled ${skins.length} skin(s) → ${ctx.outputs.skinsScript}`);
60
65
  },
@@ -1 +1 @@
1
- {"version":3,"file":"compile-exml.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-exml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile-exml.js","sourceRoot":"","sources":["../../../src/core/plugins/compile-exml.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kurot/cli",
3
- "version": "1.1.4",
3
+ "version": "1.3.0",
4
4
  "description": "Kurot CLI - build tool for the Kurot game engine",
5
5
  "author": "Kelvin <kyia.x52@gmail.com>",
6
6
  "license": "MIT",
@@ -9,5 +9,5 @@
9
9
  "strict": true,
10
10
  "skipLibCheck": true,
11
11
  },
12
- "include": ["src"],
12
+ "include": ["src", ".kurot/**/*.d.ts"],
13
13
  }
@@ -9,5 +9,5 @@
9
9
  "strict": true,
10
10
  "skipLibCheck": true,
11
11
  },
12
- "include": ["src"],
12
+ "include": ["src", ".kurot/**/*.d.ts"],
13
13
  }