Skip to content

Unsaved export not offered for auto-import after reopening the importing file #64953

Open

Description

After the following sequence, an export that exists only as unsaved content is not offered for auto-import.

Repro

https://github.com/johnsoncodehk/tsgo-auto-import-unsaved-export-repro

npm ci
npm run repro

With tsc --lsp --stdio:

  1. Open importer.ts (not on disk) with export {};.
  2. Request a completion in importer.ts.
  3. Close importer.ts.
  4. Open exporter.ts (empty on disk) with export function unsavedFn() {}.
  5. Reopen importer.ts with unsavedFn;, then request a completion at the end of unsavedFn, or call the API's getImportEditsForSymbols(importer, [unsavedFn]).

Expected

The completion list contains unsavedFn as an auto-import from ./exporter, and getImportEditsForSymbols returns an import edit.

Actual

The completion list has no auto-import entry for unsavedFn, and getImportEditsForSymbols returns [].

FAIL 0/5  [API] getImportEditsForSymbols, unsaved export, auto-imports computed before
FAIL 0/5  [LSP] completion,               unsaved export, auto-imports computed before
PASS 5/5  [API] getImportEditsForSymbols, unsaved export, no auto-imports before
PASS 5/5  [LSP] completion,               unsaved export, no auto-imports before
PASS 5/5  [API] getImportEditsForSymbols, saved export,   auto-imports computed before
PASS 5/5  [LSP] completion,               saved export,   auto-imports computed before

Environment

  • typescript@7.1.0-beta; also reproduces with typescript@7.0.2 and typescript@7.1.0-dev.20261024.1
  • Node v24.15.0, macOS 26.3 (arm64)

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions