From 336242a84317e28ec4df115841e4b6dd61e548b4 Mon Sep 17 00:00:00 2001 From: Luke Walker <49527534+lkwr@users.noreply.github.com> Date: Tue, 7 Feb 2023 23:30:25 +0100 Subject: [PATCH] Added better detection for absolute urls in link component (#5286) --- contributors.yml | 1 + packages/remix-react/components.tsx | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/contributors.yml b/contributors.yml index eac98ff25c8..1f6379a849f 100644 --- a/contributors.yml +++ b/contributors.yml @@ -276,6 +276,7 @@ - lili21 - lionotm - liranm +- lkwr - lordofthecactus - lpsinger - lswest diff --git a/packages/remix-react/components.tsx b/packages/remix-react/components.tsx index 2109abd4140..ed307f85b1b 100644 --- a/packages/remix-react/components.tsx +++ b/packages/remix-react/components.tsx @@ -291,8 +291,7 @@ function usePrefetchBehavior( let NavLink = React.forwardRef( ({ to, prefetch = "none", ...props }, forwardedRef) => { let isAbsolute = - typeof to === "string" && - (/^[a-z+]+:\/\//i.test(to) || to.startsWith("//")); + typeof to === "string" && /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(to); let href = useHref(to); let [shouldPrefetch, prefetchHandlers] = usePrefetchBehavior( @@ -326,8 +325,7 @@ export { NavLink }; let Link = React.forwardRef( ({ to, prefetch = "none", ...props }, forwardedRef) => { let isAbsolute = - typeof to === "string" && - (/^[a-z+]+:\/\//i.test(to) || to.startsWith("//")); + typeof to === "string" && /^(?:[a-z][a-z0-9+.-]*:|\/\/)/i.test(to); let href = useHref(to); let [shouldPrefetch, prefetchHandlers] = usePrefetchBehavior(