Microsoft/TypeScript

Declaration emit of private properties should strip jsdoc

Open

#58,145 建立於 2024年4月10日

在 GitHub 查看
 (1 留言) (3 反應) (0 負責人)TypeScript (6,726 fork)batch import
BugDomain: Declaration EmitHelp Wanted

倉庫指標

Star
 (48,455 star)
PR 合併指標
 (平均合併 6天 17小時) (30 天內合併 9 個 PR)

描述

🔎 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

貢獻者指南