-
Notifications
You must be signed in to change notification settings - Fork 13.1k
Open
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: Declaration EmitThe issue relates to the emission of d.ts filesThe issue relates to the emission of d.ts filesFix AvailableA PR has been opened for this issueA PR has been opened for this issue
Milestone
Description
🔎 Search Terms
missing import in d.ts, symbol key not imported, unique symbol dts emit, dataTagSymbol not found, declaration file missing import
🕗 Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about "Behavior That Looks Wrong (And Arguably Is) But Is Currently Working As Intended"
- This bug is reproducible in the latest stable (
5.9.2), and still occurs innext(6.0.0-dev.20250811)
⏯ Playground Link
https://stackblitz.com/edit/stackblitz-starters-vflvduch?file=src%2Findex.ts
💻 Code
Here's the code from the Stackblitz reproduction above.
src/index.ts:
import { fn } from 'test-pkg';
export const value = fn();node_modules/test-pkg/index.d.ts:
declare const lostSymbol: unique symbol;
type lostSymbol = typeof lostSymbol;
type SomeGeneric<T> = {
[lostSymbol]: T;
};
declare function fn(): SomeGeneric<unknown>;
export {
lostSymbol,
fn
};🙁 Actual behavior
dist/index.d.ts:
export declare const value: {
[lostSymbol]: unknown; // lostSymbol is not defined here and errors on the consumer's type check
};🙂 Expected behavior
dist/index.d.ts:
import { lostSymbol } from 'test-pkg'; // should import from pacakge
export declare const value: {
[lostSymbol]: unknown;
};Additional information about the issue
Related?: #49065
robpalme
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScriptDomain: Declaration EmitThe issue relates to the emission of d.ts filesThe issue relates to the emission of d.ts filesFix AvailableA PR has been opened for this issueA PR has been opened for this issue