microsoft / microsoft/TypeScript

Behavior difference: Comment above `@typedef` does not become comment for the corresponding emitted type in tsgo

Open
#63,841 0 comments 2 reactions 2 assignees Claimed by @jakebailey View on GitHub
Dominant language
Go
Stars
111k
Forks
14.3k
Avg merge
2d 4h
Merged PRs (30d)
132

Description

Another follow-up on https://github.com/microsoft/typescript-go/issues/4235.

---

## Steps to reproduce

1. Start a plain new project
- "@typescript/native-preview": "7.0.0-dev.20260618.1",
- "typescript": "6.0.3"
2. Run `npx tsgo --init` to get the default tsconfig. Turn on these flags as well.
- "allowJs": true,
- "checkJs": true,
- "stableTypeOrdering": true,
3. Add `src/main.js`. Run `npx tsc` & `npx tsgo` to see the difference.

```js
/**
* Comment on the `Foo` type
*
* @typedef {Object} Foo
* @property {boolean} bool Whether `.bool` is true or not
*/
```

## Behavior with `typescript@6.0`

```ts
/**
* Comment on the `Foo` type
*/
export type Foo = {
/**
* Whether `.bool` is true or not
*/
bool: boolean;
};
```

## Behavior with `tsgo`

```ts
export type Foo = {
/**
* Whether `.bool` is true or not
*/
bool: boolean;
};
/**
* Comment on the `Foo` type
*
* @typedef {Object} Foo
* @property {boolean} bool Whether `.bool` is true or not
*/
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.