-
Describe the bugI'm building a website for production in SvelteKit, with adapter-node. I have an API route, where images are served and resized using sharp. The sharp documentation states that the sharp package should be excluded from bundling. This is my import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { fileURLToPath } from 'url';
export default defineConfig({
plugins: [sveltekit()],
// takes no effect
build: {
rollupOptions: {
// https://rollupjs.org/configuration-options/#external
external: [
'sharp', // the module name
/node_modules\/sharp/, // regular expression
fileURLToPath(new URL('node_modules/sharp', import.meta.url)) // absolute path
]
}
},
// takes no effect
optimizeDeps: {
exclude: ['sharp']
},
// more stuff I tried
// esbuild should not be relevant in production builds
// https://vitejs.dev/guide/dep-pre-bundling.html
esbuild: {
exclude: ['sharp']
},
// sveltekit API route should not be prerendered
ssr: {
external: ['sharp']
}
});Running The issue is not present when using Any help would be greatly appreciated... Reproductionhttps://stackblitz.com/edit/sveltejs-kit-template-default-zc9wbg?file=vite.config.js Steps to reproducerun System InfoSystem:
OS: Windows 10 10.0.22621
CPU: (16) x64 AMD Ryzen 7 3700X 8-Core Processor
Memory: 4.11 GB / 15.95 GB
Binaries:
Node: 18.12.1 - C:\Program Files\nodejs\node.EXE
npm: 8.19.2 - C:\Program Files\nodejs\npm.CMD
pnpm: 8.6.3 - ~\scoop\shims\pnpm.EXE
Browsers:
Edge: Chromium (118.0.2088.76)
Internet Explorer: 11.0.22621.1
npmPackages:
vite: ^4.4.9 => 4.4.9Used Package Managernpm LogsClick to expand!❯ vite build -- --debug
vite:config bundled config file loaded in 2113.00ms +0ms
vite:vite-plugin-svelte adding bare svelte packages to optimizeDeps.include: svelte/animate, svelte/easing, svelte/internal, svelte/motion, svelte/store, svelte/transition, svelte, svelte/internal/disclose-version +0ms
vite:vite-plugin-svelte extra config for dependencies generated by vitefu {
optimizeDeps: { include: [], exclude: [] },
ssr: { noExternal: [], external: [] }
} +3ms
vite:vite-plugin-svelte post-processed extra config for dependencies {
optimizeDeps: { include: [], exclude: [] },
ssr: { noExternal: [], external: [] }
} +0ms
vite:vite-plugin-svelte enabling "experimental.hmrPartialAccept" in vite config +1ms
vite:vite-plugin-svelte additional vite config {
resolve: {
dedupe: [
'svelte/animate',
'svelte/easing',
'svelte/internal',
'svelte/motion',
'svelte/ssr',
'svelte/store',
'svelte/transition',
'svelte',
'svelte/internal/disclose-version',
'svelte-hmr/runtime/hot-api-esm.js',
'svelte-hmr/runtime/proxy-adapter-dom.js',
'svelte-hmr'
],
conditions: [ 'svelte' ]
},
optimizeDeps: {
include: [
'svelte/animate',
'svelte/easing',
'svelte/internal',
'svelte/motion',
'svelte/store',
'svelte/transition',
'svelte',
'svelte/internal/disclose-version'
],
exclude: [ 'svelte-hmr' ]
},
ssr: { external: [], noExternal: [ 'svelte', /^svelte\// ] },
experimental: { hmrPartialAccept: true }
} +0ms
vite:vite-plugin-svelte resolved options {
hot: false,
compilerOptions: { css: 'external', dev: false, hydratable: true },
extensions: [ '.svelte' ],
emitCss: true,
prebundleSvelteLibraries: false,
configFile: false,
preprocess: { script: [Function: script], markup: [Function: markup] },
onwarn: undefined,
root: '/home/projects/sveltejs-kit-template-default-zc9wbg',
isBuild: true,
isServe: false,
isDebug: true,
isProduction: true,
stats: VitePluginSvelteStats {}
} +22ms
vite:config using resolved config: {
vite:config plugins: [
vite:config 'vite:build-metadata',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite-plugin-svelte',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:esbuild',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'vite-plugin-sveltekit-setup',
vite:config 'vite-plugin-sveltekit-virtual-modules',
vite:config 'vite-plugin-sveltekit-guard',
vite:config 'vite-plugin-sveltekit-compile',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-transpile',
vite:config 'vite:manifest',
vite:config 'vite:reporter',
vite:config 'vite:load-fallback'
vite:config ],
vite:config build: {
vite:config target: 'node16.14',
vite:config cssTarget: 'node16.14',
vite:config outDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/.svelte-kit/output/server',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config cssCodeSplit: true,
vite:config sourcemap: false,
vite:config rollupOptions: {
vite:config external: [Array],
vite:config input: [Object],
vite:config output: [Object],
vite:config preserveEntrySignatures: 'strict'
vite:config },
vite:config minify: false,
vite:config terserOptions: {},
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: false,
vite:config manifest: '.vite/manifest.json',
vite:config lib: false,
vite:config ssr: true,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: true,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssMinify: true,
vite:config commonjsOptions: { include: [Array], extensions: [Array] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [Array] },
vite:config modulePreload: { polyfill: true }
vite:config },
vite:config optimizeDeps: {
vite:config disabled: 'build',
vite:config exclude: [ 'sharp', 'svelte-hmr', '@sveltejs/kit', '$app', '$env' ],
vite:config include: [
vite:config 'svelte/animate',
vite:config 'svelte/easing',
vite:config 'svelte/internal',
vite:config 'svelte/motion',
vite:config 'svelte/store',
vite:config 'svelte/transition',
vite:config 'svelte',
vite:config 'svelte/internal/disclose-version'
vite:config ],
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config esbuild: { jsxDev: false, exclude: [ 'sharp' ] },
vite:config ssr: {
vite:config format: 'esm',
vite:config target: 'node',
vite:config external: [ 'sharp' ],
vite:config noExternal: [ 'svelte', /^svelte\//, 'esm-env', '@sveltejs/kit' ],
vite:config optimizeDeps: { disabled: true, esbuildOptions: [Object] }
vite:config },
vite:config resolve: {
vite:config mainFields: [ 'svelte', 'module', 'jsnext:main', 'jsnext' ],
vite:config browserField: true,
vite:config conditions: [ 'svelte' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [
vite:config 'svelte/animate',
vite:config 'svelte/easing',
vite:config 'svelte/internal',
vite:config 'svelte/motion',
vite:config 'svelte/ssr',
vite:config 'svelte/store',
vite:config 'svelte/transition',
vite:config 'svelte',
vite:config 'svelte/internal/disclose-version',
vite:config 'svelte-hmr/runtime/hot-api-esm.js',
vite:config 'svelte-hmr/runtime/proxy-adapter-dom.js',
vite:config 'svelte-hmr'
vite:config ],
vite:config preserveSymlinks: false,
vite:config alias: [ [Object], [Object], [Object], [Object], [Object] ]
vite:config },
vite:config experimental: { importGlobRestoreExtension: false, hmrPartialAccept: true },
vite:config root: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config server: {
vite:config preTransformRequests: true,
vite:config cors: { preflightContinue: true },
vite:config fs: { strict: true, allow: [Array], deny: [Array] },
vite:config sourcemapIgnoreList: [Function: sourcemapIgnoreList],
vite:config watch: { ignored: [Array] },
vite:config middlewareMode: false
vite:config },
vite:config preview: {
vite:config port: undefined,
vite:config strictPort: undefined,
vite:config host: undefined,
vite:config https: undefined,
vite:config open: undefined,
vite:config proxy: undefined,
vite:config cors: { preflightContinue: true },
vite:config headers: undefined
vite:config },
vite:config define: {
vite:config __SVELTEKIT_ADAPTER_NAME__: '"@sveltejs/adapter-node"',
vite:config __SVELTEKIT_APP_VERSION_FILE__: '"_app/version.json"',
vite:config __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: '0',
vite:config __SVELTEKIT_DEV__: 'false',
vite:config __SVELTEKIT_EMBEDDED__: 'false'
vite:config },
vite:config base: '/',
vite:config publicDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/static',
vite:config worker: {
vite:config format: 'iife',
vite:config plugins: [
vite:config 'vite:build-metadata',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:esbuild',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:worker-post',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-transpile',
vite:config 'vite:load-fallback'
vite:config ],
vite:config rollupOptions: { output: [Object] },
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks]
vite:config },
vite:config configFile: '/home/projects/sveltejs-kit-template-default-zc9wbg/vite.config.js',
vite:config configFileDependencies: [
vite:config '/home/projects/sveltejs-kit-template-default-zc9wbg/vite.config.js'
vite:config ],
vite:config inlineConfig: {
vite:config root: undefined,
vite:config base: undefined,
vite:config mode: undefined,
vite:config configFile: undefined,
vite:config logLevel: undefined,
vite:config clearScreen: undefined,
vite:config optimizeDeps: { force: undefined },
vite:config build: {}
vite:config },
vite:config rawBase: '/',
vite:config cacheDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/.vite',
vite:config command: 'build',
vite:config mode: 'production',
vite:config isWorker: false,
vite:config mainConfig: null,
vite:config isProduction: true,
vite:config css: undefined,
vite:config envDir: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
vite:config assetsInclude: [Function: assetsInclude],
vite:config logger: {
vite:config hasWarned: true,
vite:config info: [Function: info],
vite:config warn: [Function: warn],
vite:config warnOnce: [Function: warnOnce],
vite:config error: [Function: error],
vite:config clearScreen: [Function: clearScreen],
vite:config hasErrorLogged: [Function: hasErrorLogged]
vite:config },
vite:config packageCache: Map(1) {
vite:config 'fnpd_/home/projects/sveltejs-kit-template-default-zc9wbg' => {
vite:config dir: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config data: [Object],
vite:config hasSideEffects: [Function: hasSideEffects],
vite:config webResolvedImports: {},
vite:config nodeResolvedImports: {},
vite:config setResolvedCache: [Function: setResolvedCache],
vite:config getResolvedCache: [Function: getResolvedCache]
vite:config },
vite:config set: [Function (anonymous)]
vite:config },
vite:config createResolver: [Function: createResolver],
vite:config appType: 'spa',
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks]
vite:config } +154ms
vite v4.5.0 building SSR bundle for production...
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/about/+page.svelte +47ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte +46ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@sveltejs/kit/src/runtime/components/error.svelte +0ms
18:57:21 [vite-plugin-svelte] /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte:17:4 A11y: <img> element should have an alt attribute
15: <picture>
16: <!-- should appear low quality -->
17: <img src="/image"/>
^
18: </picture>
19: </span>
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte +0ms
transforming (1) node_modules/@sveltejs/kit/src/runtime/server/index.js vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte?svelte&type=style&lang.css +34ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte?svelte&type=style&lang.css +1ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte +2ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte +0ms
vite:esbuild 139.00ms tsconfck init /home/projects/sveltejs-kit-template-default-zc9wbg +0ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/.svelte-kit/generated/root.svelte +53ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte +0ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte +0ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte?svelte&type=style&lang.css +49ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte?svelte&type=style&lang.css +0ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte +10ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte +0ms
transforming (63) node_modules/svelte/src/shared/version.js vite:resolve 1.00ms @fontsource/fira-mono -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/index.css +0ms
vite:resolve 0.00ms ./files/fira-mono-cyrillic-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-cyrillic-ext-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-cyrillic-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-cyrillic-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-greek-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-greek-ext-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-greek-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-greek-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-latin-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-latin-ext-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-latin-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-latin-400-normal.woff2 +0ms
vite:resolve 1.00ms ./files/fira-mono-all-400-normal.woff -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-all-400-normal.woff +2ms
✓ 92 modules transformed.
vite:vite-plugin-svelte:stats ssr compile done.
vite:vite-plugin-svelte:stats package files time avg
vite:vite-plugin-svelte:stats kit-template-default 7 0.10s 15.0ms +0ms
vite:config bundled config file loaded in 77.00ms +2s
vite:vite-plugin-svelte adding bare svelte packages to optimizeDeps.include: svelte/animate, svelte/easing, svelte/internal, svelte/motion, svelte/store, svelte/transition, svelte, svelte/internal/disclose-version +2s
vite:vite-plugin-svelte extra config for dependencies generated by vitefu {
optimizeDeps: { include: [], exclude: [] },
ssr: { noExternal: [], external: [] }
} +2ms
vite:vite-plugin-svelte post-processed extra config for dependencies {
optimizeDeps: { include: [], exclude: [] },
ssr: { noExternal: [], external: [] }
} +0ms
vite:vite-plugin-svelte enabling "experimental.hmrPartialAccept" in vite config +1ms
vite:vite-plugin-svelte additional vite config {
resolve: {
dedupe: [
'svelte/animate',
'svelte/easing',
'svelte/internal',
'svelte/motion',
'svelte/ssr',
'svelte/store',
'svelte/transition',
'svelte',
'svelte/internal/disclose-version',
'svelte-hmr/runtime/hot-api-esm.js',
'svelte-hmr/runtime/proxy-adapter-dom.js',
'svelte-hmr'
],
conditions: [ 'svelte' ]
},
optimizeDeps: {
include: [
'svelte/animate',
'svelte/easing',
'svelte/internal',
'svelte/motion',
'svelte/store',
'svelte/transition',
'svelte',
'svelte/internal/disclose-version'
],
exclude: [ 'svelte-hmr' ]
},
ssr: { external: [], noExternal: [ 'svelte', /^svelte\// ] },
experimental: { hmrPartialAccept: true }
} +0ms
vite:vite-plugin-svelte resolved options {
hot: false,
compilerOptions: { css: 'external', dev: false, hydratable: true },
extensions: [ '.svelte' ],
emitCss: true,
prebundleSvelteLibraries: false,
configFile: false,
preprocess: { script: [Function: script], markup: [Function: markup] },
onwarn: undefined,
root: '/home/projects/sveltejs-kit-template-default-zc9wbg',
isBuild: true,
isServe: false,
isDebug: true,
isProduction: true,
stats: VitePluginSvelteStats {}
} +4ms
vite:config using resolved config: {
vite:config plugins: [
vite:config 'vite:build-metadata',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite-plugin-svelte',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:esbuild',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'vite-plugin-sveltekit-setup',
vite:config 'vite-plugin-sveltekit-virtual-modules',
vite:config 'vite-plugin-sveltekit-guard',
vite:config 'vite-plugin-sveltekit-compile',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-transpile',
vite:config 'vite:terser',
vite:config 'vite:manifest',
vite:config 'vite:reporter',
vite:config 'vite:load-fallback'
vite:config ],
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config outDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/.svelte-kit/output/client',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config cssCodeSplit: true,
vite:config sourcemap: false,
vite:config rollupOptions: {
vite:config external: [Array],
vite:config input: [Object],
vite:config output: [Object],
vite:config preserveEntrySignatures: 'strict'
vite:config },
vite:config minify: 'esbuild',
vite:config terserOptions: {},
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: '.vite/manifest.json',
vite:config lib: false,
vite:config ssr: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: true,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssMinify: true,
vite:config commonjsOptions: { include: [Array], extensions: [Array] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [Array] },
vite:config modulePreload: { polyfill: true }
vite:config },
vite:config optimizeDeps: {
vite:config disabled: 'build',
vite:config exclude: [ 'sharp', 'svelte-hmr', '@sveltejs/kit', '$app', '$env' ],
vite:config include: [
vite:config 'svelte/animate',
vite:config 'svelte/easing',
vite:config 'svelte/internal',
vite:config 'svelte/motion',
vite:config 'svelte/store',
vite:config 'svelte/transition',
vite:config 'svelte',
vite:config 'svelte/internal/disclose-version'
vite:config ],
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config esbuild: { jsxDev: false, exclude: [ 'sharp' ] },
vite:config ssr: {
vite:config format: 'esm',
vite:config target: 'node',
vite:config external: [ 'sharp' ],
vite:config noExternal: [ 'svelte', /^svelte\//, 'esm-env', '@sveltejs/kit' ],
vite:config optimizeDeps: { disabled: true, esbuildOptions: [Object] }
vite:config },
vite:config configFile: '/home/projects/sveltejs-kit-template-default-zc9wbg/vite.config.js',
vite:config mode: 'production',
vite:config resolve: {
vite:config mainFields: [ 'svelte', 'module', 'jsnext:main', 'jsnext' ],
vite:config browserField: true,
vite:config conditions: [ 'svelte' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [
vite:config 'svelte/animate',
vite:config 'svelte/easing',
vite:config 'svelte/internal',
vite:config 'svelte/motion',
vite:config 'svelte/ssr',
vite:config 'svelte/store',
vite:config 'svelte/transition',
vite:config 'svelte',
vite:config 'svelte/internal/disclose-version',
vite:config 'svelte-hmr/runtime/hot-api-esm.js',
vite:config 'svelte-hmr/runtime/proxy-adapter-dom.js',
vite:config 'svelte-hmr'
vite:config ],
vite:config preserveSymlinks: false,
vite:config alias: [ [Object], [Object], [Object], [Object], [Object] ]
vite:config },
vite:config experimental: { importGlobRestoreExtension: false, hmrPartialAccept: true },
vite:config root: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config server: {
vite:config preTransformRequests: true,
vite:config cors: { preflightContinue: true },
vite:config fs: { strict: true, allow: [Array], deny: [Array] },
vite:config sourcemapIgnoreList: [Function: sourcemapIgnoreList],
vite:config watch: { ignored: [Array] },
vite:config middlewareMode: false
vite:config },
vite:config preview: {
vite:config port: undefined,
vite:config strictPort: undefined,
vite:config host: undefined,
vite:config https: undefined,
vite:config open: undefined,
vite:config proxy: undefined,
vite:config cors: { preflightContinue: true },
vite:config headers: undefined
vite:config },
vite:config define: {
vite:config __SVELTEKIT_ADAPTER_NAME__: '"@sveltejs/adapter-node"',
vite:config __SVELTEKIT_APP_VERSION_FILE__: '"_app/version.json"',
vite:config __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: '0',
vite:config __SVELTEKIT_DEV__: 'false',
vite:config __SVELTEKIT_EMBEDDED__: 'false'
vite:config },
vite:config base: './',
vite:config publicDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/static',
vite:config worker: {
vite:config format: 'iife',
vite:config plugins: [
vite:config 'vite:build-metadata',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:esbuild',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:worker-post',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-transpile',
vite:config 'vite:terser',
vite:config 'vite:load-fallback'
vite:config ],
vite:config rollupOptions: { output: [Object] },
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks]
vite:config },
vite:config configFileDependencies: [
vite:config '/home/projects/sveltejs-kit-template-default-zc9wbg/vite.config.js'
vite:config ],
vite:config inlineConfig: {
vite:config configFile: '/home/projects/sveltejs-kit-template-default-zc9wbg/vite.config.js',
vite:config mode: 'production',
vite:config logLevel: undefined,
vite:config clearScreen: undefined,
vite:config build: { minify: undefined, assetsInlineLimit: 4096, sourcemap: false },
vite:config optimizeDeps: { force: undefined }
vite:config },
vite:config rawBase: './',
vite:config cacheDir: '/home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/.vite',
vite:config command: 'build',
vite:config isWorker: false,
vite:config mainConfig: null,
vite:config isProduction: true,
vite:config css: undefined,
vite:config envDir: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config env: { BASE_URL: './', MODE: 'production', DEV: false, PROD: true },
vite:config assetsInclude: [Function: assetsInclude],
vite:config logger: {
vite:config hasWarned: true,
vite:config info: [Function: info],
vite:config warn: [Function: warn],
vite:config warnOnce: [Function: warnOnce],
vite:config error: [Function: error],
vite:config clearScreen: [Function: clearScreen],
vite:config hasErrorLogged: [Function: hasErrorLogged]
vite:config },
vite:config packageCache: Map(1) {
vite:config 'fnpd_/home/projects/sveltejs-kit-template-default-zc9wbg' => {
vite:config dir: '/home/projects/sveltejs-kit-template-default-zc9wbg',
vite:config data: [Object],
vite:config hasSideEffects: [Function: hasSideEffects],
vite:config webResolvedImports: {},
vite:config nodeResolvedImports: {},
vite:config setResolvedCache: [Function: setResolvedCache],
vite:config getResolvedCache: [Function: getResolvedCache]
vite:config },
vite:config set: [Function (anonymous)]
vite:config },
vite:config createResolver: [Function: createResolver],
vite:config appType: 'spa',
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks]
vite:config } +10ms
vite v4.5.0 building for production...
transforming (1) node_modules/@sveltejs/kit/src/runtime/client/start.js vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/about/+page.svelte +45ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte +76ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@sveltejs/kit/src/runtime/components/error.svelte +1ms
18:57:23 [vite-plugin-svelte] /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte:17:4 A11y: <img> element should have an alt attribute
15: <picture>
16: <!-- should appear low quality -->
17: <img src="/image"/>
^
18: </picture>
19: </span>
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte +0ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/.svelte-kit/generated/root.svelte +0ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte?svelte&type=style&lang.css +103ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte?svelte&type=style&lang.css +0ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+layout.svelte +2ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/+page.svelte +0ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte +49ms
vite:vite-plugin-svelte transform returns compiled js for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte +0ms
transforming (18) node_modules/svelte/src/runtime/index.js vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte?svelte&type=style&lang.css +39ms
vite:vite-plugin-svelte resolveId resolved virtual css module /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte?svelte&type=style&lang.css +0ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Header.svelte +3ms
vite:vite-plugin-svelte load returns css for /home/projects/sveltejs-kit-template-default-zc9wbg/src/routes/Counter.svelte +0ms
transforming (59) node_modules/svelte/src/runtime/motion/index.js vite:resolve 1.00ms @fontsource/fira-mono -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/index.css +0ms
vite:resolve 1.00ms ./files/fira-mono-cyrillic-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-cyrillic-ext-400-normal.woff2 +0ms
vite:resolve 1.00ms ./files/fira-mono-cyrillic-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-cyrillic-400-normal.woff2 +0ms
vite:resolve 1.00ms ./files/fira-mono-greek-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-greek-ext-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-greek-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-greek-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-latin-ext-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-latin-ext-400-normal.woff2 +0ms
vite:resolve 0.00ms ./files/fira-mono-latin-400-normal.woff2 -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-latin-400-normal.woff2 +0ms
vite:resolve 1.00ms ./files/fira-mono-all-400-normal.woff -> /home/projects/sveltejs-kit-template-default-zc9wbg/node_modules/@fontsource/fira-mono/files/fira-mono-all-400-normal.woff +2ms
✓ 81 modules transformed.
vite:vite-plugin-svelte:stats dom compile done.
vite:vite-plugin-svelte:stats package files time avg
vite:vite-plugin-svelte:stats kit-template-default 7 0.13s 18.9ms +0ms
.svelte-kit/output/client/_app/version.json 0.03 kB │ gzip: 0.05 kB
.svelte-kit/output/client/_app/immutable/assets/github.1ea8d62e.svg 1.75 kB │ gzip: 0.82 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-logo.87df40b8.svg 1.89 kB │ gzip: 0.86 kB
.svelte-kit/output/client/.vite/manifest.json 6.37 kB │ gzip: 0.88 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-greek-ext-400-normal.9e2fe623.woff2 7.51 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-cyrillic-400-normal.c7d433fd.woff2 9.10 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-greek-400-normal.a8be01ce.woff2 10.52 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-latin-ext-400-normal.6bfabd30.woff2 11.36 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-cyrillic-ext-400-normal.3df7909e.woff2 15.77 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-latin-400-normal.e43b3538.woff2 16.28 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-all-400-normal.1e3b098c.woff 77.36 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-welcome.c18bcf5a.webp 115.47 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-welcome.6c300099.png 360.81 kB
.svelte-kit/output/client/_app/immutable/assets/2.57239003.css 1.47 kB │ gzip: 0.54 kB
.svelte-kit/output/client/_app/immutable/assets/0.fa9427ff.css 5.18 kB │ gzip: 1.66 kB
.svelte-kit/output/client/_app/immutable/chunks/stores.d7840de4.js 0.24 kB │ gzip: 0.17 kB
.svelte-kit/output/client/_app/immutable/chunks/index.5e7feea3.js 0.45 kB │ gzip: 0.31 kB
.svelte-kit/output/client/_app/immutable/nodes/1.f653b8a7.js 0.84 kB │ gzip: 0.52 kB
.svelte-kit/output/client/_app/immutable/nodes/3.1e80664c.js 1.38 kB │ gzip: 0.87 kB
.svelte-kit/output/client/_app/immutable/chunks/scheduler.b0c1c2c3.js 2.16 kB │ gzip: 1.02 kB
.svelte-kit/output/client/_app/immutable/chunks/singletons.7d35de33.js 2.46 kB │ gzip: 1.26 kB
.svelte-kit/output/client/_app/immutable/nodes/0.f1117d98.js 4.28 kB │ gzip: 1.72 kB
.svelte-kit/output/client/_app/immutable/nodes/2.1a7d7b07.js 5.29 kB │ gzip: 2.50 kB
.svelte-kit/output/client/_app/immutable/chunks/index.994eb031.js 5.90 kB │ gzip: 2.50 kB
.svelte-kit/output/client/_app/immutable/entry/app.33c0eefa.js 6.23 kB │ gzip: 2.38 kB
.svelte-kit/output/client/_app/immutable/entry/start.70e68ec0.js 24.89 kB │ gzip: 9.80 kB
✓ built in 838ms
.svelte-kit/output/server/_app/immutable/assets/github.1ea8d62e.svg 1.75 kB
.svelte-kit/output/server/_app/immutable/assets/svelte-logo.87df40b8.svg 1.89 kB
.svelte-kit/output/server/.vite/manifest.json 5.66 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-greek-ext-400-normal.9e2fe623.woff2 7.51 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-cyrillic-400-normal.c7d433fd.woff2 9.10 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-greek-400-normal.a8be01ce.woff2 10.52 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-latin-ext-400-normal.6bfabd30.woff2 11.36 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-cyrillic-ext-400-normal.3df7909e.woff2 15.77 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-latin-400-normal.e43b3538.woff2 16.28 kB
.svelte-kit/output/server/_app/immutable/assets/fira-mono-all-400-normal.1e3b098c.woff 77.36 kB
.svelte-kit/output/server/_app/immutable/assets/svelte-welcome.c18bcf5a.webp 115.47 kB
.svelte-kit/output/server/_app/immutable/assets/svelte-welcome.6c300099.png 360.81 kB
.svelte-kit/output/server/_app/immutable/assets/_page.265a38f0.css 1.45 kB
.svelte-kit/output/server/_app/immutable/assets/_layout.2f593b13.css 5.43 kB
.svelte-kit/output/server/chunks/prod-ssr.js 0.04 kB
.svelte-kit/output/server/entries/pages/_page.js 0.05 kB
.svelte-kit/output/server/entries/pages/about/_page.js 0.15 kB
.svelte-kit/output/server/internal.js 0.19 kB
.svelte-kit/output/server/entries/fallbacks/error.svelte.js 0.47 kB
.svelte-kit/output/server/entries/endpoints/image/_server.ts.js 0.52 kB
.svelte-kit/output/server/chunks/stores.js 0.52 kB
.svelte-kit/output/server/entries/pages/about/_page.svelte.js 0.92 kB
.svelte-kit/output/server/chunks/index.js 1.33 kB
.svelte-kit/output/server/chunks/ssr.js 3.59 kB
.svelte-kit/output/server/entries/pages/_layout.svelte.js 4.36 kB
.svelte-kit/output/server/chunks/internal.js 5.48 kB
.svelte-kit/output/server/entries/pages/_page.svelte.js 7.82 kB
.svelte-kit/output/server/index.js 88.88 kB
Run npm run preview to preview your production build locally.
> Using @sveltejs/adapter-node
✔ done
✓ built in 5.35sValidations
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
|
|
Beta Was this translation helpful? Give feedback.
-
|
Hi, I faced a similar issue and finally found the solution. |
Beta Was this translation helpful? Give feedback.
-
|
Hi, I am using I am trying to exclude a config file from bundling to be able to provide / modify it later when using the app. It seems vite makes rollup ignore I tried the same config using Here is the config : |
Beta Was this translation helpful? Give feedback.
Hi, I faced a similar issue and finally found the solution.
The solution is to put
sharpindependencies(Don't put it indevDependencies) and the problem is solved for me.I hope it works for you and everyone who read this.