1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-24 08:09:08 -05:00
denoland-deno/docs/tools/compiler.md

45 lines
1.4 KiB
Markdown
Raw Normal View History

## 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`](./script_installer.md), 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](../getting_started/command_line_interface.md#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.