Skip to content

Rust-native rootDirs inherited config completion #449

Description

@jununfly

This was generated by AI during triage.

Parent

  • Roadmap plan: docs/plans/2026-06-22-rust-native-typescript-module-resolution-roadmap.md
  • Config interpretation plan: docs/plans/2026-06-22-rust-native-config-interpretation-completion.md
  • Roadmap node: 1-2-5. rootDirs

What to build

Complete the bounded Rust-native rootDirs config interpretation slice for repo-local relative import parity. When a source file is under any configured rootDir, relative imports should be able to target the same virtual-relative path under another rootDir. This must work when rootDirs comes from a repo-local inherited config and each rootDir path must be interpreted relative to the config file that declared it.

The goal is rootDirs parity for repo-local file-level moduleResolution, not TypeScript compiler completeness for every rootDirs-related emit/declaration behavior.

Acceptance criteria

  • Relative imports from one rootDir can resolve to the same virtual-relative path in another rootDir.
  • Inherited rootDirs preserve the declaring config file path basis from the merged config model.
  • Diagnostics/profile taxonomy distinguishes rootDirs resolved, target-not-found, and config-out-of-scope outcomes.
  • Deterministic Rust fixtures cover direct rootDirs, inherited rootDirs, target-not-found, and a non-rootDirs source file that should not use virtual root lookup.
  • Existing baseUrl/paths, package maps, and explicit extension pairing behavior is not regressed.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified and ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions