diff --git a/.changeset/good-parrots-act.md b/.changeset/good-parrots-act.md
new file mode 100644
index 000000000000..ea0bb9f28012
--- /dev/null
+++ b/.changeset/good-parrots-act.md
@@ -0,0 +1,5 @@
+---
+"@sveltejs/enhanced-img": patch
+---
+
+fix: support shorthand attribute syntax
diff --git a/packages/enhanced-img/src/preprocessor.js b/packages/enhanced-img/src/preprocessor.js
index 0575f88c5259..5dcc54431d8e 100644
--- a/packages/enhanced-img/src/preprocessor.js
+++ b/packages/enhanced-img/src/preprocessor.js
@@ -53,6 +53,10 @@ export function image(opts) {
.trim();
s.update(node.start, node.end, dynamic_img_to_picture(content, node, src_var_name));
return;
+ } else if (src_attribute.type === 'AttributeShorthand') {
+ const src_var_name = content.substring(src_attribute.start, src_attribute.end).trim();
+ s.update(node.start, node.end, dynamic_img_to_picture(content, node, src_var_name));
+ return;
}
const original_url = src_attribute.raw.trim();
diff --git a/packages/enhanced-img/test/Input.svelte b/packages/enhanced-img/test/Input.svelte
index 72b12eefc365..84e067bbb941 100644
--- a/packages/enhanced-img/test/Input.svelte
+++ b/packages/enhanced-img/test/Input.svelte
@@ -2,6 +2,7 @@
import manual_image1 from './no.png';
import manual_image2 from './no.svg';
+ const src = manual_image1;
const images = [manual_image1, manual_image2];
let foo: string = 'bar';
@@ -31,6 +32,8 @@
+
+
{#each images as image}
diff --git a/packages/enhanced-img/test/Output.svelte b/packages/enhanced-img/test/Output.svelte
index fe7caca8a830..8873ec20a811 100644
--- a/packages/enhanced-img/test/Output.svelte
+++ b/packages/enhanced-img/test/Output.svelte
@@ -5,6 +5,7 @@
import manual_image2 from './no.svg';
+ const src = manual_image1;
const images = [manual_image1, manual_image2];
let foo: string = 'bar';
@@ -30,6 +31,17 @@
+{#if typeof src === 'string'}
+
+{:else}
+
+{/if}
+
{#each images as image}