-
-
Notifications
You must be signed in to change notification settings - Fork 8.8k
Open
Labels
🍰 p2-nice-to-havePriority 2: this is not breaking anything but nice to have it addressed.Priority 2: this is not breaking anything but nice to have it addressed.has PRA pull request has already been submitted to solve the issueA pull request has already been submitted to solve the issuescope: compilerscope: script-setup
Description
Vue version
3.3.4
Link to minimal reproduction
Steps to reproduce
type Foo = { foo: number; }
type SomeProps<T> = T & { isVisible: boolean }
What is expected?
this should be valid typescript:
What is actually happening?
compile error:
1:55:02 AM [vite] Internal server error: [@vue/compiler-sfc] Unresolvable type reference or unsupported built-in utility type
/testdir/src/FooItem.vue
1 | <script setup lang="ts">
2 | type Foo = { foo: number }
3 | type SomeProps<T> = T & { isVisible: boolean }
| ^
4 |
5 | defineProps<SomeProps<Foo>>()
Plugin: vite:vue
File: /testdir/src/FooItem.vue
at ScriptCompileContext.error (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:15841:11)
at innerResolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17966:20)
at resolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17902:35)
at /testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17924:31
at Array.map (<anonymous>)
at innerResolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17924:20)
at resolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17902:35)
at innerResolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17947:16)
at resolveTypeElements (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:17902:35)
at resolveRuntimePropsFromType (/testdir/node_modules/.pnpm/@[email protected]/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:19312:20)
System Info
System:
OS: macOS 12.0.1
CPU: (16) x64 Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz
Memory: 44.49 GB / 64.00 GB
Shell: 5.1.4 - /usr/local/bin/bash
Binaries:
Node: 16.20.0 - ~/.nvm/versions/node/v16.20.0/bin/node
npm: 8.19.4 - ~/.nvm/versions/node/v16.20.0/bin/npm
Browsers:
Chrome: 113.0.5672.126
Chrome Canary: 116.0.5806.0
Firefox: 111.0
Safari: 15.1
Safari Technology Preview: 15.4
npmPackages:
vue: ^3.3.2 => 3.3.4
Any additional comments?
I'm not actually sure if I'm characterizing this correctly, but it seems like the sfc compiler cannot handle props whose type intersects one of its own generic parameters.
full pnpm lockfile if that's useful: https://gist.github.com/superfreddialpad/248efe40250d772938f31a2440e54e35
Flashantik, zhou-ouha and brolnickij
Metadata
Metadata
Assignees
Labels
🍰 p2-nice-to-havePriority 2: this is not breaking anything but nice to have it addressed.Priority 2: this is not breaking anything but nice to have it addressed.has PRA pull request has already been submitted to solve the issueA pull request has already been submitted to solve the issuescope: compilerscope: script-setup