microsoft / microsoft/TypeScript
project reference resolution fails when workspace is opened through a symlinked root path
@andrewbranch ya está trabajando en esto.
Desde el 6/5/2026.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
## Summary
When a workspace is opened through a symlinked root path, `tsgo` language service can report `TS2307` for packages that should resolve through project references.
In our case:
- Opening the repo via `/data00/home/my-username/my-project` works
- Opening the same repo via `/home/my-username/my-project` fails
- `/home/my-username` is a symlink to `/data00/home/my-username`
The failing diagnostic is:
```ts
Cannot find module '@my-project/base' or its corresponding type declarations.ts(2307)
```
## Environment
- `tsgo` language service
- Linux
- Workspace root opened through a symlink
- Example symlink:
```bash
/home/my-username -> /data00/home/my-username
```
## Actual behavior
When opening a file through the symlinked workspace path, module resolution fails for a package that should resolve via project references.
Example:
- Works: `/data00/home/my-username/my-project/...`
- Fails: `/home/my-username/my-project/...`
## Expected behavior
The same workspace should resolve project-reference-backed packages identically whether it is opened through:
- the real path
- a symlinked root path
## Minimal reproduction
A minimal regression test was added that reproduces the issue with:
- a workspace root exposed through a symlink
- an app project
- a referenced package project
- a `node_modules` symlink from the app to the package
- a package `types` entry pointing at a generated `.d.ts` output that does not exist on disk
Behavior before the fix:
- opening through realpath resolves successfully
- opening through workspace-root symlink fails with `TS2307`
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.