Skip to content

dbushell/sveltekit-adapter-deno

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sveltekit-adapter-deno

Adapter for SvelteKit apps that generates a standalone Deno or Deno Deploy server.

Usage

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

Adapter options

See the TypeScript definition for AdapterOptions. You can specify the build output directory and provide additional esbuild options.

Node and NPM modules

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'));

Demo App

This repo publishes a SvelteKit demo app to Deno Deploy at:

sveltekit-adapter-deno.deno.dev


MIT License | Copyright © 2023 David Bushell