microsoft / microsoft/TypeScript
Behavior difference: Comment above `@typedef` does not become comment for the corresponding emitted type in tsgo
- 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
Assessment
This issue has not been assessed yet.