Building
Compile a Deno Desktop app into a self-contained binary that embeds the native cdylib and your builtin bundles.
Compile a Deno Desktop app into a distributable binary with deno desktop, embedding the @wvb/deno native library and your builtin bundles so it runs offline with no separate install.
A single compiled binary targets one platform. Vendor and compile once per target triple you ship.
Vendor the native library
@wvb/deno loads a prebuilt Rust cdylib over FFI. Download it into your project for the target you are building:
deno run -A jsr:@wvb/deno/install --out vendor/wvb --target aarch64-apple-darwinThe library is saved under the plain platform name — libwvb_deno.dylib, libwvb_deno.so, or wvb_deno.dll — and its SHA-256 checksum is verified before it is written. See the Deno Desktop setup for the supported target triples.
Compile a distributable binary
Embed the vendored cdylib and your packed bundles directory with deno desktop --include, then resolve the library from import.meta.url at runtime:
deno desktop --allow-ffi --include vendor/wvb/libwvb_deno.dylib --include bundles main.tsimport { webviewBundle, bundleProtocol } from '@wvb/deno-desktop';
const wvb = await webviewBundle({
lib: new URL('./vendor/wvb/libwvb_deno.dylib', import.meta.url),
protocols: [bundleProtocol('app')],
});The app reads builtin bundles from the included bundles directory next to its entry module, so the compiled binary serves them without network access.