From 9c568969329ec1f5f03dfb119d08c84d545003a3 Mon Sep 17 00:00:00 2001 From: "Anthony Fu (via agent)" Date: Wed, 21 Oct 2026 06:13:03 +0000 Subject: [PATCH] fix(client): load virtual files from `/_vfs/` for Nitro v3 compatibility --- packages/devtools/client/composables/state.ts | 3 ++- packages/devtools/client/pages/modules/virtual-files.vue | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/devtools/client/composables/state.ts b/packages/devtools/client/composables/state.ts index 1cf01ec0d1..ec33f62f27 100644 --- a/packages/devtools/client/composables/state.ts +++ b/packages/devtools/client/composables/state.ts @@ -73,7 +73,8 @@ export interface VfsFile { } export function useVirtualFiles() { - return useAsyncState('vfs-list', () => $fetch('/_vfs.json', { baseURL: '/', responseType: 'json' })) + // Nitro v3 only serves `/_vfs/**`; the Accept header selects JSON on both Nitro v2 and v3 + return useAsyncState('vfs-list', () => $fetch('/_vfs/', { baseURL: '/', headers: { accept: 'application/json' }, responseType: 'json' })) } export function useMergedRouteList() { diff --git a/packages/devtools/client/pages/modules/virtual-files.vue b/packages/devtools/client/pages/modules/virtual-files.vue index b1dfa945d2..b0bb6e1690 100644 --- a/packages/devtools/client/pages/modules/virtual-files.vue +++ b/packages/devtools/client/pages/modules/virtual-files.vue @@ -23,7 +23,7 @@ const current = ref() watchEffect(() => { if (!fileId.value) return - const url = `/_vfs.json/${encodeURIComponent(fileId.value)}` + const url = `/_vfs/${encodeURIComponent(fileId.value)}` fetch(url, { headers: { accept: 'application/json',