Skip to content

Behavior difference: Inline comment on arrow function parameters is emitted on tsc but not on tsgo #4039

@hkleungai

Description

@hkleungai

Right now tsc will strip inline comment on the last parameter, but it is still printing (useful) comments on other lines. But still, I think these inline comments should be retained in tsgo.


Steps to reproduce

  1. Start a plain new project
    • "@typescript/native-preview": "7.0.0-dev.20260523.1",
    • "typescript": "6.0.3"
  2. Run npx tsgo --init to get the default tsconfig. Turn on these flags as well.
    • "stableTypeOrdering": true,
  3. Add src/main.js. Run npx tsc --noEmit & npx tsgo --noEmit to see the difference.
// src/main.ts
export const fn = (
    foo: boolean, // comment on foo
    bar: string, // comment on bar
    buzz: number,  // comment on buzz
) => {}

Behavior with typescript@6.0

export declare const fn: (foo: boolean, // comment on foo
bar: string, // comment on bar
buzz: number) => void;
//# sourceMappingURL=main.d.ts.map

Behavior with tsgo

export declare const fn: (foo: boolean, bar: string, buzz: number) => void;
//# sourceMappingURL=main.d.ts.map

Metadata

Metadata

Assignees

No one assigned

    Labels

    Domain: Comment EmitOf or relating to the preservation of comments in emit - declaration or js.Domain: Declaration EmitRelated to declaration emit, type printing

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions