@component-compass/cli 0.0.2 → 0.0.3

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 (54) hide show
  1. package/dist/cli.js +4 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/no-deps-diagnostic.d.ts +15 -0
  4. package/dist/commands/no-deps-diagnostic.js +23 -0
  5. package/dist/commands/no-deps-diagnostic.js.map +1 -0
  6. package/dist/commands/scan.d.ts +1 -0
  7. package/dist/commands/scan.js +69 -52
  8. package/dist/commands/scan.js.map +1 -1
  9. package/dist/composition-rollup.d.ts +16 -14
  10. package/dist/composition-rollup.js +33 -43
  11. package/dist/composition-rollup.js.map +1 -1
  12. package/dist/identity.d.ts +9 -3
  13. package/dist/identity.js +15 -3
  14. package/dist/identity.js.map +1 -1
  15. package/dist/local-index/detect-react.js +224 -47
  16. package/dist/local-index/detect-react.js.map +1 -1
  17. package/dist/local-index/index.d.ts +4 -1
  18. package/dist/local-index/index.js +30 -13
  19. package/dist/local-index/index.js.map +1 -1
  20. package/dist/manifest/derived-manifest-stub.d.ts +2 -2
  21. package/dist/manifest/diagnostic-filter.d.ts +4 -3
  22. package/dist/manifest/diagnostic-filter.js +15 -2
  23. package/dist/manifest/diagnostic-filter.js.map +1 -1
  24. package/dist/manifest/lazy-resolver.d.ts +17 -25
  25. package/dist/manifest/lazy-resolver.js +175 -48
  26. package/dist/manifest/lazy-resolver.js.map +1 -1
  27. package/dist/occurrences.d.ts +4 -4
  28. package/dist/occurrences.js +29 -5
  29. package/dist/occurrences.js.map +1 -1
  30. package/dist/reporter/index.d.ts +27 -12
  31. package/dist/reporter/index.js +105 -18
  32. package/dist/reporter/index.js.map +1 -1
  33. package/dist/rollup.d.ts +8 -2
  34. package/dist/rollup.js +2 -2
  35. package/dist/rollup.js.map +1 -1
  36. package/dist/seeds.d.ts +3 -2
  37. package/dist/seeds.js +61 -30
  38. package/dist/seeds.js.map +1 -1
  39. package/dist/workspace/build-graph.d.ts +2 -0
  40. package/dist/workspace/build-graph.js +117 -0
  41. package/dist/workspace/build-graph.js.map +1 -0
  42. package/dist/workspace/declared-deps.d.ts +5 -0
  43. package/dist/workspace/declared-deps.js +42 -0
  44. package/dist/workspace/declared-deps.js.map +1 -0
  45. package/dist/workspace/find-owning-package.d.ts +2 -0
  46. package/dist/workspace/find-owning-package.js +49 -0
  47. package/dist/workspace/find-owning-package.js.map +1 -0
  48. package/dist/workspace/index.d.ts +4 -0
  49. package/dist/workspace/index.js +4 -0
  50. package/dist/workspace/index.js.map +1 -0
  51. package/dist/workspace/types.d.ts +46 -0
  52. package/dist/workspace/types.js +13 -0
  53. package/dist/workspace/types.js.map +1 -0
  54. package/package.json +9 -7
@@ -1,9 +1,10 @@
1
1
  import { existsSync, readFileSync, statSync } from "node:fs";
2
2
  import { createRequire } from "node:module";
3
3
  import { dirname, join, resolve as pathResolve } from "node:path";
4
- import { validateManifest, } from "@component-compass/plugin-core";
4
+ import { validateManifest, createDiagnosticCollector, } from "@component-compass/plugin-core";
5
5
  import { parseBarrelTopLevelDetailed } from "./barrel-parser.js";
6
6
  import { extractDerivedManifest as extractDerivedManifestStub } from "./derived-manifest-stub.js";
