@component-compass/cli 0.0.3 → 0.0.4
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/dist/cli.js +1 -1
- package/dist/commands/init.js +1 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/scan.d.ts +12 -1
- package/dist/commands/scan.js +158 -55
- package/dist/commands/scan.js.map +1 -1
- package/dist/config/loader.js +5 -9
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +2 -15
- package/dist/config/schema.js.map +1 -1
- package/dist/envelope/index.d.ts +0 -9
- package/dist/envelope/index.js +1 -46
- package/dist/envelope/index.js.map +1 -1
- package/dist/identity.d.ts +11 -15
- package/dist/identity.js +29 -20
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/local-index/detect-react.d.ts +2 -1
- package/dist/local-index/detect-react.js +135 -115
- package/dist/local-index/detect-react.js.map +1 -1
- package/dist/local-index/detect-vue.d.ts +15 -1
- package/dist/local-index/detect-vue.js +130 -107
- package/dist/local-index/detect-vue.js.map +1 -1
- package/dist/local-index/detect-wc.d.ts +7 -1
- package/dist/local-index/detect-wc.js +56 -60
- package/dist/local-index/detect-wc.js.map +1 -1
- package/dist/local-index/index.d.ts +11 -6
- package/dist/local-index/index.js +25 -27
- package/dist/local-index/index.js.map +1 -1
- package/dist/manifest/barrel-parser.d.ts +10 -0
- package/dist/manifest/barrel-parser.js +11 -0
- package/dist/manifest/barrel-parser.js.map +1 -1
- package/dist/manifest/derived-manifest-stub.d.ts +15 -6
- package/dist/manifest/derived-manifest-stub.js +43 -7
- package/dist/manifest/derived-manifest-stub.js.map +1 -1
- package/dist/manifest/lazy-resolver.d.ts +42 -16
- package/dist/manifest/lazy-resolver.js +122 -49
- package/dist/manifest/lazy-resolver.js.map +1 -1
- package/dist/occurrences.js +20 -4
- package/dist/occurrences.js.map +1 -1
- package/dist/parse-by-ext.d.ts +21 -0
- package/dist/parse-by-ext.js +53 -0
- package/dist/parse-by-ext.js.map +1 -0
- package/dist/reporter/index.d.ts +5 -21
- package/dist/reporter/index.js +6 -52
- package/dist/reporter/index.js.map +1 -1
- package/dist/reporter/stdout.js +4 -4
- package/dist/reporter/stdout.js.map +1 -1
- package/dist/rollup.d.ts +5 -4
- package/dist/rollup.js +7 -4
- package/dist/rollup.js.map +1 -1
- package/dist/scan/cem-index.d.ts +38 -0
- package/dist/scan/cem-index.js +139 -0
- package/dist/scan/cem-index.js.map +1 -0
- package/dist/scan/git-mtime.d.ts +2 -0
- package/dist/scan/git-mtime.js +22 -0
- package/dist/scan/git-mtime.js.map +1 -0
- package/dist/scan/meta.d.ts +5 -0
- package/dist/scan/meta.js +58 -0
- package/dist/scan/meta.js.map +1 -0
- package/dist/scan/stamp-deprecated.d.ts +16 -0
- package/dist/scan/stamp-deprecated.js +33 -0
- package/dist/scan/stamp-deprecated.js.map +1 -0
- package/dist/scan/stamp-version.d.ts +18 -0
- package/dist/scan/stamp-version.js +94 -0
- package/dist/scan/stamp-version.js.map +1 -0
- package/dist/seeds.d.ts +18 -18
- package/dist/seeds.js +82 -45
- package/dist/seeds.js.map +1 -1
- package/dist/types.d.ts +2 -5
- package/dist/util/git.d.ts +8 -0
- package/dist/util/git.js +73 -0
- package/dist/util/git.js.map +1 -1
- package/dist/util/progress.d.ts +21 -0
- package/dist/util/progress.js +54 -0
- package/dist/util/progress.js.map +1 -0
- package/dist/walker/files.d.ts +1 -0
- package/dist/walker/files.js +11 -5
- package/dist/walker/files.js.map +1 -1
- package/dist/workspace/find-owning-package.d.ts +6 -0
- package/dist/workspace/find-owning-package.js +22 -2
- package/dist/workspace/find-owning-package.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.js +1 -1
- package/dist/workspace/index.js.map +1 -1
- package/package.json +13 -7
- package/schema/config.schema.json +2 -24
- package/dist/commands/no-deps-diagnostic.d.ts +0 -15
- package/dist/commands/no-deps-diagnostic.js +0 -23
- package/dist/commands/no-deps-diagnostic.js.map +0 -1
- package/dist/config/tag-rules.d.ts +0 -2
- package/dist/config/tag-rules.js +0 -34
- package/dist/config/tag-rules.js.map +0 -1
- package/dist/local-index/walker.d.ts +0 -11
- package/dist/local-index/walker.js +0 -47
- package/dist/local-index/walker.js.map +0 -1
- package/dist/manifest/diagnostic-filter.d.ts +0 -13
- package/dist/manifest/diagnostic-filter.js +0 -36
- package/dist/manifest/diagnostic-filter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barrel-parser.js","sourceRoot":"","sources":["../../src/manifest/barrel-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"barrel-parser.js","sourceRoot":"","sources":["../../src/manifest/barrel-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import type { DerivedLeafPayload } from "@component-compass/plugin-core";
|
|
2
2
|
/**
|
|
3
|
-
* Phase 4 hook
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
3
|
+
* Phase 4 hook: extract derived manifest data from leaf source when no
|
|
4
|
+
* authored manifest (CEM / CCM) exists.
|
|
5
|
+
*
|
|
6
|
+
* Fires only for workspace packages — those whose realpath resolves outside
|
|
7
|
+
* `node_modules`. Published packages with only a `dist/` tree are skipped;
|
|
8
|
+
* both extractor implementations return `null` in that case.
|
|
9
|
+
*
|
|
10
|
+
* The extractor to run is inferred from the package's source content:
|
|
11
|
+
* - `.vue` files present in `src/` → manifest-vue extractor
|
|
12
|
+
* - Otherwise → manifest-react extractor (handles TS/JS source)
|
|
13
|
+
*
|
|
14
|
+
* Pre-MVP: source-mapping config (no source-mapping paradigm for publishing
|
|
15
|
+
* packages without source — pre-MVP scope) is out of scope. Only source that
|
|
16
|
+
* lives at the default `src/` path is walked.
|
|
8
17
|
*/
|
|
9
|
-
export declare function extractDerivedManifest(
|
|
18
|
+
export declare function extractDerivedManifest(leafPackageDir: string): DerivedLeafPayload | null;
|
|
@@ -1,11 +1,47 @@
|
|
|
1
|
+
import { extractReactManifestSync } from "@component-compass/manifest-react";
|
|
2
|
+
import { extractVueManifestSync } from "@component-compass/manifest-vue";
|
|
3
|
+
import { readdirSync, existsSync } from "node:fs";
|
|
4
|
+
import { join } from "node:path";
|
|
1
5
|
/**
|
|
2
|
-
* Phase 4 hook
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* Phase 4 hook: extract derived manifest data from leaf source when no
|
|
7
|
+
* authored manifest (CEM / CCM) exists.
|
|
8
|
+
*
|
|
9
|
+
* Fires only for workspace packages — those whose realpath resolves outside
|
|
10
|
+
* `node_modules`. Published packages with only a `dist/` tree are skipped;
|
|
11
|
+
* both extractor implementations return `null` in that case.
|
|
12
|
+
*
|
|
13
|
+
* The extractor to run is inferred from the package's source content:
|
|
14
|
+
* - `.vue` files present in `src/` → manifest-vue extractor
|
|
15
|
+
* - Otherwise → manifest-react extractor (handles TS/JS source)
|
|
16
|
+
*
|
|
17
|
+
* Pre-MVP: source-mapping config (no source-mapping paradigm for publishing
|
|
18
|
+
* packages without source — pre-MVP scope) is out of scope. Only source that
|
|
19
|
+
* lives at the default `src/` path is walked.
|
|
7
20
|
*/
|
|
8
|
-
export function extractDerivedManifest(
|
|
9
|
-
|
|
21
|
+
export function extractDerivedManifest(leafPackageDir) {
|
|
22
|
+
const srcDir = join(leafPackageDir, "src");
|
|
23
|
+
if (existsSync(srcDir) && hasVueSources(srcDir)) {
|
|
24
|
+
return extractVueManifestSync(leafPackageDir);
|
|
25
|
+
}
|
|
26
|
+
return extractReactManifestSync(leafPackageDir);
|
|
27
|
+
}
|
|
28
|
+
function hasVueSources(dir) {
|
|
29
|
+
let entries;
|
|
30
|
+
try {
|
|
31
|
+
entries = readdirSync(dir, { withFileTypes: true });
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
for (const entry of entries) {
|
|
37
|
+
const name = entry.name;
|
|
38
|
+
if (entry.isFile() && name.endsWith(".vue"))
|
|
39
|
+
return true;
|
|
40
|
+
if (entry.isDirectory()) {
|
|
41
|
+
if (hasVueSources(join(dir, name)))
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
10
46
|
}
|
|
11
47
|
//# sourceMappingURL=derived-manifest-stub.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derived-manifest-stub.js","sourceRoot":"","sources":["../../src/manifest/derived-manifest-stub.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"derived-manifest-stub.js","sourceRoot":"","sources":["../../src/manifest/derived-manifest-stub.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAe,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,cAAsB;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,OAAO,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAa,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACzD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { type IndexedComponent, type LazyResolverHit, type ManifestRef, type Diagnostic, type DiagnosticCollector } from "@component-compass/plugin-core";
|
|
2
2
|
import type { ResolveImport } from "../walker/resolve-import.js";
|
|
3
|
-
import type { WorkspaceGraph } from "../workspace/types.js";
|
|
4
3
|
export type CreateLazyResolverOptions = {
|
|
5
4
|
resolveImport: ResolveImport;
|
|
6
5
|
/**
|
|
7
|
-
* Anchor for
|
|
6
|
+
* Anchor for eager loads via `.warm()`. Optional — `resolveLazyManifest`
|
|
8
7
|
* itself never reads it (resolution is anchored on the calling file). When
|
|
9
|
-
* absent, `
|
|
8
|
+
* absent, `.warm()` falls back to `process.cwd()`.
|
|
10
9
|
*/
|
|
11
10
|
repoRoot?: string;
|
|
12
|
-
/**
|
|
11
|
+
/** Derived-manifest extractor; defaults to the workspace-scoped impl from derived-manifest-stub.ts. */
|
|
13
12
|
extractDerivedManifest?: (leafPackageDir: string) => import("@component-compass/plugin-core").DerivedLeafPayload | null;
|
|
14
13
|
/**
|
|
15
14
|
* Optional shared diagnostic collector. If absent, the resolver creates
|
|
@@ -17,28 +16,55 @@ export type CreateLazyResolverOptions = {
|
|
|
17
16
|
*/
|
|
18
17
|
collector?: DiagnosticCollector;
|
|
19
18
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
19
|
+
* Glob patterns identifying packages whose manifests should be loaded.
|
|
20
|
+
* When set, the resolver loads manifests only for matching packages —
|
|
21
|
+
* non-matching packages still get identity resolution (`leafPackage` +
|
|
22
|
+
* `modulePath`) but `matched` is always null. When omitted or empty,
|
|
23
|
+
* manifest enrichment is fully disabled; identity resolution still runs.
|
|
24
|
+
* Use `["**"]` to enrich every package the resolver reaches (the
|
|
25
|
+
* single-star pattern `*` won't match scoped names like `@scope/pkg`
|
|
26
|
+
* because picomatch's `*` doesn't cross `/`).
|
|
25
27
|
*/
|
|
26
|
-
|
|
28
|
+
manifestPatterns?: readonly string[];
|
|
27
29
|
};
|
|
28
30
|
export interface LazyResolver {
|
|
29
31
|
resolveLazyManifest(fromFile: string, specifier: string, exportName: string): LazyResolverHit | null;
|
|
30
|
-
lookupByTag(tagName: string): Extract<IndexedComponent, {
|
|
31
|
-
kind: "custom-element";
|
|
32
|
-
}> | null;
|
|
33
32
|
snapshotComponents(): IndexedComponent[];
|
|
34
33
|
snapshotManifestRefs(): ManifestRef[];
|
|
34
|
+
/**
|
|
35
|
+
* Returns the set of package names whose enrichment came from the derived
|
|
36
|
+
* extractor (no authored CEM/CCM was found). Used by scan.ts to label
|
|
37
|
+
* `enrichmentSource: "derived"` on the snapshot entries for these packages.
|
|
38
|
+
*/
|
|
39
|
+
snapshotDerivedPackages(): Set<string>;
|
|
35
40
|
diagnostics(): Diagnostic[];
|
|
36
41
|
/**
|
|
37
42
|
* Eagerly load each named package's root CEM/CCM (if present) so the
|
|
38
43
|
* `byTag` cache covers tag-only consumers (HTML / Vue templates with no
|
|
39
|
-
* JS-side import to prime the resolver).
|
|
40
|
-
*
|
|
44
|
+
* JS-side import to prime the resolver). Returns a `WarmedResolver` that
|
|
45
|
+
* adds `lookupByTag` — the only way to obtain it. No barrel walking; just
|
|
46
|
+
* one leaf-load per package, mirroring the resolver's terminal-load step.
|
|
47
|
+
*/
|
|
48
|
+
warm(packageNames: string[]): WarmedResolver;
|
|
49
|
+
/**
|
|
50
|
+
* Test-only hook: number of times the named barrel path was passed through
|
|
51
|
+
* the parse step. The resolver caches parsed barrel ASTs per absolute path,
|
|
52
|
+
* so on the happy path this is 1 regardless of how many import resolutions
|
|
53
|
+
* traverse the same barrel. Underscore-prefixed because production callers
|
|
54
|
+
* shouldn't depend on it.
|
|
41
55
|
*/
|
|
42
|
-
|
|
56
|
+
_barrelParseCount(absPath: string): number;
|
|
57
|
+
}
|
|
58
|
+
export interface WarmedResolver extends LazyResolver {
|
|
59
|
+
/**
|
|
60
|
+
* Tag-only lookup against the CEM index loaded during `warm(...)` (and any
|
|
61
|
+
* subsequent `resolveLazyManifest` calls that walked into eligible
|
|
62
|
+
* packages). Returns null when no matching custom-element has been indexed,
|
|
63
|
+
* including for resolvers constructed without any `manifestPatterns`
|
|
64
|
+
* (identity-only mode — `warm(...)` is then a structural no-op).
|
|
65
|
+
*/
|
|
66
|
+
lookupByTag(tagName: string): Extract<IndexedComponent, {
|
|
67
|
+
kind: "custom-element";
|
|
68
|
+
}> | null;
|
|
43
69
|
}
|
|
44
70
|
export declare function createLazyResolver(opts: CreateLazyResolverOptions): LazyResolver;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
|
-
import { dirname, join, resolve as pathResolve } from "node:path";
|
|
3
|
+
import { dirname, extname, isAbsolute, join, relative, resolve as pathResolve } from "node:path";
|
|
4
|
+
import picomatch from "picomatch";
|
|
5
|
+
import { parse as babelParse } from "@babel/parser";
|
|
4
6
|
import { validateManifest, createDiagnosticCollector, } from "@component-compass/plugin-core";
|
|
5
|
-
import { parseBarrelTopLevelDetailed } from "./barrel-parser.js";
|
|
7
|
+
import { parseBarrelTopLevelDetailed, parseBarrelTopLevelDetailedFromAst, } from "./barrel-parser.js";
|
|
6
8
|
import { extractDerivedManifest as extractDerivedManifestStub } from "./derived-manifest-stub.js";
|
|
7
|
-
import { findOwningPackage } from "../workspace/find-owning-package.js";
|
|
8
9
|
/**
|
|
9
10
|
* Hard ceiling on re-export hops a single resolution may walk. Real chains
|
|
10
11
|
* top out around 10 hops (deep barrel piles); 32 is a pathological-input
|
|
@@ -16,13 +17,49 @@ const MAX_REEXPORT_HOPS = 32;
|
|
|
16
17
|
export function createLazyResolver(opts) {
|
|
17
18
|
const { resolveImport } = opts;
|
|
18
19
|
const extractDerived = opts.extractDerivedManifest ?? extractDerivedManifestStub;
|
|
20
|
+
const repoRoot = opts.repoRoot;
|
|
21
|
+
// Repo-root-relative POSIX path for output stability (so manifestRef.path
|
|
22
|
+
// and diagnostic.resolvedFile hash/diff identically across machines).
|
|
23
|
+
// Falls back to the absolute path when no repoRoot was provided (legacy
|
|
24
|
+
// callers / unit tests).
|
|
25
|
+
const toRelPath = (abs) => repoRoot && isAbsolute(abs) ? relative(repoRoot, abs).replace(/\\/g, "/") : abs;
|
|
26
|
+
// `manifestPatterns` is the per-package gate for manifest IO (CEM/CCM loads,
|
|
27
|
+
// byTag indexing, snapshot views). Undefined or empty array disables manifest
|
|
28
|
+
// enrichment entirely; identity resolution (`leafPackage` + `modulePath`)
|
|
29
|
+
// runs independently. Use `['**']` to opt every package into enrichment —
|
|
30
|
+
// `'*'` won't match scoped names like `@scope/pkg` since picomatch's `*`
|
|
31
|
+
// doesn't cross `/`.
|
|
32
|
+
const manifestPatterns = opts.manifestPatterns ?? [];
|
|
33
|
+
const manifestMatchers = manifestPatterns.map((p) => picomatch(p));
|
|
34
|
+
const isManifestEligible = (pkgName) => manifestMatchers.length > 0 && manifestMatchers.some((m) => m(pkgName));
|
|
19
35
|
// (absoluteFilePath::exportName) → cached hit (or null for negative cache).
|
|
20
36
|
const hitCache = new Map();
|
|
21
37
|
// tagName → custom-element entry (populated as authored manifests load).
|
|
22
38
|
const byTag = new Map();
|
|
23
39
|
// Leaf packages whose authored manifest has been loaded.
|
|
24
40
|
const visitedLeafs = new Map();
|
|
41
|
+
// Packages whose enrichment came from the derived extractor (not an authored CEM/CCM).
|
|
42
|
+
const derivedPackages = new Set();
|
|
25
43
|
const collector = opts.collector ?? createDiagnosticCollector();
|
|
44
|
+
// Parsed barrel AST per absolute path. Deep re-export chains (PIE-shaped
|
|
45
|
+
// monorepos: `pie-webc` → `pie-button` → leaf) revisit the same barrel
|
|
46
|
+
// many times across one scan; caching the parsed AST collapses the cost to
|
|
47
|
+
// one parse per file regardless of fan-in.
|
|
48
|
+
const barrelAstCache = new Map();
|
|
49
|
+
const barrelParseCounts = new Map();
|
|
50
|
+
function parsedBarrel(absPath, source) {
|
|
51
|
+
const hit = barrelAstCache.get(absPath);
|
|
52
|
+
if (hit)
|
|
53
|
+
return hit;
|
|
54
|
+
const ext = extname(absPath).toLowerCase();
|
|
55
|
+
const plugins = ["typescript", "decorators-legacy", "classProperties"];
|
|
56
|
+
if (ext !== ".ts")
|
|
57
|
+
plugins.push("jsx");
|
|
58
|
+
const ast = babelParse(source, { sourceType: "module", plugins, errorRecovery: true });
|
|
59
|
+
barrelAstCache.set(absPath, ast);
|
|
60
|
+
barrelParseCounts.set(absPath, (barrelParseCounts.get(absPath) ?? 0) + 1);
|
|
61
|
+
return ast;
|
|
62
|
+
}
|
|
26
63
|
function loadLeafManifest(leafPackage, leafDir) {
|
|
27
64
|
const cached = visitedLeafs.get(leafPackage);
|
|
28
65
|
if (cached)
|
|
@@ -77,6 +114,9 @@ export function createLazyResolver(opts) {
|
|
|
77
114
|
if (c.kind === "custom-element")
|
|
78
115
|
byTag.set(c.tagName, c);
|
|
79
116
|
}
|
|
117
|
+
// Mark this package as derived so `snapshotDerivedPackages()` can
|
|
118
|
+
// inform the caller (scan.ts) to label its enrichmentSource correctly.
|
|
119
|
+
derivedPackages.add(leafPackage);
|
|
80
120
|
// `path: ""` filters this entry out of `snapshotManifestRefs()`. The
|
|
81
121
|
// resolver-internal `source` is `ManifestSource` ("cem" | "react" |
|
|
82
122
|
// "vue"); "react" is a placeholder here — the artifact-facing
|
|
@@ -84,13 +124,13 @@ export function createLazyResolver(opts) {
|
|
|
84
124
|
// `OutputManifest.source` (added in Task 8), not this internal field.
|
|
85
125
|
visitedLeafs.set(leafPackage, {
|
|
86
126
|
components,
|
|
87
|
-
manifestRef: { source: "react",
|
|
127
|
+
manifestRef: { source: "react", packageName: leafPackage, path: "", version: pkgVersion ?? null },
|
|
88
128
|
});
|
|
89
129
|
return components;
|
|
90
130
|
}
|
|
91
131
|
visitedLeafs.set(leafPackage, {
|
|
92
132
|
components: [],
|
|
93
|
-
manifestRef: { source: "cem",
|
|
133
|
+
manifestRef: { source: "cem", packageName: leafPackage, path: "", version: pkgVersion ?? null },
|
|
94
134
|
});
|
|
95
135
|
return [];
|
|
96
136
|
}
|
|
@@ -103,8 +143,8 @@ export function createLazyResolver(opts) {
|
|
|
103
143
|
components,
|
|
104
144
|
manifestRef: {
|
|
105
145
|
source: manifestSource,
|
|
106
|
-
|
|
107
|
-
path: manifestPath,
|
|
146
|
+
packageName: leafPackage,
|
|
147
|
+
path: toRelPath(manifestPath),
|
|
108
148
|
version: pkgVersion ?? null,
|
|
109
149
|
},
|
|
110
150
|
});
|
|
@@ -163,21 +203,20 @@ export function createLazyResolver(opts) {
|
|
|
163
203
|
const initialAbs = resolveImport(fromFile, specifier);
|
|
164
204
|
if (!initialAbs)
|
|
165
205
|
return null;
|
|
166
|
-
// Workspace
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
//
|
|
173
|
-
// path
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
206
|
+
// Workspace identity rule: workspace packages that carry a `name` field in
|
|
207
|
+
// their package.json get external-style identity (packageName + exportName
|
|
208
|
+
// keys), making them cross-repo joinable just like node_modules deps.
|
|
209
|
+
// findPackageRoot skips package.json files without a `name` field, so
|
|
210
|
+
// any package it returns is guaranteed to carry an identity key.
|
|
211
|
+
//
|
|
212
|
+
// When the resolved target lands inside a named workspace package, fall
|
|
213
|
+
// through to the normal resolution path — the lazy resolver will walk the
|
|
214
|
+
// re-export chain and emit { leafPackage, modulePath } exactly as it does
|
|
215
|
+
// for node_modules packages.
|
|
216
|
+
//
|
|
217
|
+
// (Previously this block returned null for both-in-workspace imports,
|
|
218
|
+
// delegating to the local-detection pipeline. That's gone: workspace
|
|
219
|
+
// packages are treated as opaque external packages, not inlined locals.)
|
|
181
220
|
// Resolved file lives in the same package as the importer (e.g.
|
|
182
221
|
// `../components/Foo.vue` from a sibling file in the consumer repo).
|
|
183
222
|
// The lazy resolver's contract is "external packages are opaque tuples";
|
|
@@ -209,7 +248,7 @@ export function createLazyResolver(opts) {
|
|
|
209
248
|
collector.emit({
|
|
210
249
|
code: "cycle-detected",
|
|
211
250
|
severity: "warning",
|
|
212
|
-
filePath: currentAbs,
|
|
251
|
+
filePath: toRelPath(currentAbs),
|
|
213
252
|
exportName: currentExport,
|
|
214
253
|
...(cyclePkg !== undefined ? { packageName: cyclePkg } : {}),
|
|
215
254
|
});
|
|
@@ -220,18 +259,23 @@ export function createLazyResolver(opts) {
|
|
|
220
259
|
const source = safeReadFile(currentAbs);
|
|
221
260
|
if (source === null)
|
|
222
261
|
break;
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
});
|
|
262
|
+
let parsed;
|
|
263
|
+
try {
|
|
264
|
+
const ast = parsedBarrel(currentAbs, source);
|
|
265
|
+
parsed = parseBarrelTopLevelDetailedFromAst(ast);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
// parseByExt throws on unrecoverable syntax — fall back to the
|
|
269
|
+
// source-level shim, which swallows parse errors and returns empty
|
|
270
|
+
// arrays so the chain terminates gracefully on garbage files.
|
|
271
|
+
parsed = parseBarrelTopLevelDetailed(source);
|
|
234
272
|
}
|
|
273
|
+
const { reExports } = parsed;
|
|
274
|
+
// unsupported barrel forms (try/switch-wrapped, dynamic re-exports etc.)
|
|
275
|
+
// are silently treated as terminal — the resolver returns identity from
|
|
276
|
+
// the current file and the parser falls back to opaque emission. The
|
|
277
|
+
// former barrel-unsupported-form info diagnostic was deleted as never
|
|
278
|
+
// user-actionable (2026-05-14 resolver-identity-decouple spec).
|
|
235
279
|
if (reExports.length === 0)
|
|
236
280
|
break; // terminal
|
|
237
281
|
// Find the re-export that carries `currentExport`.
|
|
@@ -249,7 +293,7 @@ export function createLazyResolver(opts) {
|
|
|
249
293
|
collector.emit({
|
|
250
294
|
code: "chain-too-deep",
|
|
251
295
|
severity: "warning",
|
|
252
|
-
filePath: currentAbs,
|
|
296
|
+
filePath: toRelPath(currentAbs),
|
|
253
297
|
exportName: currentExport,
|
|
254
298
|
depth: MAX_REEXPORT_HOPS,
|
|
255
299
|
...(deepPkg !== undefined ? { packageName: deepPkg } : {}),
|
|
@@ -267,18 +311,23 @@ export function createLazyResolver(opts) {
|
|
|
267
311
|
hitCache.set(cacheKey, null);
|
|
268
312
|
return null;
|
|
269
313
|
}
|
|
314
|
+
const modulePath = relative(pkg.dir, currentAbs).replace(/\\/g, "/");
|
|
315
|
+
// Per-package manifest gate. Identity is now computed; if the package
|
|
316
|
+
// is excluded by manifestPatterns (or no patterns set), short-circuit to
|
|
317
|
+
// identity-only emission. Caller gets {leafPackage, modulePath, matched:
|
|
318
|
+
// null}; parser falls back to opaque opportunistic emission with manifest: null.
|
|
319
|
+
if (!isManifestEligible(pkg.name)) {
|
|
320
|
+
const identityOnlyHit = {
|
|
321
|
+
leafPackage: pkg.name,
|
|
322
|
+
modulePath,
|
|
323
|
+
matched: null,
|
|
324
|
+
};
|
|
325
|
+
hitCache.set(cacheKey, identityOnlyHit);
|
|
326
|
+
return identityOnlyHit;
|
|
327
|
+
}
|
|
270
328
|
const components = loadLeafManifest(pkg.name, pkg.dir);
|
|
271
329
|
const matched = matchInLeaf(components, chainSpecifiers, currentExport);
|
|
272
|
-
|
|
273
|
-
// Untraceable + no manifest at all; surface diagnostic.
|
|
274
|
-
collector.emit({
|
|
275
|
-
code: "untraceable-barrel",
|
|
276
|
-
severity: "info",
|
|
277
|
-
packageName: pkg.name,
|
|
278
|
-
resolvedFile: currentAbs,
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
const hit = { leafPackage: pkg.name, matched };
|
|
330
|
+
const hit = { leafPackage: pkg.name, modulePath, matched };
|
|
282
331
|
hitCache.set(cacheKey, hit);
|
|
283
332
|
return hit;
|
|
284
333
|
}
|
|
@@ -299,7 +348,10 @@ export function createLazyResolver(opts) {
|
|
|
299
348
|
}
|
|
300
349
|
return out;
|
|
301
350
|
}
|
|
302
|
-
function
|
|
351
|
+
function snapshotDerivedPackages() {
|
|
352
|
+
return new Set(derivedPackages);
|
|
353
|
+
}
|
|
354
|
+
function eagerLoadRoots(packageNames) {
|
|
303
355
|
// Anchor at <repoRoot>/_ so Node's resolution walks up through
|
|
304
356
|
// <repoRoot>/node_modules and parents, mirroring resolve-import.ts.
|
|
305
357
|
const anchor = pathResolve(opts.repoRoot ?? process.cwd(), "_");
|
|
@@ -307,6 +359,12 @@ export function createLazyResolver(opts) {
|
|
|
307
359
|
for (const name of packageNames) {
|
|
308
360
|
if (visitedLeafs.has(name))
|
|
309
361
|
continue;
|
|
362
|
+
// Honour the per-package manifest gate. Packages excluded by
|
|
363
|
+
// manifestPatterns don't get their CEM eagerly loaded — keeps the
|
|
364
|
+
// byTag map empty for them so HTML/Vue-template tag lookups also
|
|
365
|
+
// return null.
|
|
366
|
+
if (!isManifestEligible(name))
|
|
367
|
+
continue;
|
|
310
368
|
try {
|
|
311
369
|
const pkgJsonPath = requireFromRepo.resolve(`${name}/package.json`);
|
|
312
370
|
loadLeafManifest(name, dirname(pkgJsonPath));
|
|
@@ -317,14 +375,29 @@ export function createLazyResolver(opts) {
|
|
|
317
375
|
}
|
|
318
376
|
}
|
|
319
377
|
}
|
|
320
|
-
|
|
378
|
+
// The factory returns a LazyResolver. `lookupByTag` is captured in a closure
|
|
379
|
+
// and only attached when the caller goes through `.warm(...)` to obtain a
|
|
380
|
+
// WarmedResolver. Calling `.warm([])` on an identity-only resolver returns a
|
|
381
|
+
// structurally-valid WarmedResolver whose `lookupByTag` always returns null
|
|
382
|
+
// (the byTag map stays empty when no manifestPatterns match).
|
|
383
|
+
const base = {
|
|
321
384
|
resolveLazyManifest,
|
|
322
|
-
lookupByTag,
|
|
323
385
|
snapshotComponents,
|
|
324
386
|
snapshotManifestRefs,
|
|
387
|
+
snapshotDerivedPackages,
|
|
325
388
|
diagnostics: () => collector.drain(),
|
|
326
|
-
|
|
389
|
+
warm(packageNames) {
|
|
390
|
+
eagerLoadRoots(packageNames);
|
|
391
|
+
return {
|
|
392
|
+
...base,
|
|
393
|
+
lookupByTag,
|
|
394
|
+
};
|
|
395
|
+
},
|
|
396
|
+
_barrelParseCount(absPath) {
|
|
397
|
+
return barrelParseCounts.get(absPath) ?? 0;
|
|
398
|
+
},
|
|
327
399
|
};
|
|
400
|
+
return base;
|
|
328
401
|
}
|
|
329
402
|
// ---------------------------------------------------------------------------
|
|
330
403
|
// Helpers
|
|
@@ -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,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACjG,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,IAAI,UAAU,EAAqB,MAAM,eAAe,CAAC;AAEvE,OAAO,EACL,gBAAgB,EAWhB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAgClG;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AA0C7B,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;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,yBAAyB;IACzB,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CACxC,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAElF,6EAA6E;IAC7E,8EAA8E;IAC9E,0EAA0E;IAC1E,0EAA0E;IAC1E,yEAAyE;IACzE,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAW,EAAE,CACtD,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,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,uFAAuF;IACvF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,yBAAyB,EAAE,CAAC;IAEhE,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAqB,CAAC;IACpD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;QACnD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QACvF,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACjC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC;IACb,CAAC;IAED,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,kEAAkE;gBAClE,uEAAuE;gBACvE,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACjC,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,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;iBAClG,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,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE;aAChG,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,WAAW,EAAE,WAAW;gBACxB,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;gBAC7B,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,2EAA2E;QAC3E,2EAA2E;QAC3E,sEAAsE;QACtE,sEAAsE;QACtE,iEAAiE;QACjE,EAAE;QACF,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,6BAA6B;QAC7B,EAAE;QACF,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QAEzE,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,SAAS,CAAC,UAAU,CAAC;oBAC/B,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,IAAI,MAA6D,CAAC;YAClE,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC7C,MAAM,GAAG,kCAAkC,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;gBACP,+DAA+D;gBAC/D,mEAAmE;gBACnE,8DAA8D;gBAC9D,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAC7B,yEAAyE;YACzE,wEAAwE;YACxE,qEAAqE;YACrE,sEAAsE;YACtE,gEAAgE;YAChE,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,SAAS,CAAC,UAAU,CAAC;oBAC/B,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,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAErE,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,iFAAiF;QACjF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,eAAe,GAAoB;gBACvC,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,UAAU;gBACV,OAAO,EAAE,IAAI;aACd,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACxC,OAAO,eAAe,CAAC;QACzB,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;QAExE,MAAM,GAAG,GAAoB,EAAE,WAAW,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QAC5E,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,uBAAuB;QAC9B,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED,SAAS,cAAc,CAAC,YAAsB;QAC5C,+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,6DAA6D;YAC7D,kEAAkE;YAClE,iEAAiE;YACjE,eAAe;YACf,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,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,6EAA6E;IAC7E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,IAAI,GAAiB;QACzB,mBAAmB;QACnB,kBAAkB;QAClB,oBAAoB;QACpB,uBAAuB;QACvB,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE;QACpC,IAAI,CAAC,YAAsB;YACzB,cAAc,CAAC,YAAY,CAAC,CAAC;YAC7B,OAAO;gBACL,GAAG,IAAI;gBACP,WAAW;aACZ,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,OAAe;YAC/B,OAAO,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,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"}
|
package/dist/occurrences.js
CHANGED
|
@@ -34,16 +34,32 @@ function normaliseLocalFilePath(c, repoRoot) {
|
|
|
34
34
|
source: { type: "local", filePath: relative(repoRoot, fp).replace(/\\/g, "/") },
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Convert an absolute scan-time path into a repo-root-relative POSIX path so
|
|
39
|
+
* outputs (and the occurrenceId hash that includes the path) are stable
|
|
40
|
+
* across machines. Paths outside the repo come back with `..` prefix and are
|
|
41
|
+
* still stable as long as cwd is. Absolute paths with no repoRoot context
|
|
42
|
+
* pass through unchanged (test/legacy callers that don't pass repoRoot).
|
|
43
|
+
*/
|
|
44
|
+
function toRelativePath(absPath, repoRoot) {
|
|
45
|
+
if (!repoRoot || !isAbsolute(absPath))
|
|
46
|
+
return absPath;
|
|
47
|
+
return relative(repoRoot, absPath).replace(/\\/g, "/");
|
|
48
|
+
}
|
|
37
49
|
export function parseResultsToOccurrences(results, captureValues, repoRoot = "") {
|
|
38
50
|
const out = [];
|
|
39
51
|
for (const result of results) {
|
|
40
52
|
// First pass: compute (final componentId hash, occurrenceId) for every
|
|
41
53
|
// parser-emitted occurrence in THIS ParseResult. Indexes align with
|
|
42
54
|
// result.occurrences, so parentRef indices resolve correctly in pass two.
|
|
55
|
+
// filePath is normalised to repo-root-relative BEFORE hashing so the
|
|
56
|
+
// occurrenceId is identical across machines (Ben's laptop, CI, contributor
|
|
57
|
+
// forks).
|
|
43
58
|
const computed = result.occurrences.map((occ) => {
|
|
44
59
|
const componentId = computeStableIdFromComponentId(occ.componentId);
|
|
45
|
-
const
|
|
46
|
-
|
|
60
|
+
const relPath = toRelativePath(occ.loc.file, repoRoot);
|
|
61
|
+
const occurrenceId = computeOccurrenceId(componentId, relPath, occ.loc.line, occ.loc.column);
|
|
62
|
+
return { componentId, occurrenceId, relPath };
|
|
47
63
|
});
|
|
48
64
|
// Second pass: project to OutputOccurrence, resolving parentRef.
|
|
49
65
|
for (let i = 0; i < result.occurrences.length; i++) {
|
|
@@ -51,7 +67,7 @@ export function parseResultsToOccurrences(results, captureValues, repoRoot = "")
|
|
|
51
67
|
const meta = computed[i];
|
|
52
68
|
if (!occ || !meta)
|
|
53
69
|
continue;
|
|
54
|
-
const { componentId, occurrenceId } = meta;
|
|
70
|
+
const { componentId, occurrenceId, relPath } = meta;
|
|
55
71
|
const props = {};
|
|
56
72
|
for (const p of occ.props) {
|
|
57
73
|
if (p.isDynamic) {
|
|
@@ -68,7 +84,7 @@ export function parseResultsToOccurrences(results, captureValues, repoRoot = "")
|
|
|
68
84
|
}
|
|
69
85
|
const output = {
|
|
70
86
|
componentId,
|
|
71
|
-
filePath:
|
|
87
|
+
filePath: relPath,
|
|
72
88
|
line: occ.loc.line,
|
|
73
89
|
column: occ.loc.column,
|
|
74
90
|
via: occ.via,
|