microsoft / microsoft/TypeScript
Preserve JSDocs in *.d.ts files when stripping comments
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
Suggestion/Feature
When using the switch removeComments it will strip out all comments including the ones you may consider useful to the end consumer such as JSDocs. I'd like to strip out any internal comments but preserve any JSDocs comments. It seems that an option to preserve comments in types would be sufficient.
Existing functionality
"removeComments": true,
"declaration": true,
removes all comments including those in *.d.ts files.
Suggested functionality
"removeComments": true,
"declaration": true,
I would think by default you'd want to include the JSDocs in your type defs, so this would remove all comments from the code, but retain any comments associated with the types ie JSDocs.
If however, there is a need to remove all comments then an additional switch may be required to serve that purpose:
"removeCommentsIncludingDeclarations": true,
"declaration": true,
Would produce the same result we have today.
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 by reproducing the issue with "removeComments" and "declaration" enabled, then compare the generated JavaScript and .d.ts output. Done means internal comments are removed while JSDoc comments associated with declarations remain, with a documented way to preserve the current all-comments removal behavior if needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100