Import PropType from @vue/runtime-core and NOT @nuxtjs/composition-api
The legacy composition-api library is outdated and no longer maintained.
import type { PropType } from '@vue/runtime-core'
See setup here: https://github.com/johnsoncodehk/volar/tree/master/extensions/vscode-vue-language-features
Quickly it's just adding this to tsconfig.json
"vueCompilerOptions": {
"experimentalCompatMode": 2
},
I've found that disabling the below items has been best to work with. strictNullChecks is overkill for a legacy project.
"noUnusedLocals": false,
"strictNullChecks": false
Paths needs to be added to infer webpack aliasing. example:
"paths": {
"@/types/*": ["./types/*"],
}