@neocompose/cli 0.68.3 → 0.69.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 +12 -0
- package/README.md +9 -2
- package/dist/neo.mjs +17698 -1868
- package/dist/test-worker.mjs +2 -0
- package/package.json +2 -1
- package/skills/neocompose-cli/SKILL.md +1 -1
- package/skills/neocompose-cli/references/cli-development.md +1 -1
- package/skills/neocompose-cli/references/commands-and-sync.md +20 -7
- package/skills/neocompose-cli/references/declarations-and-construction.md +8 -0
package/dist/test-worker.mjs
CHANGED
|
@@ -22401,6 +22401,8 @@ function resolveBaseConstructorRecord(record3, ctx) {
|
|
|
22401
22401
|
);
|
|
22402
22402
|
if (resolution.kind === "resolved") return resolution.overload;
|
|
22403
22403
|
if (resolution.kind === "noMatch" && baseArguments.length === 0) {
|
|
22404
|
+
if (owningClass.requiredConstructorId === record3.id && evaluatorSchemaIndex(ctx).class(baseClassId)?.requiredConstructorId == null)
|
|
22405
|
+
return null;
|
|
22404
22406
|
throw new NSGetterRuntimeError(
|
|
22405
22407
|
`Constructor '${record3.id}' on '${owningClass.name}' must call ': base(...)': its base class declares constructors but none parameterless.`
|
|
22406
22408
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@neocompose/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"description": "Neo Compose native project-source CLI with bidirectional sync.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"valibot": "^1.4.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
+
"@formatjs/icu-messageformat-parser": "^3.5.21",
|
|
44
45
|
"@neocompose/manifest": "file:../packages/manifest",
|
|
45
46
|
"@neocompose/neoscript-language": "file:../packages/neoscript-language",
|
|
46
47
|
"esbuild": "^0.28.1",
|
|
@@ -110,7 +110,7 @@ wrappers.
|
|
|
110
110
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
111
111
|
|
|
112
112
|
```html
|
|
113
|
-
<!-- reviewed-through-cli: 0.
|
|
113
|
+
<!-- reviewed-through-cli: 0.69.0 -->
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -290,13 +290,26 @@ honor both variables.
|
|
|
290
290
|
Pass explicit project/version IDs and flags in automation. Prefer `--json` for
|
|
291
291
|
machine-readable output and do not depend on interactive pickers or confirms.
|
|
292
292
|
|
|
293
|
-
## Unity
|
|
294
|
-
|
|
295
|
-
`neo export
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
293
|
+
## Unity export
|
|
294
|
+
|
|
295
|
+
`neo export` builds the Unity export from the last pull, offline, and writes it
|
|
296
|
+
into the directories the Unity project's `NeoComposeConfig` asset names:
|
|
297
|
+
`project.json` with a partition index, `Partitions/*.json` holding value rows
|
|
298
|
+
by storage partition, localization files, and generated C# under
|
|
299
|
+
`<generatedTypesDirectory>/Generated/`. It writes only files whose bytes
|
|
300
|
+
changed, skips codegen when only values changed since the last export into
|
|
301
|
+
that Unity project, and writes `Library/NeoCompose/export.json` last for
|
|
302
|
+
Unity to ingest. Local edits are not exported: push and pull them first.
|
|
303
|
+
|
|
304
|
+
- The Unity project comes from `unityConfigPath`. Without it, an interactive
|
|
305
|
+
export offers to link the one config asset naming this project; scripts get
|
|
306
|
+
an error with the line to add.
|
|
307
|
+
- `--unity-project <dir>` exports into another Unity project without linking
|
|
308
|
+
it. Agent rigs use it.
|
|
309
|
+
- An error diagnostic, or a project file whose bytes differ from the pulled
|
|
310
|
+
file, stops the export before anything is written.
|
|
311
|
+
- `NeoGeneratedFiles.json` keeps `.meta` GUIDs across type renames. Keep it
|
|
312
|
+
with the generated files.
|
|
300
313
|
|
|
301
314
|
## Push timing diagnostics
|
|
302
315
|
|
|
@@ -385,6 +385,14 @@ class Child(string name) : Base {
|
|
|
385
385
|
}
|
|
386
386
|
```
|
|
387
387
|
|
|
388
|
+
A header base clause with no arguments, such as `: Base()` or `: Base`,
|
|
389
|
+
runs a zero-argument or fully defaulted base constructor when available.
|
|
390
|
+
Otherwise, if the base has only declared constructors, it uses the member
|
|
391
|
+
initializers and base block without running a base constructor. The base block
|
|
392
|
+
must settle any remaining required members. A required base constructor cannot
|
|
393
|
+
be skipped. A declared constructor's `: base()` must call a base constructor
|
|
394
|
+
when the base declares one.
|
|
395
|
+
|
|
388
396
|
Bind generic base arguments explicitly when needed. Reject a subclass that
|
|
389
397
|
omits required base arguments or leaves any inherited required member
|
|
390
398
|
unsettled.
|