@taylorzane/sveltejs-adapter-node
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-next.35 • Public • Published

@sveltejs/adapter-node

Adapter for SvelteKit apps that generates a standalone Node server.

Usage

Install with npm i -D @sveltejs/adapter-node@next, then add the adapter to your svelte.config.js:

// svelte.config.js
import adapter from '@sveltejs/adapter-node';

export default {
	kit: {
		adapter: adapter({
			// default options are shown
			out: 'build',
			precompress: false,
			env: {
				host: 'HOST',
				port: 'PORT'
			}
		})
	}
};

Options

out

The directory to build the server to. It defaults to build — i.e. node build would start the server locally after it has been created.

precompress

Enables precompressing using gzip and brotli for assets and prerendered pages. It defaults to false.

env

By default, the server will accept connections on 0.0.0.0 using port 3000. These can be customised with the PORT and HOST environment variables:

HOST=127.0.0.1 PORT=4000 node build

You can specify different environment variables if necessary using the env option.

Advanced Configuration

esbuild

As an escape hatch, you may optionally specify a function which will receive the final esbuild options generated by this adapter and returns a modified esbuild configuration. The result of this function will be passed as-is to esbuild. The function can be async.

For example, you may wish to add a plugin:

adapterNode({
	esbuild(defaultOptions) {
		return {
			...defaultOptions,
			plugins: []
		};
	}
});

The default options for this version are as follows:

{
	entryPoints: ['.svelte-kit/node/index.js'],
	outfile: 'pathTo/index.js',
	bundle: true,
	external: allProductionDependencies, // from package.json
	format: 'esm',
	platform: 'node',
	target: 'node12',
	inject: ['pathTo/shims.js'],
	define: {
		esbuild_app_dir: `"${config.kit.appDir}"`
	}
}

Changelog

The Changelog for this package is available on GitHub.

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @taylorzane/sveltejs-adapter-node

Weekly Downloads

1

Version

1.0.0-next.35

License

none

Unpacked Size

482 kB

Total Files

9

Last publish

Collaborators

  • taylorzane