From 0d7edafe774ae0870602af01fd6970f46c46ead2 Mon Sep 17 00:00:00 2001 From: Larry Williamson Date: Fri, 1 Mar 2024 12:33:35 -0500 Subject: [PATCH 1/2] fix(compiler): when useStorage returns a `Uint8Array`, decode it to text (fixes #33) --- src/runtime/server/nitro/useCompiler.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/server/nitro/useCompiler.ts b/src/runtime/server/nitro/useCompiler.ts index 49a3703..5c2622d 100644 --- a/src/runtime/server/nitro/useCompiler.ts +++ b/src/runtime/server/nitro/useCompiler.ts @@ -11,14 +11,16 @@ export async function useCompiler( verbose = false, ) { const vueEmailOptions = useRuntimeConfig().public.vueEmail as ModuleOptions - const source = await useStorage(storageKey).getItem(filename) + let source = await useStorage(storageKey).getItem(filename) + if (source instanceof Uint8Array) source = new TextDecoder().decode(source) const keys = await useStorage(storageKey).getKeys() const components: { name: string source: string }[] = [] for (const key of keys) { - const value = await useStorage(storageKey).getItem(key) + let value = await useStorage(storageKey).getItem(key) + if (value instanceof Uint8Array) value = new TextDecoder().decode(value) if (value && key.endsWith('.vue')) { components.push({ From e4c6f2a3772ff4e1604269f560b17110ab4047bd Mon Sep 17 00:00:00 2001 From: "Larry W." Date: Fri, 1 Mar 2024 14:26:55 -0500 Subject: [PATCH 2/2] chore: lint --- src/runtime/server/nitro/useCompiler.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runtime/server/nitro/useCompiler.ts b/src/runtime/server/nitro/useCompiler.ts index 5c2622d..f4a200b 100644 --- a/src/runtime/server/nitro/useCompiler.ts +++ b/src/runtime/server/nitro/useCompiler.ts @@ -12,7 +12,8 @@ export async function useCompiler( ) { const vueEmailOptions = useRuntimeConfig().public.vueEmail as ModuleOptions let source = await useStorage(storageKey).getItem(filename) - if (source instanceof Uint8Array) source = new TextDecoder().decode(source) + if (source instanceof Uint8Array) + source = new TextDecoder().decode(source) const keys = await useStorage(storageKey).getKeys() const components: { name: string @@ -20,7 +21,8 @@ export async function useCompiler( }[] = [] for (const key of keys) { let value = await useStorage(storageKey).getItem(key) - if (value instanceof Uint8Array) value = new TextDecoder().decode(value) + if (value instanceof Uint8Array) + value = new TextDecoder().decode(value) if (value && key.endsWith('.vue')) { components.push({