Microsoft/TypeScript
在 GitHub 查看Emitted declarations for JS file do not import a class if it's re-exported
Open
#61,718 创建于 2025年5月17日
BugDomain: Declaration EmitHelp Wanted
仓库指标
- Star
- (48,455 star)
- PR 合并指标
- (平均合并 6天 17小时) (30 天内合并 9 个 PR)
描述
🔎 Search Terms
import export class declarations
🕗 Version & Regression Information
This changed in PR #55472, commit 5ce34cafad, version 5.3.0-dev.20230829.
⏯ Playground Link
No response
💻 Code
index.js:
import { Something } from './something';
export { Something } from './something';
export const something = new Something();
something.ts (or something.js):
export class Something {}
tsconfig.json:
{
"compilerOptions": {
"checkJs": true,
"declaration": true,
"outDir": "dist"
}
}
🙁 Actual behavior
The import of Something is missing in the emitted declarations file index.d.ts:
export { Something } from "./something";
export const something: Something;
🙂 Expected behavior
The import of Something should be included in the emitted declarations file index.d.ts:
export { Something } from "./something";
export const something: Something;
import { Something } from './something';
Additional information about the issue
The problem does not occur if
- the file name is
index.tsinstead ofindex.js export const somethingincludes an explicit JSDoc type annotation (/** @type {Something} */)