From ea491c3148fccbc369855296b98a786cecd64b7c Mon Sep 17 00:00:00 2001 From: Bart van der Braak Date: Mon, 22 Jan 2024 02:40:37 +0100 Subject: [PATCH] feat: add type definitions for vite plugin --- src/routes/og.png/+server.ts | 2 +- src/routes/og.png/env.d.ts | 7 +++++++ vite.config.ts | 5 +++-- 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 src/routes/og.png/env.d.ts diff --git a/src/routes/og.png/+server.ts b/src/routes/og.png/+server.ts index 83e0878..d1349fb 100644 --- a/src/routes/og.png/+server.ts +++ b/src/routes/og.png/+server.ts @@ -4,7 +4,7 @@ import { html as toReactNode } from 'satori-html'; import { OgImage } from '$lib/components/site'; import GeistRegular from '$lib/assets/og/Geist-Regular.woff'; import GeistBold from '$lib/assets/og/Geist-Bold.woff'; -import imageData from '$lib/assets/og/me-inline.jpg'; +import imageData from '$lib/assets/og/me-inline.jpg?base64'; const height = 630; const width = 1200; diff --git a/src/routes/og.png/env.d.ts b/src/routes/og.png/env.d.ts new file mode 100644 index 0000000..1f98122 --- /dev/null +++ b/src/routes/og.png/env.d.ts @@ -0,0 +1,7 @@ +/// +/// + +declare module '*?base64' { + const src: string; + export default src; +} diff --git a/vite.config.ts b/vite.config.ts index 7700d0e..96526fa 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -26,8 +26,9 @@ function base64(ext: string[]) { return { name: 'vite-plugin-base64-loader', transform(_code: string, id: string) { - if (id.includes('inline') && ext.some((e) => id.endsWith(e))) { - const base64 = fs.readFileSync(id, { encoding: 'base64' }); + const [path, query] = id.split('?'); + if (query === 'base64' && ext.some((e) => id.endsWith(e))) { + const base64 = fs.readFileSync(path, { encoding: 'base64' }); return { code: `export default ${JSON.stringify(base64)}`, map: null }; } }