-
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.9 Used 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.35s Validations
|
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
sharp
independencies
(Don't put it indevDependencies
) and the problem is solved for me.I hope it works for you and everyone who read this.