{"record":{"id":"15c8ecab5036a282","repo":"sveltejs/kit","slug":"sveltejs-enhanced-img-requires-sveltejs-vite-plu","errorCode":null,"errorMessage":"@sveltejs/enhanced-img requires @sveltejs/vite-plugin-svelte 6 or higher to be installed","messagePattern":"@sveltejs/enhanced-img requires @sveltejs/vite-plugin-svelte 6 or higher to be installed","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/enhanced-img/src/vite-plugin.js","lineNumber":31,"sourceCode":"/**\n * Creates the Svelte image plugin.\n * @param {import('vite').Plugin<void>} imagetools_plugin\n * @returns {import('vite').Plugin<void>}\n */\nexport function image_plugin(imagetools_plugin) {\n\t/** @type {import('vite').ResolvedConfig} */\n\tlet vite_config;\n\n\tconst name = 'vite-plugin-enhanced-img-markup';\n\n\t/** @type {import('vite').Plugin<void>} */\n\tconst plugin = {\n\t\tname,\n\t\tconfigResolved(config) {\n\t\t\tvite_config = config;\n\t\t\tconst svelteConfigPlugin = config.plugins.find((p) => p.name === 'vite-plugin-svelte:config');\n\t\t\tif (!svelteConfigPlugin) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t'@sveltejs/enhanced-img requires @sveltejs/vite-plugin-svelte 6 or higher to be installed'\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst api = svelteConfigPlugin.api;\n\t\t\tconst id_filter = api.filter.id;\n\t\t\t// @ts-expect-error plugin.transform is defined below before configResolved is called\n\t\t\tplugin.transform.filter.id = {\n\t\t\t\tinclude: id_filter.include,\n\t\t\t\t// Exclude modules with query parameters (e.g. ?raw, ?url) — these are not\n\t\t\t\t// Svelte components to compile, so parsing them as markup would fail.\n\t\t\t\texclude: [...id_filter.exclude, /\\?/]\n\t\t\t};\n\t\t},\n\t\ttransform: {\n\t\t\torder: 'pre', // puts it before vite-plugin-svelte:compile\n\t\t\tfilter: {\n\t\t\t\tcode: /<enhanced:img/ // code filter must match in addition to the id filter set in configResolved hook above\n\t\t\t},","sourceCodeStart":13,"sourceCodeEnd":49,"githubUrl":"https://github.com/sveltejs/kit/blob/03f1687fe612ce3d2d9131139b5b188d9cf90c64/packages/enhanced-img/src/vite-plugin.js#L13-L49","documentation":"@sveltejs/enhanced-img builds on top of @sveltejs/vite-plugin-svelte. At Vite config resolution time the plugin looks for the `vite-plugin-svelte:config` plugin; if it is absent, the installed/loaded vite-plugin-svelte is too old (or not loaded), so enhanced-img refuses to run.","triggerScenarios":"`configResolved` runs during `vite dev`/`vite build` and `config.plugins` contains no plugin named 'vite-plugin-svelte:config', i.e. @sveltejs/vite-plugin-svelte < 6 is installed or not included in the Vite config.","commonSituations":"Dependency resolution left an older vite-plugin-svelte in node_modules, the plugin was forgotten in vite.config, or a package manager hoisted an incompatible version (e.g. via SvelteKit version mismatch).","solutions":["Install/upgrade @sveltejs/vite-plugin-svelte to version 6 or higher: `pnpm add -D @sveltejs/vite-plugin-svelte@^6`","Run your package manager's dedupe to remove stale older copies from node_modules","Verify the SvelteKit/Vite versions are compatible (SvelteKit 2 + Vite 6/7 era) and reinstall dependencies"],"exampleFix":"// before\n\"devDependencies\": { \"@sveltejs/vite-plugin-svelte\": \"^5.0.0\" }\n// after\n\"devDependencies\": { \"@sveltejs/vite-plugin-svelte\": \"^6.0.0\" }","handlingStrategy":"validation","validationCode":"import { version } from '@sveltejs/vite-plugin-svelte/package.json' with { type: 'json' };\n// or check before dev/build:\nconst pkg = require('@sveltejs/vite-plugin-svelte/package.json');\nif (parseInt(pkg.version) < 6) throw new Error('enhanced-img needs vite-plugin-svelte >= 6');","typeGuard":null,"tryCatchPattern":"try {\n  await vite.build(config);\n} catch (e) {\n  if (String(e.message).includes('vite-plugin-svelte 6')) {\n    console.error('Upgrade @sveltejs/vite-plugin-svelte to ^6');\n  }\n  throw e;\n}","preventionTips":["Keep @sveltejs/vite-plugin-svelte in devDependencies at ^6","Run `pnpm dedupe` after upgrades","Align SvelteKit, Vite, and vite-plugin-svelte versions per the compatibility table"],"tags":["vite","svelte","dependency-version","build"],"backgroundTag":"peer-dependency-version-mismatch","analyzedSha":"03f1687fe612ce3d2d9131139b5b188d9cf90c64","analyzedAt":"2026-09-02T02:01:50.504Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T06:17:21.866Z"}