microsoft / microsoft/TypeScript
Class member incorrectly stripped from .d.ts output if @internal is mentioned in unrelated comment
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.4k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
🔎 Search Terms
internal, .d.ts, stripInternal
🕗 Version & Regression Information
This issue appears to be present in all version of TypeScript (tested down to 3.3.3).
⏯ Playground Link
💻 Code
export class Foo {
/**
* Should be stripped
* @internal
*/
shouldBeStripped = 1;
// TODO: maybe make this @internal?
/**
* Should *not* be stripped
*/
shouldNotBeStripped = 2;
}
🙁 Actual behavior
The compiler should preserve the Foo.shouldNotBeStripped property while removing Foo.shouldBeStripped.
🙂 Expected behavior
Both Foo.shouldNotBeStripped and Foo.shouldBeStripped are removed.
Additional information about the issue
If a class member has an unrelated comment mentioning @internal preceding it, TypeScript will drop that member from the .d.ts output, even though that's not the intent since there's another comment after it. Only the first comment should be checked for @internal.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez le comportement à l’aide du TypeScript Playground lié, avec stripInternal activé, et de la classe fournie. Suivez le traitement de la sortie des déclarations pour des commentaires consécutifs, puis ajoutez un test de régression couvrant une mention indépendante de @internal avant un commentaire @internal distinct. C’est terminé lorsque seul shouldBeStripped est omis, tandis que shouldNotBeStripped reste présent dans la sortie .d.ts.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100