microsoft / microsoft/TypeScript

Declaration file emits symbol property keys without importing them

Ouverte
#62,257 3 commentaires 2 réactions 3 personnes assignées Voir sur GitHub

@DanielRosenwasser y travaille déjà.

Depuis le 6/2/2026.

Bug Domain: Declaration Emit
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

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 in next (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?: https://github.com/microsoft/TypeScript/issues/49065

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.