@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.
Files changed (3) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +15 -5
  3. 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 this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
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
- > **Prepared release: 3.0.0.** Node.js 20 or later is required.
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@2`. Existing EXML projects should keep their current
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 must target
163
- `<namespace>.<Name>`. The CLI exposes the component as `<namespace>:<Name>` in
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. This release requires `@kurot/ui-document@^0.7.0`.
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.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.7.0",
30
+ "@kurot/ui-document": "^0.8.0",
31
31
  "commander": "^13.0.0",
32
32
  "esbuild": "^0.25.0"
33
33
  },