@kurot/cli 1.1.3 → 1.2.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 +40 -0
- package/README.md +24 -10
- package/dist/core/exml/skin-module-builder.d.ts +10 -2
- package/dist/core/exml/skin-module-builder.d.ts.map +1 -1
- package/dist/core/exml/skin-module-builder.js +11 -5
- package/dist/core/exml/skin-module-builder.js.map +1 -1
- package/dist/core/exml/skin-parts-declaration.d.ts +12 -0
- package/dist/core/exml/skin-parts-declaration.d.ts.map +1 -0
- package/dist/core/exml/skin-parts-declaration.js +82 -0
- package/dist/core/exml/skin-parts-declaration.js.map +1 -0
- package/dist/core/pipeline.d.ts +4 -0
- package/dist/core/pipeline.d.ts.map +1 -1
- package/dist/core/pipeline.js.map +1 -1
- package/dist/core/plugins/compile-exml.d.ts.map +1 -1
- package/dist/core/plugins/compile-exml.js +8 -3
- package/dist/core/plugins/compile-exml.js.map +1 -1
- package/package.json +1 -1
- package/templates/empty/tsconfig.json +1 -1
- package/templates/game/resource/default.res.json +1 -1
- package/templates/game/tsconfig.json +1 -1
- /package/templates/game/resource/assets/{eui.json → ui/eui/eui.json} +0 -0
- /package/templates/game/resource/assets/{eui.png → ui/eui/eui.png} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,46 @@ and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.ht
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## 1.2.0 — 2026-09-20
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- EXML compilation now generates `.kurot/skin-parts.d.ts`, augmenting
|
|
15
|
+
`@kurot/ui`'s `SkinPartsMap` with the exact named parts and component types
|
|
16
|
+
for every compiled skin.
|
|
17
|
+
- Generated declarations resolve convention-based and manually configured
|
|
18
|
+
namespace components back to their project TypeScript modules.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- New project TypeScript configurations include `.kurot/**/*.d.ts` so typed
|
|
23
|
+
skin parts are available to editors and `tsc` without entering runtime
|
|
24
|
+
bundles.
|
|
25
|
+
- New projects ignore the generated `.kurot` directory together with build and
|
|
26
|
+
dependency output.
|
|
27
|
+
- Updated custom-component guidance for the atomic skin lifecycle introduced by
|
|
28
|
+
`@kurot/ui@2.0.0`.
|
|
29
|
+
|
|
30
|
+
### Tests
|
|
31
|
+
|
|
32
|
+
- Added regression coverage for built-in and project-component skin-part
|
|
33
|
+
declarations and for the generated-project TypeScript and ignore settings.
|
|
34
|
+
|
|
35
|
+
## 1.1.4 — 2026-09-09
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- New game projects now place the default EUI atlas at
|
|
40
|
+
`resource/assets/ui/eui/eui.json` and
|
|
41
|
+
`resource/assets/ui/eui/eui.png`.
|
|
42
|
+
- The generated `default.res.json` now references the atlas through its new
|
|
43
|
+
`assets/ui/eui/eui.json` path.
|
|
44
|
+
|
|
45
|
+
### Tests
|
|
46
|
+
|
|
47
|
+
- Added template regression coverage for the nested EUI atlas layout and the
|
|
48
|
+
absence of legacy copies under `resource/assets/`.
|
|
49
|
+
|
|
10
50
|
## 1.1.3 — 2026-08-30
|
|
11
51
|
|
|
12
52
|
### Fixed
|
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
|
-
> **
|
|
5
|
+
> **Current release: 1.2.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,27 @@ 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. The generated file is included by the
|
|
264
|
+
template `tsconfig.json`, ignored by git, and never enters browser or release
|
|
265
|
+
bundles.
|
|
266
|
+
|
|
261
267
|
`exml.namespaces` remains available for advanced manual namespace barrels, but
|
|
262
268
|
its prefix must not conflict with `exml.components.namespace`.
|
|
263
269
|
|
|
264
270
|
### Custom component lifecycle
|
|
265
271
|
|
|
266
|
-
|
|
267
|
-
`
|
|
272
|
+
Select the generated part shape through the skin class name and initialize
|
|
273
|
+
skin-dependent behavior in `onSkinReady()`:
|
|
268
274
|
|
|
269
275
|
```ts
|
|
270
276
|
import { Component } from '@kurot/ui';
|
|
271
277
|
|
|
272
|
-
export class BattlePanel extends Component {
|
|
273
|
-
protected override
|
|
274
|
-
super.
|
|
275
|
-
|
|
278
|
+
export class BattlePanel extends Component<'game.ui.BattlePanelSkin'> {
|
|
279
|
+
protected override onSkinReady(): void {
|
|
280
|
+
super.onSkinReady();
|
|
281
|
+
this.skinParts.groupField.visible = true;
|
|
276
282
|
}
|
|
277
283
|
}
|
|
278
284
|
```
|
|
@@ -285,9 +291,14 @@ import { UIEvent } from '@kurot/ui';
|
|
|
285
291
|
this.once(UIEvent.CREATION_COMPLETE, this.onCreationComplete);
|
|
286
292
|
```
|
|
287
293
|
|
|
288
|
-
Use `
|
|
289
|
-
|
|
290
|
-
`UIEvent.CREATION_COMPLETE` run once for the component's
|
|
294
|
+
Use `onSkinReady()` to initialize logic that depends on skin parts and
|
|
295
|
+
`onSkinRemoved()` to release listeners or other bindings before replacement.
|
|
296
|
+
`childrenCreated()` and `UIEvent.CREATION_COMPLETE` run once for the component's
|
|
297
|
+
initial creation and are not skin-replacement hooks.
|
|
298
|
+
|
|
299
|
+
UI 2.0 no longer copies part names onto component instances and no longer
|
|
300
|
+
supports `setSkinPart()`, `partAdded()`, or `partRemoved()`. Read parts through
|
|
301
|
+
`this.skinParts` only while the skin-ready lifecycle is active.
|
|
291
302
|
|
|
292
303
|
EXML skins compiled by the CLI are registered under their complete `class`
|
|
293
304
|
attribute, so an Egret-style value such as
|
|
@@ -321,6 +332,9 @@ A project created with the default template (`game`) has the following structure
|
|
|
321
332
|
|
|
322
333
|
```
|
|
323
334
|
my-game/
|
|
335
|
+
├── .kurot/
|
|
336
|
+
│ └── skin-parts.d.ts # Generated typed EXML part declarations
|
|
337
|
+
├── .gitignore # Excludes .kurot and build/dependency output
|
|
324
338
|
├── kurot.config.ts # Project config (includes exml options)
|
|
325
339
|
├── package.json # Dependencies & scripts
|
|
326
340
|
├── 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
|
|
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<
|
|
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;
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
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[]): 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":"AACA,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;AAQpE;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CA6B/F"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* Project-root-relative path of the generated skin-part declaration.
|
|
4
|
+
*/
|
|
5
|
+
export const SKIN_PARTS_DECLARATION_PATH = '.kurot/skin-parts.d.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Generates the project declaration that augments `@kurot/ui`'s
|
|
8
|
+
* `SkinPartsMap` with every compiled skin and its complete named part set.
|
|
9
|
+
*/
|
|
10
|
+
export function generateSkinPartsDeclaration(project, skins) {
|
|
11
|
+
const declarationFile = path.join(project.root, SKIN_PARTS_DECLARATION_PATH);
|
|
12
|
+
const entries = skins
|
|
13
|
+
.map(skin => ({
|
|
14
|
+
className: skin.className,
|
|
15
|
+
parts: collectSkinParts(project, declarationFile, skin),
|
|
16
|
+
}))
|
|
17
|
+
.sort((a, b) => a.className.localeCompare(b.className));
|
|
18
|
+
const modules = [...new Set(entries.flatMap(entry => entry.parts.map(part => part.module)))].sort();
|
|
19
|
+
const aliases = new Map(modules.map((module, index) => [module, `SkinPartModule${index}`]));
|
|
20
|
+
const lines = ['// Generated by @kurot/cli from compiled EXML skins.', '// @generated — do not edit manually.', ''];
|
|
21
|
+
for (const module of modules) {
|
|
22
|
+
lines.push(`import type * as ${aliases.get(module)} from ${JSON.stringify(module)};`);
|
|
23
|
+
}
|
|
24
|
+
if (modules.length > 0) {
|
|
25
|
+
lines.push('');
|
|
26
|
+
}
|
|
27
|
+
lines.push('declare module "@kurot/ui" {', '\tinterface SkinPartsMap {');
|
|
28
|
+
for (const entry of entries) {
|
|
29
|
+
lines.push(`\t\t${JSON.stringify(entry.className)}: {`);
|
|
30
|
+
for (const part of entry.parts) {
|
|
31
|
+
lines.push(`\t\t\treadonly ${JSON.stringify(part.name)}: ${aliases.get(part.module)}.${part.className};`);
|
|
32
|
+
}
|
|
33
|
+
lines.push('\t\t};');
|
|
34
|
+
}
|
|
35
|
+
lines.push('\t}', '}', '', 'export {};', '');
|
|
36
|
+
return lines.join('\n');
|
|
37
|
+
}
|
|
38
|
+
function collectSkinParts(project, declarationFile, skin) {
|
|
39
|
+
const nodes = new Map();
|
|
40
|
+
collectNodes(skin.children, nodes);
|
|
41
|
+
collectNodes(skin.declarations, nodes);
|
|
42
|
+
for (const property of skin.propertyChildren) {
|
|
43
|
+
collectNodes(property.nodes.filter((node) => typeof node !== 'string'), nodes);
|
|
44
|
+
}
|
|
45
|
+
return skin.skinParts.map(name => {
|
|
46
|
+
const node = nodes.get(name);
|
|
47
|
+
if (!node) {
|
|
48
|
+
throw new Error(`Skin part "${name}" in ${skin.className} has no matching EXML node.`);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
name,
|
|
52
|
+
className: node.className,
|
|
53
|
+
module: resolveTypeModule(project, declarationFile, node),
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function collectNodes(source, target) {
|
|
58
|
+
for (const node of source) {
|
|
59
|
+
if (node.id) {
|
|
60
|
+
target.set(node.id, node);
|
|
61
|
+
}
|
|
62
|
+
collectNodes(node.children, target);
|
|
63
|
+
for (const property of node.propertyChildren) {
|
|
64
|
+
collectNodes(property.nodes.filter((child) => typeof child !== 'string'), target);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function resolveTypeModule(project, declarationFile, node) {
|
|
69
|
+
const namespace = project.customNamespaces.find(candidate => candidate.specifier === node.module);
|
|
70
|
+
if (!namespace) {
|
|
71
|
+
return node.module;
|
|
72
|
+
}
|
|
73
|
+
const component = namespace.components?.find(candidate => candidate.name === node.className);
|
|
74
|
+
const source = component?.source ?? namespace.entry;
|
|
75
|
+
if (!source) {
|
|
76
|
+
return node.module;
|
|
77
|
+
}
|
|
78
|
+
const relative = path.relative(path.dirname(declarationFile), source).replace(/\.tsx?$/, '.js');
|
|
79
|
+
const specifier = relative.split(path.sep).join('/');
|
|
80
|
+
return specifier.startsWith('.') ? specifier : `./${specifier}`;
|
|
81
|
+
}
|
|
82
|
+
//# 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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"}
|
package/dist/core/pipeline.d.ts
CHANGED
|
@@ -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;
|
|
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":"
|
|
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
|
|
48
|
-
ctx.outputs.skinsScript = `js/${
|
|
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), 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/${
|
|
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":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA6B1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAO;QACN,IAAI,EAAE,cAAc;QACpB,KAAK,CAAC,KAAK,CAAC,GAAiB;YAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;gBAAE,OAAO;
|
|
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
|
File without changes
|
|
File without changes
|