@metaobjectsdev/metadata 0.15.5 → 0.15.7

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.
@@ -120,6 +120,27 @@ export declare class MetaDataLoader {
120
120
  protected parseSource(content: string, source: MetaDataSource, parseOpts: ParseOptions): ParseResult;
121
121
  private static _yamlParser;
122
122
  private static _ensureYamlParser;
123
+ /**
124
+ * Stable-partition `sources` so that "overlay-only" sources — every top-level
125
+ * object declaration carries `overlay: true`, i.e. the source declares no base
126
+ * objects of its own and only re-opens objects declared elsewhere — are parsed
127
+ * LAST. Preserves original order within each group.
128
+ *
129
+ * A source whose content can't be read or structurally scanned stays in the
130
+ * base group (never overlay-only) — this partition must never crash the loader;
131
+ * any genuine read/parse failure surfaces later, in the real parse loop.
132
+ */
133
+ private static _partitionOverlayLast;
134
+ /**
135
+ * Structurally scan a source's raw content (JSON via JSON.parse; sigil-free
136
+ * authoring YAML via the raw YAML walker — `overlay: true` is a bare key
137
+ * before desugar) and report whether every top-level object declaration under
138
+ * `metadata.root.children` carries `overlay: true` (and there is at least one).
139
+ */
140
+ private static _isOverlayOnlySource;
141
+ /** True when the structurally-parsed root has ≥1 child and every top-level
142
+ * child node carries `overlay: true` (declares no base objects). */
143
+ private static _rootIsOverlayOnly;
123
144
  /**
124
145
  * Load metadata from one or more MetaDataSource instances. Sources are read
125
146
  * in order; each source's content is parsed and merged into the accumulating
@@ -1 +1 @@
1
- {"version":3,"file":"meta-data-loader.d.ts","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-data-loader.d.ts","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { TypeId, TypeRegistry } from "../registry.js";
11
11
  import { coreProviders } from "../core-types.js";
12
12
  import { composeRegistry } from "../provider.js";
13
13
  import { TYPE_METADATA, SUBTYPE_ROOT } from "../shared/base-types.js";
14
+ import { RESERVED_KEY_CHILDREN, RESERVED_KEY_OVERLAY } from "../shared/structural.js";
14
15
  import { ParseError } from "../errors.js";
15
16
  import { codeSource, resolvedSource } from "../source.js";
16
17
  import { parseJson } from "../parser-json.js";
@@ -227,6 +228,80 @@ export class MetaDataLoader {
227
228
  MetaDataLoader._yamlParser = mod.parseYaml;
228
229
  }
229
230
  // ---------------------------------------------------------------------------
231
+ // #160 — overlay-only source partition (stable, overlay-only sources last)
232
+ // ---------------------------------------------------------------------------
233
+ /**
234
+ * Stable-partition `sources` so that "overlay-only" sources — every top-level
235
+ * object declaration carries `overlay: true`, i.e. the source declares no base
236
+ * objects of its own and only re-opens objects declared elsewhere — are parsed
237
+ * LAST. Preserves original order within each group.
238
+ *
239
+ * A source whose content can't be read or structurally scanned stays in the
240
+ * base group (never overlay-only) — this partition must never crash the loader;
241
+ * any genuine read/parse failure surfaces later, in the real parse loop.
242
+ */
243
+ static async _partitionOverlayLast(sources) {
244
+ const base = [];
245
+ const overlayOnly = [];
246
+ for (const source of sources) {
247
+ let isOverlayOnly = false;
248
+ try {
249
+ const content = await source.read();
250
+ isOverlayOnly = await MetaDataLoader._isOverlayOnlySource(content, source.format);
251
+ }
252
+ catch {
253
+ isOverlayOnly = false;
254
+ }
255
+ (isOverlayOnly ? overlayOnly : base).push(source);
256
+ }
257
+ return [...base, ...overlayOnly];
258
+ }
259
+ /**
260
+ * Structurally scan a source's raw content (JSON via JSON.parse; sigil-free
261
+ * authoring YAML via the raw YAML walker — `overlay: true` is a bare key
262
+ * before desugar) and report whether every top-level object declaration under
263
+ * `metadata.root.children` carries `overlay: true` (and there is at least one).
264
+ */
265
+ static async _isOverlayOnlySource(content, format) {
266
+ // Strip UTF-8 BOM if present (mirrors parseJson / parseYaml).
267
+ const normalized = content.charCodeAt(0) === 0xfeff ? content.slice(1) : content;
268
+ let parsed;
269
+ if (format === "json") {
270
+ parsed = JSON.parse(normalized);
271
+ }
272
+ else if (format === "yaml") {
273
+ const { parseYamlWithPositions } = await import("../core/yaml-positions-walker.js");
274
+ parsed = parseYamlWithPositions(normalized).value;
275
+ }
276
+ else {
277
+ return false;
278
+ }
279
+ return MetaDataLoader._rootIsOverlayOnly(parsed);
280
+ }
281
+ /** True when the structurally-parsed root has ≥1 child and every top-level
282
+ * child node carries `overlay: true` (declares no base objects). */
283
+ static _rootIsOverlayOnly(parsed) {
284
+ if (typeof parsed !== "object" || parsed === null)
285
+ return false;
286
+ const rootKey = `${TYPE_METADATA}.${SUBTYPE_ROOT}`; // "metadata.root"
287
+ const rootBody = parsed[rootKey];
288
+ if (typeof rootBody !== "object" || rootBody === null)
289
+ return false;
290
+ const children = rootBody[RESERVED_KEY_CHILDREN];
291
+ if (!Array.isArray(children) || children.length === 0)
292
+ return false;
293
+ return children.every((child) => {
294
+ if (typeof child !== "object" || child === null)
295
+ return false;
296
+ // Each child is a single-key wrapper: { "object.projection": { ... } }.
297
+ const bodies = Object.values(child);
298
+ return (bodies.length > 0 &&
299
+ bodies.every((body) => typeof body === "object" &&
300
+ body !== null &&
301
+ body[RESERVED_KEY_OVERLAY] === true));
302
+ });
303
+ }
304
+ // ---------------------------------------------------------------------------
230
305
  // load — async pipeline over MetaDataSource[]
231
306
  // ---------------------------------------------------------------------------
232
307
  /**
@@ -261,6 +336,18 @@ export class MetaDataLoader {
261
336
  if (sources.some((s) => s.format === "yaml")) {
262
337
  await MetaDataLoader._ensureYamlParser();
263
338
  }
339
+ // #160 — this loader merges DURING parse (each source is streamed into the
340
+ // accumulating `root` via parseOpts.intoRoot). A source that ONLY re-opens
341
+ // objects declared elsewhere (every top-level object carries `overlay: true`)
342
+ // must therefore be parsed AFTER the sources that declare those base objects,
343
+ // or the overlaid node lands ahead of its base entities — leaving a projection
344
+ // before its base so order-dependent super-resolution can't resolve its
345
+ // `extends`/`@via`, and the streaming merge errors ERR_OVERLAY_NO_TARGET.
346
+ // Directory discovery order is not guaranteed to present base files first
347
+ // (basename sort can put an overlay-only file first), so stable-partition
348
+ // overlay-only sources to the END here, making the merge order-independent.
349
+ // Stable within each group preserves last-writer-wins overlay semantics.
350
+ sources = await MetaDataLoader._partitionOverlayLast(sources);
264
351
  let root;
265
352
  // Parse all sources with super resolution DEFERRED so cross-file super
266
353
  // refs work — one source may declare a super target that's defined in a
@@ -1 +1 @@
1
- {"version":3,"file":"meta-data-loader.js","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta-data-loader.js","sourceRoot":"","sources":["../../src/loader/meta-data-loader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/metadata",
3
- "version": "0.15.5",
3
+ "version": "0.15.7",
4
4
  "description": "Metamodel loader, types, and constants for the MetaObjects standard.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,6 +13,7 @@ import { TypeId, TypeRegistry } from "../registry.js";
13
13
  import { coreProviders } from "../core-types.js";
14
14
  import { composeRegistry } from "../provider.js";
15
15
  import { TYPE_METADATA, SUBTYPE_ROOT } from "../shared/base-types.js";
16
+ import { RESERVED_KEY_CHILDREN, RESERVED_KEY_OVERLAY } from "../shared/structural.js";
16
17
  import { ParseError } from "../errors.js";
17
18
  import type { LoaderWarning } from "../source.js";
18
19
  import { codeSource, resolvedSource } from "../source.js";
@@ -327,6 +328,92 @@ export class MetaDataLoader {
327
328
  MetaDataLoader._yamlParser = mod.parseYaml;
328
329
  }
329
330
 
331
+ // ---------------------------------------------------------------------------
332
+ // #160 — overlay-only source partition (stable, overlay-only sources last)
333
+ // ---------------------------------------------------------------------------
334
+
335
+ /**
336
+ * Stable-partition `sources` so that "overlay-only" sources — every top-level
337
+ * object declaration carries `overlay: true`, i.e. the source declares no base
338
+ * objects of its own and only re-opens objects declared elsewhere — are parsed
339
+ * LAST. Preserves original order within each group.
340
+ *
341
+ * A source whose content can't be read or structurally scanned stays in the
342
+ * base group (never overlay-only) — this partition must never crash the loader;
343
+ * any genuine read/parse failure surfaces later, in the real parse loop.
344
+ */
345
+ private static async _partitionOverlayLast(
346
+ sources: MetaDataSource[],
347
+ ): Promise<MetaDataSource[]> {
348
+ const base: MetaDataSource[] = [];
349
+ const overlayOnly: MetaDataSource[] = [];
350
+ for (const source of sources) {
351
+ let isOverlayOnly = false;
352
+ try {
353
+ const content = await source.read();
354
+ isOverlayOnly = await MetaDataLoader._isOverlayOnlySource(
355
+ content,
356
+ source.format,
357
+ );
358
+ } catch {
359
+ isOverlayOnly = false;
360
+ }
361
+ (isOverlayOnly ? overlayOnly : base).push(source);
362
+ }
363
+ return [...base, ...overlayOnly];
364
+ }
365
+
366
+ /**
367
+ * Structurally scan a source's raw content (JSON via JSON.parse; sigil-free
368
+ * authoring YAML via the raw YAML walker — `overlay: true` is a bare key
369
+ * before desugar) and report whether every top-level object declaration under
370
+ * `metadata.root.children` carries `overlay: true` (and there is at least one).
371
+ */
372
+ private static async _isOverlayOnlySource(
373
+ content: string,
374
+ format: MetaDataFormat,
375
+ ): Promise<boolean> {
376
+ // Strip UTF-8 BOM if present (mirrors parseJson / parseYaml).
377
+ const normalized = content.charCodeAt(0) === 0xfeff ? content.slice(1) : content;
378
+ let parsed: unknown;
379
+ if (format === "json") {
380
+ parsed = JSON.parse(normalized);
381
+ } else if (format === "yaml") {
382
+ const { parseYamlWithPositions } = await import(
383
+ "../core/yaml-positions-walker.js"
384
+ );
385
+ parsed = parseYamlWithPositions(normalized).value;
386
+ } else {
387
+ return false;
388
+ }
389
+ return MetaDataLoader._rootIsOverlayOnly(parsed);
390
+ }
391
+
392
+ /** True when the structurally-parsed root has ≥1 child and every top-level
393
+ * child node carries `overlay: true` (declares no base objects). */
394
+ private static _rootIsOverlayOnly(parsed: unknown): boolean {
395
+ if (typeof parsed !== "object" || parsed === null) return false;
396
+ const rootKey = `${TYPE_METADATA}.${SUBTYPE_ROOT}`; // "metadata.root"
397
+ const rootBody = (parsed as Record<string, unknown>)[rootKey];
398
+ if (typeof rootBody !== "object" || rootBody === null) return false;
399
+ const children = (rootBody as Record<string, unknown>)[RESERVED_KEY_CHILDREN];
400
+ if (!Array.isArray(children) || children.length === 0) return false;
401
+ return children.every((child) => {
402
+ if (typeof child !== "object" || child === null) return false;
403
+ // Each child is a single-key wrapper: { "object.projection": { ... } }.
404
+ const bodies = Object.values(child as Record<string, unknown>);
405
+ return (
406
+ bodies.length > 0 &&
407
+ bodies.every(
408
+ (body) =>
409
+ typeof body === "object" &&
410
+ body !== null &&
411
+ (body as Record<string, unknown>)[RESERVED_KEY_OVERLAY] === true,
412
+ )
413
+ );
414
+ });
415
+ }
416
+
330
417
  // ---------------------------------------------------------------------------
331
418
  // load — async pipeline over MetaDataSource[]
332
419
  // ---------------------------------------------------------------------------
@@ -368,6 +455,19 @@ export class MetaDataLoader {
368
455
  await MetaDataLoader._ensureYamlParser();
369
456
  }
370
457
 
458
+ // #160 — this loader merges DURING parse (each source is streamed into the
459
+ // accumulating `root` via parseOpts.intoRoot). A source that ONLY re-opens
460
+ // objects declared elsewhere (every top-level object carries `overlay: true`)
461
+ // must therefore be parsed AFTER the sources that declare those base objects,
462
+ // or the overlaid node lands ahead of its base entities — leaving a projection
463
+ // before its base so order-dependent super-resolution can't resolve its
464
+ // `extends`/`@via`, and the streaming merge errors ERR_OVERLAY_NO_TARGET.
465
+ // Directory discovery order is not guaranteed to present base files first
466
+ // (basename sort can put an overlay-only file first), so stable-partition
467
+ // overlay-only sources to the END here, making the merge order-independent.
468
+ // Stable within each group preserves last-writer-wins overlay semantics.
469
+ sources = await MetaDataLoader._partitionOverlayLast(sources);
470
+
371
471
  let root: MetaRoot | undefined;
372
472
 
373
473
  // Parse all sources with super resolution DEFERRED so cross-file super