Deno
Building a Deno App
daedalus supports Deno apps. It detects a Deno project by the presence of
deno.json or deno.jsonc.
Detection
| File | Strategy |
|---|---|
deno.json / deno.jsonc |
Reads tasks.start, tasks.dev, or tasks.default |
| Fallback | Looks for main.ts, mod.ts, index.ts |
Prerequisites
- Deno installed (
denoon PATH), or daedalus will download a vendored binary automatically
Build
daedalus build ./my-deno-app -o my-deno-app.de
The builder:
- detects the
denoruntime and reads the entrypoint from config; - embeds the
denobinary (on PATH or vendored); - packages the app source into the app layer;
- compresses and assembles the
.de.
Entrypoint detection
The builder reads deno.json in this order:
tasks.start— production start commandtasks.dev— development commandtasks.default— default task
If no tasks are defined, it falls back to common entry files:
main.ts, mod.ts, index.ts.
Vendored Deno
If Deno is not on your PATH, daedalus automatically downloads a prebuilt Deno
binary from GitHub Releases and caches it at ~/.cache/daedalus/cross/deno/.
# No deno on PATH — daedalus downloads it automatically
daedalus build ./my-deno-app -o my-deno-app.de
Environment variables
DENO_ENV=production ./my-deno-app.de
PORT=8000 ./my-deno-app.de
Known limitations
- Deno permissions (
--allow-net,--allow-read, etc.) are not yet passed through from the build config. The app runs with full permissions inside the extracted rootfs. - Import maps are supported but must be bundled before building.
- Deno deploy targets are not supported (only Linux x86_64/aarch64).