@neocompose/cli 0.53.0 → 0.53.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
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.53.1] - 2026-09-18
|
|
4
|
+
|
|
5
|
+
- A lookup member assigned in a constructor's initializer block (`new NPCScheduleEvent(...) { Shop = root.Assets.Shops.Index.Slug["shop.test"]! }`) stores the selected row's id. It used to store a copy of the selected row's content, which `neo pull` then rewrote as `Shop = null`.
|
|
6
|
+
|
|
3
7
|
## [0.53.0] - 2026-09-18
|
|
4
8
|
|
|
5
9
|
- Push preparation is far faster on large projects (Neowyn's pending push dry run: 395 s and failing on 0.52.5, 40 s here): pulled documents are read once per push, default-value materialization and ownership walks reuse per-document indexes, and the status walk no longer re-normalizes every seed root.
|
package/dist/neo.mjs
CHANGED
|
@@ -76851,8 +76851,8 @@ function applyConstructorFields(args) {
|
|
|
76851
76851
|
storageKeyDeclarations,
|
|
76852
76852
|
ctx
|
|
76853
76853
|
} = args;
|
|
76854
|
-
for (const { validated, value } of args.supplied) {
|
|
76855
|
-
if (
|
|
76854
|
+
for (const { validated, value: supplied } of args.supplied) {
|
|
76855
|
+
if (supplied === null) {
|
|
76856
76856
|
if (args.nullMeansOmit) continue;
|
|
76857
76857
|
applyExplicitNullConstructorField({
|
|
76858
76858
|
validated,
|
|
@@ -76867,6 +76867,7 @@ function applyConstructorFields(args) {
|
|
|
76867
76867
|
continue;
|
|
76868
76868
|
}
|
|
76869
76869
|
const { schemaKey, member } = validated;
|
|
76870
|
+
const value = isMemberLookupBase(member) ? encodeLookupInitializerSelection(member, supplied, createdValues, ctx) : supplied;
|
|
76870
76871
|
const trackedValueId = findKnownRowIdByValueReference(value, ctx);
|
|
76871
76872
|
if (trackedValueId !== null && isMemberClassBase(member)) {
|
|
76872
76873
|
const source = evalValueById(
|
|
@@ -90449,9 +90450,24 @@ function addPackedChildEdges(source, record6, add) {
|
|
|
90449
90450
|
childId: position.valueId
|
|
90450
90451
|
})
|
|
90451
90452
|
});
|
|
90453
|
+
if (packedEntryOwnsSparseRows(position.entry)) {
|
|
90454
|
+
add({
|
|
90455
|
+
edgeKind: "containment-child",
|
|
90456
|
+
targetKey: position.valueId,
|
|
90457
|
+
targetAddressing: "record",
|
|
90458
|
+
payloadJson: canonicalJsonStringify({
|
|
90459
|
+
relation: "packed-parent",
|
|
90460
|
+
path: position.path
|
|
90461
|
+
})
|
|
90462
|
+
});
|
|
90463
|
+
}
|
|
90452
90464
|
addStampBindingEdges(position.entry.genericBindings, add);
|
|
90453
90465
|
}
|
|
90454
90466
|
}
|
|
90467
|
+
function packedEntryOwnsSparseRows(entry) {
|
|
90468
|
+
if (collectDirectBodyChildIds(entry.value).length > 0) return true;
|
|
90469
|
+
return isLiteralValueContent(entry) && collectDirectBodyChildIds(entry.constructorArgs).length > 0;
|
|
90470
|
+
}
|
|
90455
90471
|
function projectSnapshotDerivedPathTargetKey(args) {
|
|
90456
90472
|
return canonicalJsonStringify({ recordId: args.recordId, path: args.path });
|
|
90457
90473
|
}
|
|
@@ -138377,7 +138393,7 @@ var init_registry2 = __esm({
|
|
|
138377
138393
|
"schema-contract/registry.mjs"() {
|
|
138378
138394
|
"use strict";
|
|
138379
138395
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
138380
|
-
cliVersion: "0.53.
|
|
138396
|
+
cliVersion: "0.53.1",
|
|
138381
138397
|
projectFileUploadBatchSize: 32,
|
|
138382
138398
|
documentRecords: {
|
|
138383
138399
|
member: {
|
|
@@ -146250,7 +146266,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
146250
146266
|
async function main() {
|
|
146251
146267
|
const args = parseArgs(process.argv.slice(2));
|
|
146252
146268
|
if (args.command === "--version") {
|
|
146253
|
-
console.log("0.53.
|
|
146269
|
+
console.log("0.53.1");
|
|
146254
146270
|
return;
|
|
146255
146271
|
}
|
|
146256
146272
|
if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
|
package/package.json
CHANGED
|
@@ -97,7 +97,7 @@ wrappers.
|
|
|
97
97
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
98
98
|
|
|
99
99
|
```html
|
|
100
|
-
<!-- reviewed-through-cli: 0.53.
|
|
100
|
+
<!-- reviewed-through-cli: 0.53.1 -->
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
The quoted version above is checked too, so this instruction cannot go stale
|