Skip to content

Commit 555f20a

Browse files
antfukiroushi
andauthored
fix: better vueDependency importing, close #564 (#572)
Co-authored-by: Javier Pérez <[email protected]>
1 parent e675726 commit 555f20a

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/runtimeContext.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,16 @@ import { assert, hasOwn, warn } from './utils'
55
let vueDependency: VueConstructor | undefined = undefined
66

77
try {
8-
vueDependency = require('vue')
8+
const requiredVue = require('vue')
9+
if (requiredVue && isVue(requiredVue)) {
10+
vueDependency = requiredVue
11+
} else if (
12+
requiredVue &&
13+
'default' in requiredVue &&
14+
isVue(requiredVue.default)
15+
) {
16+
vueDependency = requiredVue.default
17+
}
918
} catch {
1019
// not available
1120
}
@@ -15,6 +24,10 @@ let currentInstance: ComponentInstance | null = null
1524

1625
const PluginInstalledFlag = '__composition_api_installed__'
1726

27+
function isVue(obj: any): obj is VueConstructor {
28+
return obj && typeof obj === 'function' && obj.name === 'Vue'
29+
}
30+
1831
export function isPluginInstalled() {
1932
return !!vueConstructor
2033
}

0 commit comments

Comments
 (0)