Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion packages/enhanced-img/src/vite-plugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<script>
import logo from './logo.png?enhanced';

// see https://github.com/sveltejs/kit/issues/15616
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const rawImports = import.meta.glob('./image.svelte', { eager: true, query: '?raw' });
</script>

<!-- standard image -->
Expand Down
12 changes: 12 additions & 0 deletions packages/enhanced-img/test/apps/basics/src/routes/image.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<script>
import logo from './logo.png?enhanced';
</script>

<!-- standard image -->
<enhanced:img id="birds" src="./birds.jpg" alt="birds" />

<!-- svg over inline size -->
<enhanced:img id="playwright" src="./playwright-logo.svg" alt="Playwright logo" />

<!-- dynamic image -->
<enhanced:img id="logo" src={logo} alt="Svelte logo" />
Loading