From bd8651cc66d21314f101334527332759f4940035 Mon Sep 17 00:00:00 2001 From: Arash Ari Sheyda <38922203+arashsheyda@users.noreply.github.com> Date: Sat, 30 Nov 2024 23:56:52 -0700 Subject: [PATCH] fix: add v4 compatibility version handeling for pages tab (#758) --- packages/devtools/client/composables/utils.ts | 6 ++++++ packages/devtools/client/pages/modules/pages.vue | 7 ++++++- packages/devtools/src/wizard/enable-pages.ts | 5 +++-- playgrounds/v4/.npmrc | 2 ++ playgrounds/v4/nuxt.config.ts | 12 ++++++++++++ playgrounds/v4/package.json | 10 ++++++++++ playgrounds/v4/tsconfig.json | 4 ++++ pnpm-lock.yaml | 2 ++ 8 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 playgrounds/v4/.npmrc create mode 100644 playgrounds/v4/nuxt.config.ts create mode 100644 playgrounds/v4/package.json create mode 100644 playgrounds/v4/tsconfig.json diff --git a/packages/devtools/client/composables/utils.ts b/packages/devtools/client/composables/utils.ts index c349f2d0d4..6c0c37300f 100644 --- a/packages/devtools/client/composables/utils.ts +++ b/packages/devtools/client/composables/utils.ts @@ -9,6 +9,7 @@ import { useSessionStorage } from '@vueuse/core' import { relative } from 'pathe' import { triggerRef } from 'vue' import { useClient } from './client' +import { useServerConfig } from './state' export function isNodeModulePath(path: string) { return !!path.match(/[/\\]node_modules[/\\]/) || isPackageName(path) @@ -183,3 +184,8 @@ export function refreshData() { export function reloadPage() { location.reload() } + +export function useNuxtCompatibilityVersion() { + const config = useServerConfig() + return config.value?.future.compatibilityVersion +} diff --git a/packages/devtools/client/pages/modules/pages.vue b/packages/devtools/client/pages/modules/pages.vue index 797c06a0fd..a64b4b9d40 100644 --- a/packages/devtools/client/pages/modules/pages.vue +++ b/packages/devtools/client/pages/modules/pages.vue @@ -3,6 +3,7 @@ import { definePageMeta } from '#imports' import { computed, onMounted, ref } from 'vue' import { useClient, useClientRoute, useClientRouter } from '~/composables/client' import { useLayouts, useMergedRouteList, useServerApp, useServerConfig } from '~/composables/state' +import { useNuxtCompatibilityVersion } from '~/composables/utils' definePageMeta({ icon: 'carbon-tree-view-alt', @@ -59,6 +60,10 @@ function navigateToRoute(path: string) { router.value.push(path) routeInput.value = path } + +const compatibilityVersion = useNuxtCompatibilityVersion() + +const pagesPath = computed(() => `./${compatibilityVersion === 4 ? 'app/' : ''}pages/index.vue`)