Closed
Description
When's importing a file from a project reference, Volar doesn't redirect to the source file for completion, type checking, like the builtin tsserver support does: https://www.typescriptlang.org/tsconfig#disableSourceOfProjectReferenceRedirect. This allows type checking & auto completion, etc. To work in VS Code even before you build the dependent project's .d.ts
.
Steps to reproduce
- Clone https://github.com/segevfiner/vite-issue-1815
pnpm i
- Open the project in VS Code.
- Open
apps/web/src/App.vue
, check the offending import line which will warn with
Output file '.../vite-library-test/packages/foo-lib/src/index.d.ts' has not been built from source file '.../vite-library-test/packages/foo-lib/src/index.ts'.ts(6305)
- Open
apps/web/src/main.ts
, notice there is no error for the same import there.
P.S. Why do I need https://github.com/segevfiner/vite-issue-1815/blob/229ca43e34e86b4d7bbb14940f7e5b00ca90dc42/apps/web/tsconfig.app.json#L10-L11 shouldn't this be figured out from the dependency between the projects? Is this TypeScript possibly getting confused due to the tsconfig.json
not really specifying the actual output paths and them not matching with what Vite outputs?