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.