Skip to content

Share extensionless file target semantics across repo-local resolver paths #456

Description

@jununfly

This was generated by AI during triage.

Parent

Plan: docs/plans/2026-06-22-rust-native-file-target-semantics-extensionless-candidates.md

Roadmap node: 1-5-2-2. extensionless candidate order + mts/cts inclusion

What to build

Ensure the extensionless file target semantics from #455 are shared by every Rust-owned repo-local resolver path that already maps an import to a repo-local base path. The behavior should be consistent for relative imports, tsconfig/jsconfig paths, conventional aliases, workspace package imports, package self-name imports, and package imports.

This is still bounded file target semantics: do not add node_modules expansion, package main, package type, or full TypeScript resolver behavior.

Acceptance criteria

  • Deterministic Rust tests cover extensionless resolution through relative imports.
  • Deterministic Rust tests cover extensionless resolution through tsconfig/jsconfig paths or conventional aliases.
  • Deterministic Rust tests cover extensionless resolution through workspace/package self-name or package imports targets.
  • All covered paths use the same documented file and directory candidate order.
  • No node_modules expansion or package manager lookup is introduced.

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