Adapter for SvelteKit apps that generates a standalone Deno or Deno Deploy server.
Install in your SvelteKit project:
npm install --save-dev sveltekit-adapter-deno
Add the adapter to your SvelteKit configuration.
// svelte.config.js
import adapter from 'sveltekit-adapter-deno';
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter()
}
};
export default config;
Build the app for production (npm run build
).
Serve with Deno from the build directory:
deno run --allow-env --allow-read --allow-net mod.ts
For Deno Deploy set the entry point to mod.ts
.
See the GitHub Action workflow for automated deployment.
Using deployctl:
deployctl deploy --project=demo --import-map=import_map.json mod.ts
See the TypeScript definition for AdapterOptions
. You can specify the build output directory and provide additional esbuild options.
Import Node modules in server routes with the node:
prefix:
import * as fs from 'node:fs';
import {Buffer} from 'node:buffer';
Import NPM modules as if coding for Node:
import slugify from '@sindresorhus/slugify';
console.log(slugify('I ♥ Deno'));
This repo publishes a SvelteKit demo app to Deno Deploy at:
sveltekit-adapter-deno.deno.dev
MIT License | Copyright © 2023 David Bushell