microsoft / microsoft/TypeScript
Auto-imports don’t work in content-mappers without existing import
@andrewbranch is already working on this.
Since Sep 1, 2026.
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
### 🔎 Search Terms
`content-mapper`
### 🕗 Version & Regression Information
- I was unable to test this on prior versions because content mappers aren’t even released yet :)
### ⏯ Playground Link
n/a
### 💻 Code
https://github.com/remcohaszing/mdx-content-mapper/tree/auto-import-issue
Specifically, https://github.com/remcohaszing/mdx-content-mapper/commit/04037c2bd2d959adefd2d3f0b11a070139e5028d
### 🙁 Actual behavior
Automatic imports work, if the statement to insert it to is already present. However, if the import statement isn’t present yet, then TypeScript won’t generate the statement.
This works:
This does not:
### 🙂 Expected behavior
Automatic imports always work.
### Additional information about the issue
I tried to make this work by pushing an empty verbatim mapping to the start of the virtual content, like below. The virtual content may start with `'// @ts-check\n'`. In this case, the mapping is placed after that comment.
```js
let esm = checkMdx ? '// @ts-check\n' : ''
esmMappings.push([
0,
0,
esm.length,
0,
/** @satisfies {SpanMapKind.Verbatim} */ (0),
/** @satisfies {SpanMapFeature.AutoInsert} */ (131_072)
])
```
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.