From 207edd65eccd62013be603b9759b8e3717d2dafb Mon Sep 17 00:00:00 2001 From: Princesseuh Date: Fri, 22 Sep 2023 11:43:48 +0200 Subject: [PATCH] fix: build --- packages/astro/src/assets/internal.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/astro/src/assets/internal.ts b/packages/astro/src/assets/internal.ts index 85632a733..3b453c21e 100644 --- a/packages/astro/src/assets/internal.ts +++ b/packages/astro/src/assets/internal.ts @@ -98,27 +98,26 @@ export async function getImage( ? await service.getSrcSet(validatedOptions, imageConfig) : []; - let imageURL = await getFinalURL(validatedOptions); + let imageURL = await service.getURL(validatedOptions, imageConfig); let srcSets: SrcSetValue[] = await Promise.all( srcSetTransforms.map(async (srcSet) => ({ - url: await getFinalURL(srcSet.transform), + url: await service.getURL(srcSet.transform, imageConfig), descriptor: srcSet.descriptor, attributes: srcSet.attributes, })) ); - async function getFinalURL(transform: ImageTransform) { - // In build and for local services, we need to collect the requested parameters so we can generate the final images - if ( - isLocalService(service) && - globalThis.astroAsset.addStaticImage && - // If `getURL` returned the same URL as the user provided, it means the service doesn't need to do anything - !(isRemoteImage(transform.src) && imageURL === transform.src) - ) { - return globalThis.astroAsset.addStaticImage(transform); - } else { - return await service.getURL(transform, imageConfig); - } + if ( + isLocalService(service) && + globalThis.astroAsset.addStaticImage && + !(isRemoteImage(validatedOptions.src) && imageURL === validatedOptions.src) + ) { + imageURL = globalThis.astroAsset.addStaticImage(validatedOptions); + srcSets = srcSetTransforms.map((srcSet) => ({ + url: globalThis.astroAsset.addStaticImage!(srcSet.transform), + descriptor: srcSet.descriptor, + attributes: srcSet.attributes, + })); } return {