aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/test/test-image-service.js
diff options
context:
space:
mode:
authorGravatar github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 2025-06-05 14:25:23 +0000
committerGravatar github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 2025-06-05 14:25:23 +0000
commite586d7d704d475afe3373a1de6ae20d504f79d6d (patch)
tree7e3fa24807cebd48a86bd40f866d792181191ee9 /packages/integrations/vercel/test/test-image-service.js
downloadastro-latest.tar.gz
astro-latest.tar.zst
astro-latest.zip
Sync from a8e1c0a7402940e0fc5beef669522b315052df1blatest
Diffstat (limited to 'packages/integrations/vercel/test/test-image-service.js')
-rw-r--r--packages/integrations/vercel/test/test-image-service.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/integrations/vercel/test/test-image-service.js b/packages/integrations/vercel/test/test-image-service.js
new file mode 100644
index 000000000..e3c5b4b6e
--- /dev/null
+++ b/packages/integrations/vercel/test/test-image-service.js
@@ -0,0 +1,32 @@
+import { fileURLToPath } from 'node:url';
+import { baseService } from 'astro/assets';
+
+/**
+ * stub image service that returns images as-is without optimization
+ * @param {{ foo?: string }} [config]
+ */
+export function testImageService(config = {}) {
+ return {
+ entrypoint: fileURLToPath(import.meta.url),
+ config,
+ };
+}
+
+/** @type {import("../dist/@types/astro").LocalImageService} */
+export default {
+ ...baseService,
+ propertiesToHash: [...baseService.propertiesToHash, 'data-custom'],
+ getHTMLAttributes(options, serviceConfig) {
+ options['data-service'] = 'my-custom-service';
+ if (serviceConfig.service.config.foo) {
+ options['data-service-config'] = serviceConfig.service.config.foo;
+ }
+ return baseService.getHTMLAttributes(options);
+ },
+ async transform(buffer, transform) {
+ return {
+ data: buffer,
+ format: transform.format,
+ };
+ },
+};