GithubHelp home page GithubHelp logo

justjavac / svelte-adapter-deno Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pluvial/svelte-adapter-deno

0.0 2.0 0.0 1023 KB

A SvelteKit adapter for Deno

License: MIT License

TypeScript 2.65% JavaScript 97.35%

svelte-adapter-deno's Introduction

svelte-adapter-deno

Adapter for SvelteKit apps that generates a standalone Deno server.

Usage

Install with npm i -D svelte-adapter-deno, then add the adapter to your svelte.config.js:

// svelte.config.js
import adapter from 'svelte-adapter-deno';

export default {
  kit: {
    adapter: adapter({
      // default options are shown
      out: 'build',
      deps: './deps.ts' // (relative to adapter-deno package)
    })
  }
};

After building the server (npm run build), use the following command to start:

# with the default build directory
deno run --allow-env --allow-read --allow-net build/index.js

# with a custom build directory
deno run --allow-env --allow-read --allow-net path/to/build/index.js

The server needs at least the following permissions to run:

  • allow-env - allow environment access, to support runtime configuration via runtime variables (can be further restricted to include just the necessary variables)
  • allow-read - allow file system read access (can be further restricted to include just the necessary directories)
  • allow-net - allow network access (can be further restricted to include just the necessary domains)

Additionally, --no-check can be used if deno complains while typechecking upstream dependencies.

Related Deno issues

Options

out

The directory to build the server to. It defaults to build โ€” i.e. deno run --allow-env --allow-read --allow-net build/index.js 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.

deps

The file re-exporting external runtime dependencies (deps.ts by convention in Deno). It defaults to the deps.ts included in the package.

Environment variables

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 deno run --allow-env --allow-read --allow-net build/server.js

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:

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

The default options for this version are as follows:

{
  entryPoints: ['.svelte-kit/deno/index.js'],
  outfile: 'build/index.js',
  bundle: true,
  format: 'esm',
  platform: 'neutral',
  sourcemap: 'external'
}

License

MIT

svelte-adapter-deno's People

Contributors

cangit avatar heliumbrain avatar jpaquim avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.