@kurot/cli 3.0.0 → 3.0.1
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 +24 -1
- package/README.md +15 -5
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,30 @@
|
|
|
3
3
|
All notable changes to `@kurot/cli` are documented in this file.
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
-
and
|
|
6
|
+
and CLI command/configuration APIs follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
The early KUI XML contract follows the pre-1.0 `ui-document` kernel; authored
|
|
8
|
+
format changes are documented explicitly in each release.
|
|
9
|
+
|
|
10
|
+
## 3.0.1 — 2026-10-04
|
|
11
|
+
|
|
12
|
+
### XML Authoring Change
|
|
13
|
+
|
|
14
|
+
- Require `@kurot/ui-document@^0.8.0`. Schema-defined string attributes,
|
|
15
|
+
including `text`, `label` and state text, now compile as literal strings.
|
|
16
|
+
`text="100.80"` preserves its decimal formatting; `text="false"` stays text.
|
|
17
|
+
Old synthetic backslash type escapes are now literal characters and must be
|
|
18
|
+
removed explicitly. No automatic source migration is performed.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Align the compiler dependency and lockfile with the published document kernel.
|
|
23
|
+
Numeric/boolean properties, references, XML entities and schema-free collection
|
|
24
|
+
scalar inference retain their existing rules. Generated Skin APIs are unchanged.
|
|
25
|
+
|
|
26
|
+
### Tests
|
|
27
|
+
|
|
28
|
+
- Verify literal text, state text, real backslashes and typed properties through
|
|
29
|
+
parsing, code generation and the emitted theme bundle.
|
|
7
30
|
|
|
8
31
|
## 3.0.0 — 2026-10-03
|
|
9
32
|
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Build tooling for the Kurot UI Editor workflow. It uses esbuild, emits ES2022
|
|
4
4
|
ESM, and compiles canonical KUI XML skins into runtime theme modules.
|
|
5
5
|
|
|
6
|
-
> **
|
|
6
|
+
> **Current release: 3.0.1.** Node.js 20 or later is required.
|
|
7
7
|
|
|
8
8
|
> **Release scope:** The 3.x line is dedicated to Kurot Editor integration.
|
|
9
9
|
> Existing game projects that use EXML, including CrashMaster, should remain on
|
|
@@ -25,7 +25,7 @@ pnpm dev
|
|
|
25
25
|
|
|
26
26
|
Scaffolded projects expose `build`, `dev`, and `clean` scripts. For an
|
|
27
27
|
Editor-managed KUI XML project, install the package with
|
|
28
|
-
`pnpm add -D @kurot/cli
|
|
28
|
+
`pnpm add -D @kurot/cli@^3.0.1`. Existing EXML projects should keep their current
|
|
29
29
|
1.3.x dependency.
|
|
30
30
|
|
|
31
31
|
## Commands
|
|
@@ -133,6 +133,15 @@ use `property.state` on the affected node, so internal graphics remain unnamed.
|
|
|
133
133
|
Image sources use their resource key directly, for example
|
|
134
134
|
`source="button_up_png"`.
|
|
135
135
|
|
|
136
|
+
Version 3.0.1 uses `@kurot/ui-document@^0.8.0` and its literal-string XML rules.
|
|
137
|
+
For example, `<Label text="100.80" text.down="false" size="48" />` compiles
|
|
138
|
+
the exact strings `100.80` and `false`, while the font size stays numeric.
|
|
139
|
+
String properties no longer add or remove backslash type escapes. Remove old
|
|
140
|
+
synthetic prefixes such as the one in `text="\100.80"` explicitly; real
|
|
141
|
+
backslashes remain text. XML entities and typed collection data retain their
|
|
142
|
+
existing rules. Source files are not migrated automatically. Editor and CLI
|
|
143
|
+
must adopt the same [XML value contract](../ui-document/docs/kui-xml.md#values).
|
|
144
|
+
|
|
136
145
|
The pipeline is:
|
|
137
146
|
|
|
138
147
|
```text
|
|
@@ -159,8 +168,9 @@ src/components/<path>/<Name>.ts
|
|
|
159
168
|
resource/ui/components/<path>/<Name>Skin.kui.xml
|
|
160
169
|
```
|
|
161
170
|
|
|
162
|
-
The TypeScript module must export `<Name>`. The paired skin
|
|
163
|
-
|
|
171
|
+
The TypeScript module must export `<Name>`. The paired skin declares its generated
|
|
172
|
+
class with `class`, for example `class="skins.ActionCardSkin"`; the source/skin
|
|
173
|
+
pair supplies the host association. The CLI exposes the component as `<namespace>:<Name>` in
|
|
164
174
|
KUI XML, refreshes the namespace bundle, and emits development catalog data at
|
|
165
175
|
`.kurot/component-catalog.json`.
|
|
166
176
|
|
|
@@ -193,7 +203,7 @@ KUI builds validate `resource/default.res.json` and inherit image or sheet-frame
|
|
|
193
203
|
`scale9grid` values into compiled `Image.scale9Grid` when XML does not set one.
|
|
194
204
|
Local grids and `scale9Grid="false"` take priority. Development mode rebuilds
|
|
195
205
|
skins after manifest edits; a malformed manifest leaves the last good Skin
|
|
196
|
-
bundle in place.
|
|
206
|
+
bundle in place. The current CLI requires `@kurot/ui-document@^0.8.0`.
|
|
197
207
|
|
|
198
208
|
Sheet `subkeys` must be an object-valued frame map. Refresh old sheets in the
|
|
199
209
|
Editor before upgrading a KUI project; string-valued subkeys now fail the build.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kurot/cli",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Kurot CLI - build tool for Kurot Editor KUI XML workflows",
|
|
5
5
|
"author": "Kelvin <kyia.x52@gmail.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"kurot": "tsx src/index.ts"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@kurot/ui-document": "^0.
|
|
30
|
+
"@kurot/ui-document": "^0.8.0",
|
|
31
31
|
"commander": "^13.0.0",
|
|
32
32
|
"esbuild": "^0.25.0"
|
|
33
33
|
},
|