From 7d8fb2c4d909cc7e2751fde96245ac6b93729b18 Mon Sep 17 00:00:00 2001 From: Harlan Wilton Date: Wed, 31 Jan 2024 22:37:57 +1100 Subject: [PATCH] chore: minor changes --- packages/nuxt/src/app/components/nuxt-link.ts | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index afdb27f900..dacde16ed7 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -136,7 +136,7 @@ export function defineNuxtLink (options: NuxtLinkOptions) { required: false }, ariaCurrentValue: { - type: String as PropType, + type: String as PropType, default: undefined, required: false }, @@ -171,9 +171,11 @@ export function defineNuxtLink (options: NuxtLinkOptions) { return typeof link.value === 'string' ? link.value : router.resolve(link.value).path }) const as = computed(() => { - const isExternalLink = hasProtocol(href.value, { acceptRelative: true }) const forceAnchorTag = props.external - return !forceAnchorTag && !isExternalLink ? 'RouterLink' : 'a' + if (forceAnchorTag || hasProtocol(href.value, { acceptRelative: true })) { + return 'a' + } + return 'RouterLink' }) const routerLinkProps = computed(() => { @@ -328,17 +330,13 @@ export function defineNuxtLink (options: NuxtLinkOptions) { export default defineNuxtLink(nuxtLinkDefaults) // -- NuxtLink utils -- -function applyTrailingSlashBehavior (to: string, trailingSlash?: NuxtLinkOptions['trailingSlash']): string { - if (!trailingSlash || !to) { - return to +function applyTrailingSlashBehavior (path: string, trailingSlash?: NuxtLinkOptions['trailingSlash']): string { + // path should always be relative here + if (!trailingSlash || !path) { + return path } const normalizeFn = trailingSlash === 'append' ? withTrailingSlash : withoutTrailingSlash - // Until https://github.com/unjs/ufo/issues/189 is resolved - const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith('http') - if (hasProtocolDifferentFromHttp) { - return to - } - return normalizeFn(to, true) + return normalizeFn(path, true) } // --- Prefetching utils ---