From 2dcd35dfbad3e2e2f4e46957c7c26ede74c8d450 Mon Sep 17 00:00:00 2001 From: AlejandroAkbal <37181533+AlejandroAkbal@users.noreply.github.com> Date: Fri, 20 Mar 2026 23:27:35 -0700 Subject: [PATCH] fix: avoid Buffer in imgproxy provider --- assets/js/nuxt-image/imgproxy.provider.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/assets/js/nuxt-image/imgproxy.provider.ts b/assets/js/nuxt-image/imgproxy.provider.ts index cd816eb0..e93a98cc 100644 --- a/assets/js/nuxt-image/imgproxy.provider.ts +++ b/assets/js/nuxt-image/imgproxy.provider.ts @@ -1,6 +1,5 @@ import { joinURL } from 'ufo' import type { ProviderGetImage } from '@nuxt/image' -import { Buffer } from 'buffer' import { createOperationsGenerator, defineProvider } from '@nuxt/image/runtime' // https://docs.imgproxy.net/ @@ -38,7 +37,10 @@ const operationsGenerator = createOperationsGenerator({ }) function urlSafeBase64(string: string) { - return Buffer.from(string, 'utf8').toString('base64').replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_') + const bytes = new TextEncoder().encode(string) + const binaryString = Array.from(bytes, byte => String.fromCodePoint(byte)).join('') + + return btoa(binaryString).replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_') } const defaultModifiers = {