@neocompose/cli 0.33.0 → 0.33.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,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.33.1] - 2026-08-19
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Preserve an authored non-null `T` member while recompiling an open generic
|
|
8
|
+
Class from its lowered project records, so `neo test` no longer rejects
|
|
9
|
+
valid generic getters as returning `T?` during animation declaration replay.
|
|
10
|
+
- Identify the actual NeoScript property and getter or setter position when
|
|
11
|
+
prospective replay compilation fails, instead of reporting only the
|
|
12
|
+
unrelated animation value that triggered whole-document validation.
|
|
13
|
+
|
|
3
14
|
## [0.33.0] - 2026-08-19
|
|
4
15
|
|
|
5
16
|
### Added
|
package/dist/neo.mjs
CHANGED
|
@@ -61279,7 +61279,14 @@ function memberRuntimeType(record3, context, seen = /* @__PURE__ */ new Set(), g
|
|
|
61279
61279
|
}
|
|
61280
61280
|
return genericParameterLanguageType(
|
|
61281
61281
|
genericParamId,
|
|
61282
|
-
|
|
61282
|
+
// A Generic schema member is a value-less placeholder, so its stored
|
|
61283
|
+
// `required` is always false even when the authored slot is spelled
|
|
61284
|
+
// `T`. Project-source declarations forbid `T?` member slots because
|
|
61285
|
+
// the concrete binding owns storage nullability. While compiling the
|
|
61286
|
+
// open declaring Class, preserve the authored `T` surface instead of
|
|
61287
|
+
// turning every read into `T?`; closed receivers still take the
|
|
61288
|
+
// concrete binding branch above and retain its real nullability.
|
|
61289
|
+
true,
|
|
61283
61290
|
context,
|
|
61284
61291
|
genericEnvironment
|
|
61285
61292
|
);
|
|
@@ -94844,7 +94851,7 @@ function replayAnimationDeclarationInitializersV4(records2, document, fallbackDo
|
|
|
94844
94851
|
documentBodiesCompiled = true;
|
|
94845
94852
|
} catch (error) {
|
|
94846
94853
|
throw new Error(
|
|
94847
|
-
`Animation declaration replay failed for value "${row.id}": ${
|
|
94854
|
+
`Animation declaration replay failed for value "${row.id}": ${describePulledProjectBodyCompileError(error)}`,
|
|
94848
94855
|
{ cause: error }
|
|
94849
94856
|
);
|
|
94850
94857
|
}
|
|
@@ -96098,6 +96105,16 @@ var init_server_preparation_preflight = __esm({
|
|
|
96098
96105
|
});
|
|
96099
96106
|
|
|
96100
96107
|
// src/project-source/initializer-replay.ts
|
|
96108
|
+
function describePulledProjectBodyCompileError(error) {
|
|
96109
|
+
const fallback = error instanceof Error ? error.message : String(error);
|
|
96110
|
+
if (!(error instanceof CompileError)) return fallback;
|
|
96111
|
+
const site = pulledBodyCompileSites.get(error);
|
|
96112
|
+
if (site === void 0) return fallback;
|
|
96113
|
+
const position = `${error.line}:${error.column}`;
|
|
96114
|
+
const detailPrefix = `${position}: `;
|
|
96115
|
+
const detail = error.message.startsWith(detailPrefix) ? error.message.slice(detailPrefix.length) : error.message;
|
|
96116
|
+
return `Member "${site.memberName}" (${site.memberId}) ${error.unit ?? "body"} failed at ${position}: ${detail}`;
|
|
96117
|
+
}
|
|
96101
96118
|
function replayStoredConstructionV4(args) {
|
|
96102
96119
|
const document = args.document ?? readPulledProjectDocumentV4(args.records);
|
|
96103
96120
|
const compilationProject = args.compilationProject ?? (args.compileDocumentBodies === true ? createNeoScriptCompilationProject({
|
|
@@ -96343,11 +96360,21 @@ function compilePulledProjectDocumentForEvaluationV4(document, compilationProjec
|
|
|
96343
96360
|
)
|
|
96344
96361
|
);
|
|
96345
96362
|
for (const member of compileArgs.members) {
|
|
96346
|
-
|
|
96347
|
-
|
|
96348
|
-
|
|
96349
|
-
|
|
96350
|
-
|
|
96363
|
+
try {
|
|
96364
|
+
compileAuthoredMemberBodies({
|
|
96365
|
+
...compileArgs,
|
|
96366
|
+
member,
|
|
96367
|
+
thisClass: ownerClassByMemberId.get(member.id) ?? null
|
|
96368
|
+
});
|
|
96369
|
+
} catch (error) {
|
|
96370
|
+
if (error instanceof CompileError) {
|
|
96371
|
+
pulledBodyCompileSites.set(error, {
|
|
96372
|
+
memberId: member.id,
|
|
96373
|
+
memberName: member.name
|
|
96374
|
+
});
|
|
96375
|
+
}
|
|
96376
|
+
throw error;
|
|
96377
|
+
}
|
|
96351
96378
|
}
|
|
96352
96379
|
for (const site of valueInitializerCompilationSites(document).values()) {
|
|
96353
96380
|
if (isInitValueContent(site.row) && site.row.init.compiled !== void 0) {
|
|
@@ -96509,7 +96536,7 @@ function replayWorkspace(records2) {
|
|
|
96509
96536
|
state: { records: stateRecords }
|
|
96510
96537
|
};
|
|
96511
96538
|
}
|
|
96512
|
-
var pulledValueInitializerCompilationSites;
|
|
96539
|
+
var pulledBodyCompileSites, pulledValueInitializerCompilationSites;
|
|
96513
96540
|
var init_initializer_replay = __esm({
|
|
96514
96541
|
"src/project-source/initializer-replay.ts"() {
|
|
96515
96542
|
"use strict";
|
|
@@ -96524,6 +96551,7 @@ var init_initializer_replay = __esm({
|
|
|
96524
96551
|
init_constructors2();
|
|
96525
96552
|
init_neoscript_evaluator();
|
|
96526
96553
|
init_compiler_adapter();
|
|
96554
|
+
pulledBodyCompileSites = /* @__PURE__ */ new WeakMap();
|
|
96527
96555
|
pulledValueInitializerCompilationSites = /* @__PURE__ */ new WeakMap();
|
|
96528
96556
|
}
|
|
96529
96557
|
});
|
|
@@ -112911,7 +112939,7 @@ var init_registry2 = __esm({
|
|
|
112911
112939
|
PROJECT_SCHEMA_CONTRACT = Object.freeze({
|
|
112912
112940
|
formatVersion: 3,
|
|
112913
112941
|
contractVersion: "3.13",
|
|
112914
|
-
cliVersion: "0.33.
|
|
112942
|
+
cliVersion: "0.33.1",
|
|
112915
112943
|
projectFileUploadBatchSize: 32,
|
|
112916
112944
|
documentRecords: {
|
|
112917
112945
|
member: {
|
|
@@ -119506,7 +119534,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
|
|
|
119506
119534
|
async function main() {
|
|
119507
119535
|
const args = parseArgs(process.argv.slice(2));
|
|
119508
119536
|
if (args.command === "--version") {
|
|
119509
|
-
console.log("0.33.
|
|
119537
|
+
console.log("0.33.1");
|
|
119510
119538
|
return;
|
|
119511
119539
|
}
|
|
119512
119540
|
if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
|
package/package.json
CHANGED
|
@@ -83,7 +83,7 @@ wrappers.
|
|
|
83
83
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
84
84
|
|
|
85
85
|
```html
|
|
86
|
-
<!-- reviewed-through-cli: 0.33.
|
|
86
|
+
<!-- reviewed-through-cli: 0.33.1 -->
|
|
87
87
|
```
|
|
88
88
|
|
|
89
89
|
The quoted version above is checked too, so this instruction cannot go stale
|