From a695e44aed6e2f5d32cb950d4237be6e5657ba98 Mon Sep 17 00:00:00 2001
From: Erika <3019731+Princesseuh@users.noreply.github.com>
Date: Tue, 2 May 2023 14:23:37 +0200
Subject: [PATCH] fix(types): Fix getImage type requesting for a second
parameter (#6961)
---
.changeset/nice-jars-breathe.md | 5 +++++
packages/astro/client-base.d.ts | 21 ++++++++++++++++++++-
packages/astro/src/assets/internal.ts | 16 ----------------
3 files changed, 25 insertions(+), 17 deletions(-)
create mode 100644 .changeset/nice-jars-breathe.md
diff --git a/.changeset/nice-jars-breathe.md b/.changeset/nice-jars-breathe.md
new file mode 100644
index 0000000000..1a47e9bc3c
--- /dev/null
+++ b/.changeset/nice-jars-breathe.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Fix getImage type
diff --git a/packages/astro/client-base.d.ts b/packages/astro/client-base.d.ts
index 52bd5870fc..15c1fb9054 100644
--- a/packages/astro/client-base.d.ts
+++ b/packages/astro/client-base.d.ts
@@ -3,7 +3,26 @@
declare module 'astro:assets' {
// Exporting things one by one is a bit cumbersome, not sure if there's a better way - erika, 2023-02-03
type AstroAssets = {
- getImage: typeof import('./dist/assets/index.js').getImage;
+ // getImage's type here is different from the internal function since the Vite module implicitly pass the service config
+ /**
+ * Get an optimized image and the necessary attributes to render it.
+ *
+ * **Example**
+ * ```astro
+ * ---
+ * import { getImage } from 'astro:assets';
+ * import originalImage from '../assets/image.png';
+ *
+ * const optimizedImage = await getImage({src: originalImage, width: 1280 });
+ * ---
+ *
+ * ```
+ *
+ * This is functionally equivalent to using the `` component, as the component calls this function internally.
+ */
+ getImage: (
+ options: import('./dist/assets/types.js').ImageTransform
+ ) => Promise;
getConfiguredImageService: typeof import('./dist/assets/index.js').getConfiguredImageService;
Image: typeof import('./components/Image.astro').default;
};
diff --git a/packages/astro/src/assets/internal.ts b/packages/astro/src/assets/internal.ts
index 945b5a3e86..c4b8ca751e 100644
--- a/packages/astro/src/assets/internal.ts
+++ b/packages/astro/src/assets/internal.ts
@@ -29,22 +29,6 @@ export async function getConfiguredImageService(): Promise {
return globalThis.astroAsset.imageService;
}
-/**
- * Get an optimized image and the necessary attributes to render it.
- *
- * **Example**
- * ```astro
- * ---
- * import { getImage } from 'astro:assets';
- * import originalImage from '../assets/image.png';
- *
- * const optimizedImage = await getImage({src: originalImage, width: 1280 });
- * ---
- *
- * ```
- *
- * This is functionally equivalent to using the `` component, as the component calls this function internally.
- */
export async function getImage(
options: ImageTransform,
serviceConfig: Record