Skip to content

πŸ“¦ Build modern websites with zero added frameworks. Deno, React, JS/TS, & Markdown MDX supported.

License

Notifications You must be signed in to change notification settings

orgsofthq/dsbuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 1, 2025
9d88dea Β· Feb 1, 2025

History

35 Commits
Jan 31, 2025
Aug 2, 2023
Feb 1, 2025
Jan 17, 2025
Jan 31, 2025
Feb 1, 2025
Feb 1, 2025
Aug 1, 2023
Jan 31, 2025
Jan 25, 2025
Jan 31, 2025
Jan 17, 2025
Jan 17, 2025
Feb 1, 2025
Jan 29, 2025
Jan 31, 2025

Repository files navigation

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 and esbuild_deno_loader under the hood.



Installation

  1. Install the Deno runtime.

  2. Run the following command to install dsbuild:

deno install -frAg jsr:@orgsoft/dsbuild
  1. Ensure $HOME/.deno/bin is in your PATH environment variable.



Usage

See examples/ for full examples of building React, Markdown, or other JS-powered web sites.

  • dsbuild

    • Run this command from any directory to compile src/app.ts into public/app.js.
  • dsbuild --watch (or dsbuild -w)

    • Watches src/ directory and rebuilds on changes.
  • dsbuild --watch=src/ui,src/api

    • Watches src/ui and src/api and rebuilds on changes.
  • dsbuild --watch --serve (or dsbuild -ws)

    • Watch and serve public/ on localhost:8000.
  • dsbuild --import-map import-map.json

    • Builds with import map.
  • dsbuild --denoconfig

    • Generates a deno.json you can use for Deno development with proper target and lib settings for Browsers/React/JSX.

    • You can also run dsbuild --denoconfig --out deno.json to write to a file.

  • dsbuild --tsconfig

    • Generates a tsconfig.json you can use for Deno development with proper target and lib settings for Browsers/React/JSX.

    • You can also run dsbuild --tsconfig --out tsconfig.json to write to a file.

  • dsbuild --in src/some-file.ts --out public/another-file.js

    • You can configure the in and out flags to customize the input and output files.

    • These example values are the same as the defaults when you call dsbuild.

  • dsbuild --target chrome99,firefox99,safari15

    • Customize the output target, to specify browsers or a different environment. (esbuild target docs)
  • dsbuild --serve-only

    • Serve public/ on localhost:8000 without building.
  • DENO_ENV=development dsbuild

    • Builds without minification.



Quick Start

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.



Contributions & local development

You can clone this repository to make changes.

Once you have a local copy, run deno task install:dev from this directory to replace your dsbuild installation with a local development copy.

Contributions are welcome.

License

MIT license.

About

πŸ“¦ Build modern websites with zero added frameworks. Deno, React, JS/TS, & Markdown MDX supported.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published