Run Deno code in the browser. Fast & simple.
dsbuild
is a simple, fast static site builder.
It compiles any Deno TypeScript (or Markdown) into a single JavaScript file that can be run in the browser.
It's a one-command, zero-configuration way to build React, Markdown, or other JS-powered web sites entirely using Deno.
Features:
- Supports TypeScript, MDX (Markdown), JSX, and React out of the box.
- Automatic rebuilds as you develop (
dsbuild --watch
) - Previewing via a simple included web server (
dsbuild --serve
) - URL imports using
https://
,file://
,npm:
,jsr:
, and import maps. - Full support for Deno syntax and modules that don't require the
Deno
namespace or system APIs. - Powered by
esbuild
andesbuild_deno_loader
under the hood.
-
Install the Deno runtime.
-
Run the following command to install dsbuild:
deno install -frAg -n dsbuild https://deno.land/x/dsbuild/mod.ts
- Ensure
$HOME/.deno/bin
is in yourPATH
environment variable.
See examples/ for full examples of building React, Markdown, or other JS-powered web sites.
-
- Run this command from any directory to compile
src/app.ts
intopublic/app.js
.
- Run this command from any directory to compile
-
- Watches
src/
directory and rebuilds on changes.
- Watches
-
- Watch and serve
public/
onlocalhost:8000
.
- Watch and serve
-
- Builds with import map.
-
-
Generates a deno.json you can use for Deno development with proper
target
andlib
settings for Browsers/React/JSX. -
You can also run
dsbuild --denoconfig --out deno.json
to write to a file.
-
-
-
Generates a tsconfig.json you can use for Deno development with proper
target
andlib
settings for Browsers/React/JSX. -
You can also run
dsbuild --tsconfig --out tsconfig.json
to write to a file.
-
-
-
You can configure the
in
andout
flags to customize the input and output files. -
These example values are the same as the defaults when you call
dsbuild
.
-
-
- Customize the output target, to specify browsers or a different environment. (esbuild target docs)
-
- Serve
public/
onlocalhost:8000
without building.
- Serve
-
- Builds without minification.
Check out the examples/
folder for a demo, after git clone
-ing this repo and
installing dsbuild
.
Inside the folder, run dsbuild --serve --watch
, make changes to src/app.ts
,
and you should see the page immediately update.
Feel free to contribute to this project.
MIT license.