7
+ import { findOwningPackage } from "../workspace/find-owning-package.js";
7
8
  /**
8
9
  * Hard ceiling on re-export hops a single resolution may walk. Real chains
9
10
  * top out around 10 hops (deep barrel piles); 32 is a pathological-input
@@ -21,7 +22,7 @@ export function createLazyResolver(opts) {
21
22
  const byTag = new Map();
22
23
  // Leaf packages whose authored manifest has been loaded.
23
24
  const visitedLeafs = new Map();
24
- const diagnostics = [];
25
+ const collector = opts.collector ?? createDiagnosticCollector();
25
26
  function loadLeafManifest(leafPackage, leafDir) {
26
27
  const cached = visitedLeafs.get(leafPackage);
27
28
  if (cached)
@@ -162,6 +163,21 @@ export function createLazyResolver(opts) {
162
163
  const initialAbs = resolveImport(fromFile, specifier);
163
164
  if (!initialAbs)
164
165
  return null;
166
+ // Workspace-membership short-circuit: if both the importer and the
167
+ // resolved target live inside any workspace package of this repo, the
168
+ // import is a consumer-internal sibling reference (e.g. `@proton/atoms`
169
+ // imported from `applications/account`). Treat as local so the parser's
170
+ // local-detection pipeline owns identity. Yarn/pnpm install workspace
171
+ // packages as symlinks under node_modules; findOwningPackage is
172
+ // realpath-aware so both the direct path and the symlinked node_modules
173
+ // path map back to the workspace.
174
+ if (opts.workspaceGraph) {
175
+ const fromOwning = findOwningPackage(opts.workspaceGraph, fromFile);
176
+ const initialOwning = findOwningPackage(opts.workspaceGraph, initialAbs);
177
+ if (fromOwning && initialOwning) {
178
+ return null;
179
+ }
180
+ }
165
181
  // Resolved file lives in the same package as the importer (e.g.
166
182
  // `../components/Foo.vue` from a sibling file in the consumer repo).
167
183
  // The lazy resolver's contract is "external packages are opaque tuples";
@@ -190,10 +206,13 @@ export function createLazyResolver(opts) {
190
206
  const visitKey = `${currentAbs}::${currentExport}`;
191
207
  if (visited.has(visitKey)) {
192
208
  const cyclePkg = findPackageRoot(currentAbs)?.name;
193
- const entry = { code: "cycle-detected", file: currentAbs, exportName: currentExport };
194
- if (cyclePkg !== undefined)
195
- entry.packageName = cyclePkg;
196
- diagnostics.push(entry);
209
+ collector.emit({
210
+ code: "cycle-detected",
211
+ severity: "warning",
212
+ filePath: currentAbs,
213
+ exportName: currentExport,
214
+ ...(cyclePkg !== undefined ? { packageName: cyclePkg } : {}),
215
+ });
197
216
  hitCache.set(cacheKey, null);
198
217
  return null;
199
218
  }
@@ -204,12 +223,14 @@ export function createLazyResolver(opts) {
204
223
  const { reExports, unsupported } = parseBarrelTopLevelDetailed(source);
205
224
  const unsupportedPkg = unsupported.length > 0 ? findPackageRoot(currentAbs)?.name : undefined;
206
225
  for (const u of unsupported) {
207
- const entry = { code: "barrel-unsupported-form", file: currentAbs, form: u.form };
208
- if (u.line !== undefined)
209
- entry.line = u.line;
210
- if (unsupportedPkg !== undefined)
211
- entry.packageName = unsupportedPkg;
212
- diagnostics.push(entry);
226
+ collector.emit({
227
+ code: "barrel-unsupported-form",
228
+ severity: "info",
229
+ filePath: currentAbs,
230
+ form: u.form,
231
+ ...(u.line !== undefined ? { line: u.line } : {}),
232
+ ...(unsupportedPkg !== undefined ? { packageName: unsupportedPkg } : {}),
233
+ });
213
234
  }
214
235
  if (reExports.length === 0)
215
236
  break; // terminal
@@ -225,15 +246,14 @@ export function createLazyResolver(opts) {
225
246
  // we successfully read so package-root walk continues from there.
226
247
  if (hops >= MAX_REEXPORT_HOPS) {
227
248
  const deepPkg = findPackageRoot(currentAbs)?.name;
228
- const entry = {
249
+ collector.emit({
229
250
  code: "chain-too-deep",
230
- file: currentAbs,
251
+ severity: "warning",
252
+ filePath: currentAbs,
231
253
  exportName: currentExport,
232
254
  depth: MAX_REEXPORT_HOPS,
233
- };
234
- if (deepPkg !== undefined)
235
- entry.packageName = deepPkg;
236
- diagnostics.push(entry);
255
+ ...(deepPkg !== undefined ? { packageName: deepPkg } : {}),
256
+ });
237
257
  break;
238
258
  }
239
259
  chainSpecifiers.push(next.from);
@@ -251,8 +271,9 @@ export function createLazyResolver(opts) {
251
271
  const matched = matchInLeaf(components, chainSpecifiers, currentExport);
252
272
  if (!matched && components.length === 0) {
253
273
  // Untraceable + no manifest at all; surface diagnostic.
254
- diagnostics.push({
274
+ collector.emit({
255
275
  code: "untraceable-barrel",
276
+ severity: "info",
256
277
  packageName: pkg.name,
257
278
  resolvedFile: currentAbs,
258
279
  });
@@ -301,7 +322,7 @@ export function createLazyResolver(opts) {
301
322
  lookupByTag,
302
323
  snapshotComponents,
303
324
  snapshotManifestRefs,
304
- diagnostics: () => diagnostics,
325
+ diagnostics: () => collector.drain(),
305
326
  warmRoots,
306
327
  };
307
328
  }
@@ -345,43 +366,137 @@ function absorbCemDeclarations(cem, packageName) {
345
366
  const d = decl;
346
367
  if (!d.customElement || !d.tagName || !d.name)
347
368
  continue;
348
- const props = [];
349
- for (const mem of d.members ?? []) {
350
- if (mem.kind !== "field" || mem.privacy === "private")
351
- continue;
352
- if (!mem.name)
353
- continue;
354
- const p = { name: mem.name };
355
- if (mem.type?.text !== undefined)
356
- p.type = mem.type.text;
357
- if (mem.deprecated !== undefined)
358
- p.deprecated = mem.deprecated;
359
- props.push(p);
360
- }
361
- const events = [];
362
- for (const e of d.events ?? []) {
363
- if (!e.name)
364
- continue;
365
- const ev = { name: e.name };
366
- if (e.deprecated !== undefined)
367
- ev.deprecated = e.deprecated;
368
- events.push(ev);
369
- }
370
- out.push({
369
+ const props = buildPropsFromCem(d);
370
+ const events = buildEventsFromCem(d);
371
+ const slots = buildSlotsFromCem(d);
372
+ const componentLifecycle = buildLifecycleFromDeprecated(d.deprecated);
373
+ const entry = {
371
374
  kind: "custom-element",
372
375
  tagName: d.tagName,
373
376
  source: { type: "external", package: packageName },
374
- deprecated: d.deprecated ?? false,
375
377
  props,
376
378
  events,
377
- slots: (d.slots ?? []).map((s) => ({ name: s.name ?? "" })),
379
+ slots,
378
380
  className: d.name,
379
381
  imports: d.componentCompass?.imports ?? {},
380
- });
382
+ };
383
+ if (d.description !== undefined)
384
+ entry.description = d.description;
385
+ if (componentLifecycle !== undefined)
386
+ entry.lifecycle = componentLifecycle;
387
+ out.push(entry);
381
388
  }
382
389
  }
383
390
  return out;
384
391
  }
392
+ function buildPropsFromCem(decl) {
393
+ const props = [];
394
+ const seen = new Set();
395
+ // Pass 1: `attributes[]` are the canonical source for prop names + values.
396
+ for (const attr of decl.attributes ?? []) {
397
+ if (!attr.name || seen.has(attr.name))
398
+ continue;
399
+ seen.add(attr.name);
400
+ props.push(buildPropFromCemField(attr));
401
+ }
402
+ // Pass 2: `members[]` of `kind: "field"` fall through for any field that
403
+ // doesn't have an attribute counterpart (DOM-only properties). Mirror the
404
+ // privacy gate from before — private fields stay out.
405
+ for (const member of decl.members ?? []) {
406
+ if (member.kind !== "field" || member.privacy === "private")
407
+ continue;
408
+ if (!member.name || seen.has(member.name))
409
+ continue;
410
+ seen.add(member.name);
411
+ props.push(buildPropFromCemField(member));
412
+ }
413
+ return props;
414
+ }
415
+ function buildPropFromCemField(field) {
416
+ // `field.name` is asserted by the caller (gating happens in the loops above).
417
+ const prop = { name: field.name };
418
+ if (field.type?.text !== undefined)
419
+ prop.type = field.type.text;
420
+ // CEM declares `default` as the source-form string of the field's
421
+ // initializer (e.g. "'medium'" for a string literal, "42" for a
422
+ // number). Pass through as-is; rollup's `defaultApplied` matcher
423
+ // only checks for !== undefined, and richer coercion is a separate
424
+ // display concern tracked downstream.
425
+ if (field.default !== undefined)
426
+ prop.default = field.default;
427
+ if (field.description !== undefined)
428
+ prop.description = field.description;
429
+ const values = parseStringUnionValues(field.type?.text);
430
+ if (values !== undefined)
431
+ prop.values = values;
432
+ const lifecycle = buildLifecycleFromDeprecated(field.deprecated);
433
+ if (lifecycle !== undefined)
434
+ prop.lifecycle = lifecycle;
435
+ return prop;
436
+ }
437
+ function buildEventsFromCem(decl) {
438
+ const events = [];
439
+ for (const e of decl.events ?? []) {
440
+ if (!e.name)
441
+ continue;
442
+ const event = { name: e.name };
443
+ if (e.type?.text !== undefined)
444
+ event.payloadType = e.type.text;
445
+ if (e.description !== undefined)
446
+ event.description = e.description;
447
+ const lifecycle = buildLifecycleFromDeprecated(e.deprecated);
448
+ if (lifecycle !== undefined)
449
+ event.lifecycle = lifecycle;
450
+ events.push(event);
451
+ }
452
+ return events;
453
+ }
454
+ function buildSlotsFromCem(decl) {
455
+ const slots = [];
456
+ for (const s of decl.slots ?? []) {
457
+ const slot = { name: s.name ?? "" };
458
+ if (s.description !== undefined)
459
+ slot.description = s.description;
460
+ const lifecycle = buildLifecycleFromDeprecated(s.deprecated);
461
+ if (lifecycle !== undefined)
462
+ slot.lifecycle = lifecycle;
463
+ slots.push(slot);
464
+ }
465
+ return slots;
466
+ }
467
+ /**
468
+ * CEM `deprecated` is `true` (deprecated, no reason) or a reason string.
469
+ * Both shape into a `Lifecycle` with status: "deprecated"; `false` / undefined
470
+ * leave the lifecycle unset (consumers default to "stable" when absent).
471
+ */
472
+ function buildLifecycleFromDeprecated(deprecated) {
473
+ if (deprecated === undefined || deprecated === false)
474
+ return undefined;
475
+ if (typeof deprecated === "string") {
476
+ return { status: "deprecated", deprecationReason: deprecated };
477
+ }
478
+ return { status: "deprecated" };
479
+ }
480
+ /**
481
+ * Parse a CEM `type.text` like `"'small' | 'medium' | 'large'"` into the
482
+ * declared allowed values `["small", "medium", "large"]`. Only returns a
483
+ * result when EVERY `|`-separated part is a single-quoted or double-quoted
484
+ * string literal (mixed unions like `"'small' | number"` return undefined).
485
+ */
486
+ function parseStringUnionValues(typeText) {
487
+ if (!typeText)
488
+ return undefined;
489
+ const parts = typeText.split("|").map((s) => s.trim());
490
+ const stringLiterals = parts
491
+ .map((p) => {
492
+ const m = /^['"](.*)['"]$/.exec(p);
493
+ return m ? m[1] : null;
494
+ })
495
+ .filter((v) => v !== null);
496
+ return stringLiterals.length === parts.length && stringLiterals.length > 0
497
+ ? stringLiterals
498
+ : undefined;
499
+ }
385
500
  function absorbCcmComponents(manifest, packageName) {
386
501
  const out = [];
387
502
  for (const c of manifest.components) {
@@ -392,12 +507,24 @@ function absorbCcmComponents(manifest, packageName) {
392
507
  if (!c.export)
393
508
  continue;
394
509
  const externalSrc = { type: "external", package: packageName };
510
+ // Thread `default` and `type` from each CCM-declared prop through to the
511
+ // absorbed IndexedComponent. Mirrors `absorbCemDeclarations`' members[]
512
+ // handling so the `defaultApplied` rollup matcher fires for CCM-sourced
513
+ // consumers (manifest-react / manifest-vue outputs) on parity with
514
+ // CEM-sourced ones.
515
+ const props = (c.props ?? []).map((p) => {
516
+ const absorbed = { name: p.name };
517
+ if (p.type !== undefined)
518
+ absorbed.type = p.type;
519
+ if (p.default !== undefined)
520
+ absorbed.default = p.default;
521
+ return absorbed;
522
+ });
395
523
  out.push({
396
524
  kind: c.kind,
397
525
  export: c.export,
398
526
  source: externalSrc,
399
- deprecated: c.deprecated ?? false,
400
- props: (c.props ?? []).map((p) => ({ name: p.name })),
527
+ props,
401
528
  });
402
529
  }
403
530
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-resolver.js","sourceRoot":"","sources":["../../src/manifest/lazy-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy-resolver.js","sourceRoot":"","sources":["../../src/manifest/lazy-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EACL,gBAAgB,EAWhB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAElG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA4BxE;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAiB7B,MAAM,UAAU,kBAAkB,CAAC,IAA+B;IAChE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,IAAI,0BAA0B,CAAC;IAEjF,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3D,yEAAyE;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiE,CAAC;IACvF,yDAAyD;IACzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAwE,CAAC;IACrG,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,yBAAyB,EAAE,CAAC;IAEhE,SAAS,gBAAgB,CAAC,WAAmB,EAAE,OAAe;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,UAAU,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QACjE,IAAI,UAAU,GAAuB,EAAE,CAAC;QACxC,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,cAAc,GAA0B,IAAI,CAAC;QACjD,IAAI,UAA8B,CAAC;QAEnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;YACpD,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsD,CAAC;gBACjF,UAAU,GAAG,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;gBACrD,YAAY,GAAG,OAAO,CAAC;gBACvB,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;oBACT,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACtD,YAAY,GAAG,OAAO,CAAC;oBACvB,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,CAAC;YACrC,qDAAqD;YACrD,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBAChC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;wBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,qEAAqE;gBACrE,oEAAoE;gBACpE,8DAA8D;gBAC9D,yDAAyD;gBACzD,sEAAsE;gBACtE,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE;oBAC5B,UAAU;oBACV,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;iBAC9F,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE;gBAC5B,UAAU,EAAE,EAAE;gBACd,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;aAC5F,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,UAAU;YACV,WAAW,EAAE;gBACX,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,UAAU,IAAI,IAAI;aAC5B;SACF,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,SAAS,eAAe,CAAC,OAAe;QACtC,IAAI,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAsB,CAAC;oBAC3E,IAAI,GAAG,CAAC,IAAI;wBAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC;oBACP,kCAAkC;gBACpC,CAAC;YACH,CAAC;YACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,WAAW,CAClB,UAA8B,EAC9B,eAAyB,EACzB,UAAkB;QAElB,iEAAiE;QACjE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;wBAAE,SAAS;oBACtC,6EAA6E;oBAC7E,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,QAAQ,CAAC;wBAAE,OAAO,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtE,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;oBAAE,OAAO,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,uEAAuE;QACvE,qEAAqE;QACrE,uEAAuE;QACvE,qEAAqE;QACrE,wEAAwE;QACxE,wEAAwE;QACxE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,SAAS,KAAK,UAAU;gBAAE,OAAO,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,SAAiB,EACjB,UAAkB;QAElB,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,mEAAmE;QACnE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,gEAAgE;QAChE,wEAAwE;QACxE,kCAAkC;QAClC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACzE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,qEAAqE;QACrE,wEAAwE;QACxE,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,UAAU,KAAK,UAAU,EAAE,CAAC;QAChD,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,eAAe,GAAa,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,UAAU,GAAW,UAAU,CAAC;QACpC,IAAI,aAAa,GAAW,UAAU,CAAC;QAEvC,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,GAAG,UAAU,KAAK,aAAa,EAAE,CAAC;YACnD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;gBACnD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,aAAa;oBACzB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,CAAC,CAAC;gBACH,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtB,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM;YAC3B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ,EAAE,MAAM;oBAChB,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACzE,CAAC,CAAC;YACL,CAAC;YACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,CAAC,WAAW;YAE9C,mDAAmD;YACnD,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI;gBAAE,MAAM,CAAC,sDAAsD;YAExE,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,oDAAoD;YAEzE,qEAAqE;YACrE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,IAAI,IAAI,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;gBAClD,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,UAAU;oBACpB,UAAU,EAAE,aAAa;oBACzB,KAAK,EAAE,iBAAiB;oBACxB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3D,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,UAAU,GAAG,OAAO,CAAC;YACrB,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAI,EAAE,CAAC;QACT,CAAC;QAED,6CAA6C;QAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,wDAAwD;YACxD,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,YAAY,EAAE,UAAU;aACzB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAoB,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QAChE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,WAAW,CAAC,OAAe;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,SAAS,kBAAkB;QACzB,MAAM,GAAG,GAAuB,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,oBAAoB;QAC3B,MAAM,GAAG,GAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,SAAS,SAAS,CAAC,YAAsB;QACvC,+DAA+D;QAC/D,oEAAoE;QACpE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;gBACpE,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,mEAAmE;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,mBAAmB;QACnB,WAAW;QACX,kBAAkB;QAClB,oBAAoB;QACpB,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;QACpC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,SAAsE,EACtE,UAAkB;IAElB,iEAAiE;IACjE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;YAC9D,IAAI,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,4EAA4E;IAC5E,sEAAsE;IACtE,uEAAuE;IACvE,WAAW;IACX,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA6BD,SAAS,qBAAqB,CAC5B,GAAsD,EACtD,WAAmB;IAEnB,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,IAAe,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,SAAS;YACxD,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACtE,MAAM,KAAK,GAA0D;gBACnE,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;gBAClD,KAAK;gBACL,MAAM;gBACN,KAAK;gBACL,SAAS,EAAE,CAAC,CAAC,IAAI;gBACjB,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,OAAO,IAAI,EAAE;aAC3C,CAAC;YACF,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;gBAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;YACnE,IAAI,kBAAkB,KAAK,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAa;IACtC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,2EAA2E;IAC3E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,sDAAsD;IACtD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,SAAS;QACtE,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAmB;IAChD,8EAA8E;IAC9E,MAAM,IAAI,GAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;IAChE,kEAAkE;IAClE,gEAAgE;IAChE,iEAAiE;IACjE,mEAAmE;IACnE,sCAAsC;IACtC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAC1E,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/C,MAAM,SAAS,GAAG,4BAA4B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa;IACvC,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS;QACtB,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAChE,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QACnE,MAAM,SAAS,GAAG,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAa;IACtC,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,GAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAClD,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;QAClE,MAAM,SAAS,GAAG,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,UAAwC;IAC5E,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACvE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,QAA4B;IAC1D,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,KAAK;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzB,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1C,OAAO,cAAc,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QACxE,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAYC,EACD,WAAmB;IAEnB,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;YAAE,SAAS;QAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,SAAS;QACzE,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,SAAS;QACxB,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,UAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACxE,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,mEAAmE;QACnE,oBAAoB;QACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAIV,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gBAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC1D,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,WAAW;YACnB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -7,11 +7,11 @@
7
7
  * value was literal null).
8
8
  *
9
9
  * Phase 2: also resolves parser-side `parentRef` (intra-ParseResult occurrence
10
- * index) into artifact-side `parentOccurrenceId` + `parentComponentId` strings,
11
- * and carries through `depth`. Parent resolution stays scoped to one
12
- * ParseResult — cross-file composition is not tracked.
10
+ * index) into artifact-side `parentOccurrenceId` strings and carries through
11
+ * `depth`. Parent resolution stays scoped to one ParseResult — cross-file
12
+ * composition is not tracked.
13
13
  *
14
14
  * Pure function; no I/O.
15
15
  */
16
16
  import { type OutputOccurrence, type ParseResult } from "@component-compass/plugin-core";
17
- export declare function parseResultsToOccurrences(results: ParseResult[], captureValues: boolean): OutputOccurrence[];
17
+ export declare function parseResultsToOccurrences(results: ParseResult[], captureValues: boolean, repoRoot?: string): OutputOccurrence[];
@@ -7,15 +7,34 @@
7
7
  * value was literal null).
