microsoft / microsoft/TypeScript
.d.ts emitted from derived classes in JS doesn't include identical override properties
Open
Nobody has claimed this yet.
Bug
Domain: Declaration Emit
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 117
Description
export class C {
updateDisplay() {
}
}
export class D extends C {
updateDisplay() {
}
}
The generated d.ts for JS has export class D extends C {} whereas TS has export declare class D extends C { updateDisplay(): void }
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.
Research direction
Start with the provided JavaScript inheritance example and compare its emitted .d.ts with the TypeScript equivalent. Trace declaration emission for the derived override; done when the JavaScript output includes D.updateDisplay(): void as the TypeScript output does.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- compilers, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100