diff --git a/packages/enhanced-img/src/vite-plugin.js b/packages/enhanced-img/src/vite-plugin.js
index c8ccb26b3f17..81d8e94ea153 100644
--- a/packages/enhanced-img/src/vite-plugin.js
+++ b/packages/enhanced-img/src/vite-plugin.js
@@ -32,8 +32,14 @@ export function image_plugin(imagetools_plugin) {
);
}
const api = svelteConfigPlugin.api;
+ const id_filter = (api.filter ?? api.idFilter).id; // TODO: idFilter was used by earlier versions of vite-plugin-svelte@6, remove when @7 is required
// @ts-expect-error plugin.transform is defined below before configResolved is called
- plugin.transform.filter.id = (api.filter ?? api.idFilter).id; // TODO: idFilter was used by earlier versions of vite-plugin-svelte@6, remove when @7 is required
+ plugin.transform.filter.id = {
+ include: id_filter.include,
+ // Exclude modules with query parameters (e.g. ?raw, ?url) — these are not
+ // Svelte components to compile, so parsing them as markup would fail.
+ exclude: [...id_filter.exclude, /\?/]
+ };
},
transform: {
order: 'pre', // puts it before vite-plugin-svelte:compile
diff --git a/packages/enhanced-img/test/apps/basics/src/routes/+page.svelte b/packages/enhanced-img/test/apps/basics/src/routes/+page.svelte
index c1b83b304a84..3418cebd47c2 100644
--- a/packages/enhanced-img/test/apps/basics/src/routes/+page.svelte
+++ b/packages/enhanced-img/test/apps/basics/src/routes/+page.svelte
@@ -1,5 +1,9 @@
diff --git a/packages/enhanced-img/test/apps/basics/src/routes/image.svelte b/packages/enhanced-img/test/apps/basics/src/routes/image.svelte
new file mode 100644
index 000000000000..c1b83b304a84
--- /dev/null
+++ b/packages/enhanced-img/test/apps/basics/src/routes/image.svelte
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+