From 18a699fd8748f226940a9c9d2ec412cf5fbeb45d Mon Sep 17 00:00:00 2001 From: Deep Singhvi Date: Sun, 19 May 2024 17:55:54 -0400 Subject: [PATCH 1/2] Revert "(fix): `new URL(...)` breaks in local preview for font files (#887)" This reverts commit a3765020b7de6297260465c220bdadf7ea48bacc. --- .../ui/app/src/contexts/docs-context/DocsContextProvider.tsx | 2 +- packages/ui/app/src/next-app/utils/getFontVariables.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx b/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx index 1b9c473016..3e62f54cd9 100644 --- a/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx +++ b/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx @@ -156,7 +156,7 @@ function getPreloadedFont( rel="preload" href={file} as="font" - type={`font/${getFontExtension(file)}`} + type={`font/${getFontExtension(new URL(file).pathname)}`} crossOrigin="anonymous" /> ); diff --git a/packages/ui/app/src/next-app/utils/getFontVariables.ts b/packages/ui/app/src/next-app/utils/getFontVariables.ts index 2a5e506d05..0499c8e1b6 100644 --- a/packages/ui/app/src/next-app/utils/getFontVariables.ts +++ b/packages/ui/app/src/next-app/utils/getFontVariables.ts @@ -30,7 +30,7 @@ function generateFontFace( } const lines: string[] = [ `font-family: '${fontConfig.name}'`, - `src: url('${file.url}') format('${getFontExtension(file.url)}')`, + `src: url('${file.url}') format('${getFontExtension(new URL(file.url).pathname)}')`, `font-weight: ${variant.weight?.join(" ") ?? "100 900"}`, `font-style: ${variant.style?.[0] ?? "normal"}`, `font-display: ${fontConfig.display ?? "swap"}`, From 0c563f50b21d20fc1851544f97861733edc3f8ab Mon Sep 17 00:00:00 2001 From: dsinghvi Date: Sun, 19 May 2024 18:01:18 -0400 Subject: [PATCH 2/2] use try catch instead --- .../app/src/contexts/docs-context/DocsContextProvider.tsx | 8 +++++++- packages/ui/app/src/next-app/utils/getFontVariables.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx b/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx index 3e62f54cd9..cf1486988c 100644 --- a/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx +++ b/packages/ui/app/src/contexts/docs-context/DocsContextProvider.tsx @@ -150,13 +150,19 @@ function getPreloadedFont( if (file == null) { return null; } + let fontExtension: string; + try { + fontExtension = getFontExtension(new URL(file).pathname); + } catch (err) { + fontExtension = getFontExtension(file); + } return ( ); diff --git a/packages/ui/app/src/next-app/utils/getFontVariables.ts b/packages/ui/app/src/next-app/utils/getFontVariables.ts index 0499c8e1b6..904819af37 100644 --- a/packages/ui/app/src/next-app/utils/getFontVariables.ts +++ b/packages/ui/app/src/next-app/utils/getFontVariables.ts @@ -28,9 +28,15 @@ function generateFontFace( if (file == null) { return undefined; } + let fontExtension: string; + try { + fontExtension = getFontExtension(new URL(file.url).pathname); + } catch (err) { + fontExtension = getFontExtension(file.url); + } const lines: string[] = [ `font-family: '${fontConfig.name}'`, - `src: url('${file.url}') format('${getFontExtension(new URL(file.url).pathname)}')`, + `src: url('${file.url}') format('${fontExtension}')`, `font-weight: ${variant.weight?.join(" ") ?? "100 900"}`, `font-style: ${variant.style?.[0] ?? "normal"}`, `font-display: ${fontConfig.display ?? "swap"}`,