mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-29 06:32:28 +00:00
U3. The shared package owns the ScopeExtractor output contract, and a receiver
chain is about to become part of it, so the type moves to sit beside
`ReferenceSite` — the interface that will carry it.
Type-only move. `extractMixedChain` stays in the analyzer: it walks a
tree-sitter AST, so it cannot follow. `MAX_CHAIN_DEPTH` stays with it for the
same reason — nothing shared needs the bound yet, and moving it now would be
moving it on speculation.
`call-analysis.ts` re-exports the type so its existing importers keep a single
import site. The re-export is `import type` + `export type` rather than a bare
`export type { X } from`, which creates no local binding and left the file's own
two uses of the name unresolved.
Verified: `tsc --noEmit` clean in both packages, and the receiver-resolution
gate green end to end.
(The unit suite has seven failures on this tree, all subprocess-spawning CLI
tests timing out. Three pass in isolation — load flake. The fourth,
`skip-git-cli.test.ts`, fails harder on untouched `main` in this sandbox — six
failures there against four here — so it is environmental and predates this
branch.)
|
||
|---|---|---|
| .. | ||
| src | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||