You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check the stackblitz, if tsconfig project reference to file is ok, but folder will fail
What is expected?
What is actually happening?
[plugin:vite:vue] [@vue/compiler-sfc] Failed to resolve import source "@/types".
System Info
No response
Any additional comments?
Actually there are two problems:
Project reference didn't support folder
For empty tsconfig or non-exists tsconfig, resolve absolute path will throw error.
which included is undefined in resolveWithTS
Why there are non-exists reference?
My project is a monorepo, use pnpm workspace, has packages a, b and c, and there npm package name is @xx/xx-a, @xx/xx-b and @xx/xx-c
a deps b, b deps c
There are same tsconfig.json project reference to get better ts dev experience (e.g. a/tsconfig.json ref to ../b/tsconfig.json)
pnpm will link packages/a/node_modules/@xx/xx-b to packages/b, same as b to c
In this case, tsconfig.json in node_modules will get wrong relative path, packages/a/node_modules/@xx/xx-b/tsconfig.json ref to ../b/tsconfig.json, which should be ../xx-b/tsconfig.json
Only make monorepo package dir name sync to package name could prevent this. (e.g. package @xx/xx-a should use xx-a directory)
The text was updated successfully, but these errors were encountered:
cyrilluce
pushed a commit
to cyrilluce/vuejs-core
that referenced
this issue
May 11, 2024
Vue version
3.4.27
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-akygzo?file=tsconfig.json
Steps to reproduce
Check the stackblitz, if tsconfig project reference to file is ok, but folder will fail
What is expected?
What is actually happening?
[plugin:vite:vue] [@vue/compiler-sfc] Failed to resolve import source "@/types".
System Info
No response
Any additional comments?
Actually there are two problems:
which
included
is undefined inresolveWithTS
Why there are non-exists reference?
My project is a monorepo, use pnpm workspace, has packages
a
,b
andc
, and there npm package name is@xx/xx-a
,@xx/xx-b
and@xx/xx-c
a
depsb
,b
depsc
tsconfig.json
project reference to get better ts dev experience (e.g.a/tsconfig.json
ref to../b/tsconfig.json
)packages/a/node_modules/@xx/xx-b
topackages/b
, same asb
toc
In this case,
tsconfig.json
innode_modules
will get wrong relative path,packages/a/node_modules/@xx/xx-b/tsconfig.json
ref to../b/tsconfig.json
, which should be../xx-b/tsconfig.json
Only make monorepo package dir name sync to package name could prevent this. (e.g. package
@xx/xx-a
should usexx-a
directory)The text was updated successfully, but these errors were encountered: