microsoft / microsoft/TypeScript

Declaration emit of private properties should strip jsdoc

Offen
#58,145 1 Kommentar 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Domain: Declaration Emit Help Wanted
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

🔎 Search Terms

jsdoc dts declaration emit private properties property

🕗 Version & Regression Information
  • This is the behavior in every version I tried
⏯ Playground Link

https://www.typescriptlang.org/play?#code/KYDwDg9gTgLgBAYwDYEMDOa4DEITgbwCg4S4B6AKgrgBUALAS0ybhTjAFcAjJBhOALbAYdCABMAdHAplipTjz7tuvBAFlhosQAoAlAQC+hOSUrV6LFmzBQGANxQxggzeIA0rAHZi4AdwZISHBczmgwtmBgwD4MnnAizmLAyChQjgwQcQBmAcBSMibstg5ORfaOwBoi4nqGhAZAA

💻 Code
export class Foo {
    /** This is a public method. */
    public publicMethod() {}

    /** This is a private method, and will be stripped in the declaration file. */
    private privateMethod() {}
}
🙁 Actual behavior
export declare class Foo {
    /** This is a public method. */
    publicMethod(): void;
    /** This is a private method, and will be stripped in the declaration file. */
    private privateMethod;
}

Note the jsdoc on the private method.

🙂 Expected behavior
export declare class Foo {
    /** This is a public method. */
    publicMethod(): void;
    private privateMethod;
}
Additional information about the issue

It sure seems like this info should be stripped; after all, the type information is gone, leaving only a marker to inform child classes.

This causes TypeScript's own dts files to be filled with private method jsdoc. https://github.com/microsoft/TypeScript/pull/57492/files#r1559884318

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit dem Playground Link und reproduzieren Sie die im Issue gezeigte Deklarationsausgabe. Verfolgen Sie TypeScript's Verarbeitung der Deklarationsausgabe für private Eigenschaften und überprüfen Sie anschließend, dass der JSDoc der privaten Eigenschaft weggelassen wird, während die private-Markierung in der generierten Deklarationsausgabe erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.