Skip to content

TS/JS call resolver: export * re-export chains exceed barrel-only namespace-alias expansion (follow-on to #3788) #4253

Description

@squid-protocol

Problem

_with_reexports in gitgalaxy/core/call_resolver.py expands only files whose basename is a barrel (_BARREL_BASENAMES) and only _BARREL_HOPS deep, using import edges. Zod-style chains v4/index -> classic/index -> external -> schemas, built with export * from, exceed that, so ns.f() through them misses. Needs per-file capture of export * from targets.

Evidence

Found while fixing #3788 (branch fix/ts-resolver-3787-3788-3789, in progress). Verified on origin/main that expansion is barrel-basename-only.

Acceptance criteria

  • export * from specifiers captured per file and followed (cycle-safe, bounded)
  • A zod-shaped fixture resolves ns.f() through the chain
  • No regression on the existing barrel tests

Out of scope

The alias-vs-filename fix itself (#3788).

Found during: follow-on to #3788

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    core-engineModifications to the central physics and parsing engineenhancementNew feature, sensor, or structural signaturepriority: medium

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions