Skip to content

Commit faa08d3

Browse files
authored
feat: migrate to vite-plugin-vue-tracer (#803)
1 parent b3c9439 commit faa08d3

File tree

17 files changed

+90
-205
lines changed

17 files changed

+90
-205
lines changed

packages/devtools-kit/build.config.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export default defineBuildConfig({
2222
'nuxt/dist/app/nuxt',
2323
'birpc',
2424
'hookable',
25-
'vite-plugin-vue-inspector',
2625
'error-stack-parser-es',
2726
'shiki',
2827
],

packages/devtools-kit/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
"hookable": "catalog:",
5858
"unbuild": "catalog:",
5959
"unimport": "catalog:",
60-
"vite-plugin-vue-inspector": "catalog:",
6160
"vue-router": "catalog:"
6261
}
6362
}

packages/devtools-kit/src/_types/client-api.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import type { AppConfig } from 'nuxt/schema'
66
import type { $Fetch } from 'ofetch'
77
import type { BuiltinLanguage } from 'shiki'
88
import type { Ref } from 'vue'
9-
import type { HookInfo, LoadingTimeMetric, PluginMetric, VueInspectorClient, VueInspectorData } from './integrations'
9+
import type { HookInfo, LoadingTimeMetric, PluginMetric } from './integrations'
1010
import type { ClientFunctions, ServerFunctions } from './rpc'
1111
import type { TimelineMetrics } from './timeline-metrics'
1212

@@ -27,14 +27,10 @@ export interface NuxtDevtoolsClientHooks {
2727
* When the DevTools navigates, used for persisting the current tab
2828
*/
2929
'devtools:navigate': (path: string) => void
30-
/**
31-
* Event emitted when the component inspector is updated
32-
*/
33-
'host:inspector:update': (data: VueInspectorData) => void
3430
/**
3531
* Event emitted when the component inspector is clicked
3632
*/
37-
'host:inspector:click': (url: URL) => void
33+
'host:inspector:click': (path: string) => void
3834
/**
3935
* Event to close the component inspector
4036
*/
@@ -63,11 +59,11 @@ export interface NuxtDevtoolsHostClient {
6359
getIframe: () => HTMLIFrameElement | undefined
6460

6561
inspector?: {
66-
instance?: VueInspectorClient
6762
enable: () => void
6863
disable: () => void
6964
toggle: () => void
7065
isEnabled: Ref<boolean>
66+
isAvailable: Ref<boolean>
7167
}
7268

7369
devtools: {

packages/devtools-kit/src/_types/integrations.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ export interface VueInspectorClient {
195195
onUpdated: () => void
196196
}
197197

198-
export type VueInspectorData = VueInspectorClient['linkParams'] & VueInspectorClient['position']
198+
export type VueInspectorData = VueInspectorClient['linkParams'] & Partial<VueInspectorClient['position']>
199199

200200
export type AssetType = 'image' | 'font' | 'video' | 'audio' | 'text' | 'json' | 'other'
201201

packages/devtools-kit/src/_types/options.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import type { Import } from 'unimport'
2-
import type { VitePluginInspectorOptions } from 'vite-plugin-vue-inspector'
32
import type { ModuleCustomTab } from './custom-tabs'
43
import type { ServerRouteInfo, ServerRouteInput, ServerTaskInfo } from './integrations'
54

@@ -30,7 +29,7 @@ export interface ModuleOptions {
3029
*
3130
* @default true
3231
*/
33-
componentInspector?: boolean | VitePluginInspectorOptions
32+
componentInspector?: boolean
3433

3534
/**
3635
* Enable Vue DevTools integration

packages/devtools/client/composables/client.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { useRoute, useRouter } from '#imports'
2-
import type { NuxtDevtoolsClient, NuxtDevtoolsHostClient, NuxtDevtoolsIframeClient, VueInspectorData } from '@nuxt/devtools-kit/types'
2+
import type { NuxtDevtoolsClient, NuxtDevtoolsHostClient, NuxtDevtoolsIframeClient } from '@nuxt/devtools-kit/types'
33
import type { Unhead } from '@unhead/schema'
44
import type { ComputedRef } from 'vue'
55
import { useState } from '#imports'
@@ -28,10 +28,6 @@ export function useClientHead() {
2828
return computed(() => client.value?.nuxt.vueApp.config.globalProperties?.$head as Unhead)
2929
}
3030

31-
export function useComponentInspectorData() {
32-
return useState<VueInspectorData>('devtools-component-inspector-data')
33-
}
34-
3531
const connectionTimeout = ref(false)
3632
setTimeout(() => {
3733
connectionTimeout.value = true

packages/devtools/client/pages/modules/components.vue

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ const relationships = useComponentsRelationships()
1919
const { componentsView: view } = useDevToolsOptions('ui')
2020
2121
function openComponentInspector() {
22-
if (!client.value?.inspector?.instance)
23-
return
24-
client.value.inspector.enable()
22+
client.value?.inspector?.enable()
2523
}
2624
2725
function toggleView() {
@@ -45,7 +43,7 @@ function toggleView() {
4543
@click="toggleView"
4644
/>
4745
<NButton
48-
v-if="client?.inspector?.instance"
46+
v-if="client?.inspector?.isAvailable"
4947
v-tooltip.bottom-end="'Inspect Vue components'"
5048
text-lg :border="false"
5149
icon="i-tabler-focus-2"

packages/devtools/client/plugins/global.ts

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,19 @@
11
import { defineNuxtPlugin, useRouter } from '#imports'
22
import { triggerRef } from 'vue'
3-
import { useClient, useComponentInspectorData } from '../composables/client'
3+
import { useClient } from '../composables/client'
44
import { rpc } from '../composables/rpc'
55

66
export default defineNuxtPlugin(() => {
77
const client = useClient()
8-
const inspectorData = useComponentInspectorData()
98
const router = useRouter()
109

1110
function onUpdateReactivity() {
1211
triggerRef(client)
1312
client.value.revision.value += 1
1413
}
1514

16-
function onInspectorUpdate(data: any) {
17-
inspectorData.value = data
18-
}
19-
20-
function onInspectorClick(url: URL) {
21-
const query = url.searchParams.get('file')
22-
if (query)
23-
rpc.openInEditor(query)
24-
else
25-
console.error('[nuxt-devtools] Failed to open file from Vue Inspector', url)
15+
function onInspectorClick(path: string) {
16+
rpc.openInEditor(path)
2617
}
2718

2819
Object.defineProperty(window, '__NUXT_DEVTOOLS_VIEW__', {
@@ -34,7 +25,6 @@ export default defineNuxtPlugin(() => {
3425
client.value = _client
3526

3627
_client.hooks.hook('host:update:reactivity', onUpdateReactivity)
37-
_client.hooks.hook('host:inspector:update', onInspectorUpdate)
3828
_client.hooks.hook('host:inspector:click', onInspectorClick)
3929
_client.hooks.hook('host:action:reload', () => location.reload())
4030
_client.hooks.hook('host:action:navigate', (path: string) => router.push(path))

packages/devtools/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
"structured-clone-es": "catalog:",
7575
"tinyglobby": "catalog:",
7676
"vite-plugin-inspect": "catalog:",
77-
"vite-plugin-vue-inspector": "catalog:",
77+
"vite-plugin-vue-tracer": "catalog:",
7878
"which": "catalog:",
7979
"ws": "catalog:"
8080
},

packages/devtools/src/integrations/vue-inspector.ts

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)