Compiling Executables
Since the compile functionality is relatively new, the
--unstable
flag has to be set in order for the command to work.
deno compile [--output <OUT>] <SRC>
will compile the script into a self-contained executable.
> deno compile --unstable https://deno.land/std/examples/welcome.ts
If you omit the OUT
parameter, the name of the executable file will be inferred.
Flags
As with deno install
, the runtime flags used to execute the script must be specified at compilation time. This includes permission flags.
> deno compile --unstable --allow-read --allow-net https://deno.land/std/http/file_server.ts
Script arguments can be partially embedded.
> deno compile --unstable --allow-read --allow-net https://deno.land/std/http/file_server.ts -p 8080
> ./file_server --help
Cross Compilation
You can use cross compilation by adding --target
CLI argument, benefiting that you can create binaries for other platforms in single CI machine. Deno supports compiling to Windows x64, macOS x64, macOS ARM and Linux x64 currently. Use deno compile --help
to get the full list about compilation targets.
Generating smaller binaries
Once --lite
argument is passed, deno compile
will use a slimmed-down runtime-only binary.