diff --git a/packages/core/src/Overlay.vue b/packages/core/src/Overlay.vue index a225597..c03aa58 100644 --- a/packages/core/src/Overlay.vue +++ b/packages/core/src/Overlay.vue @@ -8,7 +8,13 @@ const KEY_IGNORE = 'data-v-inspector-ignore' const KEY_PROPS_DATA = '__v_inspector' function getData(el) { - return el?.__vnode?.props?.[KEY_PROPS_DATA] ?? el?.getAttribute?.(KEY_DATA) + return el?.__vnode?.props?.[KEY_PROPS_DATA] ?? getComponentData(el) ?? el?.getAttribute?.(KEY_DATA) +} + +function getComponentData(el) { + const ctxVNode = el?.__vnode?.ctx?.vnode + if (ctxVNode?.el === el) + return ctxVNode?.props?.[KEY_PROPS_DATA] } export default { diff --git a/packages/core/src/compiler/template.ts b/packages/core/src/compiler/template.ts index bca7dae..0dd5a5c 100644 --- a/packages/core/src/compiler/template.ts +++ b/packages/core/src/compiler/template.ts @@ -30,7 +30,7 @@ export async function compileSFCTemplate( nodeTransforms: [ (node) => { if (node.type === 1) { - if (node.tagType === 0 && !EXCLUDE_TAG.includes(node.tag)) { + if ((node.tagType === 0 || node.tagType === 1) && !EXCLUDE_TAG.includes(node.tag)) { if (node.loc.source.includes(KEY_DATA)) return diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 58d1b25..581a1b7 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -270,7 +270,7 @@ function VitePluginInspector(options: VitePluginInspectorOptions = DEFAULT_INSPE const fn = new Set() const s = new MagicString(code) - s.replace(/(createElementVNode|createVNode|createElementBlock) as _\1,?/g, (_, name) => { + s.replace(/(createElementVNode|createVNode|createElementBlock|createBlock) as _\1,?/g, (_, name) => { fn.add(name) return '' }) diff --git a/packages/playground/vue3/src/App.vue b/packages/playground/vue3/src/App.vue index def47d6..87ce970 100644 --- a/packages/playground/vue3/src/App.vue +++ b/packages/playground/vue3/src/App.vue @@ -1,11 +1,14 @@ @@ -15,6 +18,7 @@ export default {
+ diff --git a/packages/playground/vue3/src/ExternalComp.vue b/packages/playground/vue3/src/ExternalComp.vue new file mode 100644 index 0000000..64d5cef --- /dev/null +++ b/packages/playground/vue3/src/ExternalComp.vue @@ -0,0 +1,36 @@ + + + +