Skip to main content

Adapters

Before you can deploy your SvelteKit app, you need to adapt it for your deployment target. Adapters are small plugins that take the built app as input and generate output for deployment.

Official adapters exist for a variety of platforms — these are documented on the following pages:

Additional community-provided adapters exist for other platforms.

Using adapters

Your adapter is specified in vite.config.js:

vite.config
import { function sveltekit(config?: KitConfig & Omit<Options, "onwarn"> & Pick<SvelteConfig, "vitePlugin">): Promise<Plugin[]>

Returns the SvelteKit Vite plugins. Any options that don't belong to SvelteKit are passed through to vite-plugin-svelte.

Since version 3.0.0 you must pass configuration directly.

Since version 2.62.0 you can pass configuration directly, in which case svelte.config.js is ignored.

sveltekit
} from '@sveltejs/kit/vite';
import { function defineConfig(config: UserConfig): UserConfig (+5 overloads)

Type helper to make it easier to use vite.config.ts accepts a direct {@link UserConfig } object, or a function that returns it. The function receives a {@link ConfigEnv } object.

defineConfig
} from 'vite';
import const adapter: (opts?: any) => import("@sveltejs/kit").Adapteradapter from 'svelte-adapter-foo'; export default function defineConfig(config: UserConfig): UserConfig (+5 overloads)

Type helper to make it easier to use vite.config.ts accepts a direct {@link UserConfig } object, or a function that returns it. The function receives a {@link ConfigEnv } object.

defineConfig
({
UserConfig.plugins?: PluginOption[] | undefined

Array of vite plugins to use.

plugins
: [
function sveltekit(config?: KitConfig & Omit<Options, "onwarn"> & Pick<SvelteConfig, "vitePlugin">): Promise<Plugin[]>

Returns the SvelteKit Vite plugins. Any options that don't belong to SvelteKit are passed through to vite-plugin-svelte.

Since version 3.0.0 you must pass configuration directly.

Since version 2.62.0 you can pass configuration directly, in which case svelte.config.js is ignored.

sveltekit
({
KitConfig.adapter?: Adapter | undefined

Your adapter is run when executing vite build. It determines how the output is converted for different platforms.

@default
undefined
adapter
: function adapter(opts?: any): import("@sveltejs/kit").Adapteradapter()
}) ] });

Platform-specific context

Some adapters may have access to additional information about the request. For example, Cloudflare Workers can access an env object containing KV namespaces etc. This can be passed to the RequestEvent used in hooks and server routes as the platform property — consult each adapter's documentation to learn more.

Edit this page on GitHub llms.txt