8
8
  *
9
9
  * Phase 2: also resolves parser-side `parentRef` (intra-ParseResult occurrence
10
- * index) into artifact-side `parentOccurrenceId` + `parentComponentId` strings,
11
- * and carries through `depth`. Parent resolution stays scoped to one
12
- * ParseResult — cross-file composition is not tracked.
10
+ * index) into artifact-side `parentOccurrenceId` strings and carries through
11
+ * `depth`. Parent resolution stays scoped to one ParseResult — cross-file
12
+ * composition is not tracked.
13
13
  *
14
14
  * Pure function; no I/O.
15
15
  */
16
+ import { relative, isAbsolute } from "node:path";
16
17
  import { computeOccurrenceId, } from "@component-compass/plugin-core";
17
18
  import { computeStableIdFromComponentId } from "./identity.js";
18
- export function parseResultsToOccurrences(results, captureValues) {
19
+ /**
20
+ * Normalise a local-source ComponentId's filePath to be repo-root-relative so
21
+ * that the stable hash matches the one produced for seeds built from the local
22
+ * index (which uses relative paths from the walker). Without this, owner edges
23
+ * from parsers (which use absolute file paths) would hash-diverge from the
24
+ * component entries they reference.
25
+ */
26
+ function normaliseLocalFilePath(c, repoRoot) {
27
+ if (c.source.type !== "local")
28
+ return c;
29
+ const fp = c.source.filePath;
30
+ if (!isAbsolute(fp))
31
+ return c;
32
+ return {
33
+ ...c,
34
+ source: { type: "local", filePath: relative(repoRoot, fp).replace(/\\/g, "/") },
35
+ };
36
+ }
37
+ export function parseResultsToOccurrences(results, captureValues, repoRoot = "") {
19
38
  const out = [];
20
39
  for (const result of results) {
21
40
  // First pass: compute (final componentId hash, occurrenceId) for every
@@ -60,11 +79,16 @@ export function parseResultsToOccurrences(results, captureValues) {
60
79
  const parent = computed[occ.parentRef];
61
80
  if (parent) {
62
81
  output.parentOccurrenceId = parent.occurrenceId;
63
- output.parentComponentId = parent.componentId;
64
82
  }
65
83
  }
66
84
  if (occ.depth !== undefined)
67
85
  output.depth = occ.depth;
86
+ if (occ.ownerComponentId) {
87
+ const normOwner = repoRoot
88
+ ? normaliseLocalFilePath(occ.ownerComponentId, repoRoot)
89
+ : occ.ownerComponentId;
90
+ output.ownerComponentId = computeStableIdFromComponentId(normOwner);
91
+ }
68
92
  out.push(output);
69
93
  }
70
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"occurrences.js","sourceRoot":"","sources":["../src/occurrences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"occurrences.js","sourceRoot":"","sources":["../src/occurrences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,mBAAmB,GAKpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,CAAc,EAAE,QAAgB;IAC9D,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAAE,OAAO,CAAC,CAAC;IAC9B,OAAO;QACL,GAAG,CAAC;QACJ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAsB,EACtB,aAAsB,EACtB,QAAQ,GAAG,EAAE;IAEb,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,uEAAuE;QACvE,oEAAoE;QACpE,0EAA0E;QAC1E,MAAM,QAAQ,GACZ,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,mBAAmB,CACtC,WAAW,EACX,GAAG,CAAC,GAAG,CAAC,IAAI,EACZ,GAAG,CAAC,GAAG,CAAC,IAAI,EACZ,GAAG,CAAC,GAAG,CAAC,MAAM,CACf,CAAC;YACF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEL,iEAAiE;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI;gBAAE,SAAS;YAC5B,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAmC,EAAE,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChB,+DAA+D;oBAC/D,8DAA8D;oBAC9D,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;gBACzD,CAAC;qBAAM,IAAI,aAAa,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBACzD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAqB;gBAC/B,WAAW;gBACX,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI;gBACtB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI;gBAClB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;gBACtB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,KAAK;gBACL,YAAY;aACb,CAAC;YACF,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACtD,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,QAAQ;oBACxB,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC;oBACxD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACzB,MAAM,CAAC,gBAAgB,GAAG,8BAA8B,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * It does no IO; downstream JSON / stdout reporters consume the result.
9
9
  */
10
- import type { ManifestComponent, ManifestRef, OutputManifest, OutputOccurrence, ScanEnvelope, ScanOutput, ScanStats } from "@component-compass/plugin-core";
10
+ import type { AuthoredManifestData, DerivedManifestData, Diagnostic, ManifestComponent, ManifestRef, OutputOccurrence, ScanEnvelope, ScanOutput, ScanStats } from "@component-compass/plugin-core";
11
11
  import { type ComponentSeed } from "../rollup.js";
12
12
  export type PartialScanStats = Pick<ScanStats, "filesScanned" | "filesWithUsage" | "scanDurationMs">;
13
13
  /**
@@ -25,23 +25,38 @@ export type PartialScanStats = Pick<ScanStats, "filesScanned" | "filesWithUsage"
25
25
  * counts are computed against the full occurrence graph. The scope
26
26
  * filter then drops out-of-scope components, their occurrences, and —
27
27
  * by transitive consequence — their composition rollup. Running
28
- * composition AFTER the filter would let a child's `parentComponentId`
29
- * point at a dropped component, leaving a dangling reference in the
30
- * artifact.
28
+ * composition AFTER the filter would let a child's parent
29
+ * `occurrenceId` resolve to a dropped component, leaving a dangling
30
+ * reference in the artifact's `renderedByCount`.
31
31
  *
32
32
  * The filter runs AFTER rollup so the per-component stats already reflect
33
33
  * the data the consumer will see in the artifact.
34
34
  */
35
- export declare function buildScanOutput(envelope: ScanEnvelope, manifests: ManifestRef[], partialStats: PartialScanStats, seeds: ComponentSeed[], occurrences: OutputOccurrence[], packageScopes: string[]): ScanOutput;
35
+ export declare function buildScanOutput(envelope: ScanEnvelope, manifests: ManifestRef[], partialStats: PartialScanStats, seeds: ComponentSeed[], occurrences: OutputOccurrence[], packageScopes: string[], diagnostics: Diagnostic[]): ScanOutput;
36
+ type AuthoredEnvelope = {
37
+ source: "authored";
38
+ data: AuthoredManifestData;
39
+ };
40
+ type DerivedEnvelope = {
41
+ source: "derived";
42
+ data: DerivedManifestData;
43
+ };
44
+ type ManifestEnvelope = AuthoredEnvelope | DerivedEnvelope | null;
36
45
  /**
37
- * Pure converter: project a rich `ManifestComponent` (plugin-core domain
38
- * model) onto the artifact-shape `OutputManifest` consumed by the JSON
39
- * report. Only fields the v1 output contract recognises are carried over —
40
- * lifecycle (verbatim) and per-prop `default`. Props without a declared
41
- * default are omitted from the output map; absent input lifecycle yields an
42
- * absent output `lifecycle` field (not `null`, not a synthesised default).
46
+ * Pure converter: project a rich `ManifestComponent` (resolver-side domain
47
+ * model) onto the artifact-shape envelope `{ source, data }` consumed by the
48
+ * JSON report. The `data` payload is `AuthoredManifestData` (or its
49
+ * structural twin `DerivedManifestData`) Phase 3's per-component manifest
50
+ * shape: optional `description`, `lifecycle`, and per-feature record maps
51
+ * (`props`, `slots`, `invocable`). Optional fields are omitted from the
52
+ * payload entirely when the input does not carry them (no `null` synth, no
53
+ * empty maps).
54
+ *
55
+ * Slots and events are CEM-shape only — react/vue ManifestComponents have no
56
+ * `events`/`slots` arrays — so we discriminate on `kind` before reading them.
43
57
  *
44
58
  * Returns `null` when no manifest entry was matched for the component, so
45
59
  * downstream `OutputComponent.manifest` can be set directly.
46
60
  */
47
- export declare function manifestComponentToOutput(m: ManifestComponent | undefined, source: "authored" | "derived"): OutputManifest | null;
61
+ export declare function manifestComponentToOutput(m: ManifestComponent | undefined, source: "authored" | "derived"): ManifestEnvelope;
62
+ export {};