@taylorzane/sveltejs-adapter-node
v1.0.0-next.35
Published
[Adapter](https://kit.svelte.dev/docs#adapters) for SvelteKit apps that generates a standalone Node server.
Downloads
1
Readme
@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.