microsoft / microsoft/TypeScript
`@type {const}` produces namespace in .d.ts instead of normal object type
Open
@sandersn is already working on this.
Since Dec 22, 2023.
Bug
Domain: JSDoc
Rescheduled
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 117
Description
🔎 Search Terms
@type {const}
const
definition types
🕗 Version & Regression Information
- This is a crash in all versions
⏯ Playground Link
💻 Code
// Typescript file
export const myConst = /** @type {const} */ {
foo: 'bar',
fuu: {
foo: 'bar'
}
};
// Javascript file
export const myConst = /** @type {const} */ {
foo: 'bar',
fuu: {
foo: 'bar'
}
};
🙁 Actual behavior
// .D.TS from Typescript file
export declare const myConst: {
foo: string;
fuu: {
foo: string;
};
};
// .D.TS from Javascript file
export namespace myConst {
let foo: string;
namespace fuu {
let foo_1: string;
export { foo_1 as foo };
}
}
🙂 Expected behavior
Same output in both cases. Typescript file output is the correct one.
Additional information about the issue
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.