Bun's bundler implements a `--compile` flag for generating a standalone binary from a TypeScript or JavaScript file. {% codetabs %} ```bash $ bun build ./cli.ts --compile --outfile mycli ``` ```ts#cli.ts console.log("Hello world!"); ``` {% /codetabs %} This bundles `cli.ts` into an executable that can be executed directly: ``` $ ./mycli Hello world! ``` All imported files and packages are bundled into the executable, along with a copy of the Bun runtime. All built-in Bun and Node.js APIs are supported. {% callout %} **Note** — Currently, the `--compile` flag can only accept a single entrypoint at a time and does not support the following flags: - `--outdir` — use `outfile` instead. - `--external` - `--splitting` - `--public-path` {% /callout %} ## Embedding files Standalone executables support embedding files. To embed files into an executable with `bun build --compile`, import the file in your code ```js // this becomes an internal file path import icon from "./icon.png"; import { file } from "bun"; export default { fetch(req) { return new Response(file(icon)); }, }; ``` You may need to specify a `--loader` for it to be treated as a `"file"` loader (so you get back a file path). Embedded files can be read using `Bun.file`'s functions or the Node.js `fs.readFile` function (in `"node:fs"`). ## Minification To trim down the size of the executable a little, pass `--minify` to `bun build --compile`. This uses Bun's minifier to reduce the code size. Overall though, Bun's binary is still way too big and we need to make it smaller. tion value='ciro/gc-tests'>ciro/gc-tests Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/sleep.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-02-06Little docGravatar Jarred Sumner 2-9/+49
2022-02-06Update README.mdbun-v0.0.69Gravatar Jarred Sumner 1-0/+2
2022-02-06Update README.mdGravatar Jarred Sumner 1-2/+3
2022-02-06Update README.mdGravatar Jarred Sumner 1-2/+2
2022-02-06Update README.mdGravatar Jarred Sumner 1-2/+2
2022-02-06Update README.mdGravatar Jarred Sumner 1-0/+15
2022-02-05Add unit test for toml importsGravatar Jarred Sumner 2-0/+47
2022-02-05[TOML] Fix bug with [[arrays]]Gravatar Jarred Sumner 1-2/+5
2022-02-05Handle promise rejections in testsGravatar Jarred Sumner 2-19/+35
2022-02-05Update resolve_path.zigGravatar Jarred Sumner 1-37/+35
2022-02-05Always try to load bunfig.toml for `install`, `dev`, `bun`, `test`Gravatar Jarred Sumner 1-3/+25
2022-02-05()Gravatar Jarred Sumner 1-1/+1
2022-02-05One less memcpyGravatar Jarred Sumner 1-68/+100
2022-02-05Further reliability improvements to http clientGravatar Jarred Sumner 2-14/+62
2022-02-05Implement keep-alive but disable itGravatar Jarred Sumner 2-17/+126
2022-02-05Make bun-install slower but more reliable on Linux Kernel 5.5 and lowerGravatar Jarred SUmner 1-112/+31
2022-02-04Several reliability improvements to HTTPGravatar Jarred SUmner 12-141/+189
2022-02-04reminderGravatar Jarred Sumner 3-5/+6
2022-02-04`path.resolve()` passes testsGravatar Jarred Sumner 2-13/+81
2022-02-04Update multiple-var.jsGravatar Jarred Sumner 1-1/+2
2022-02-04:camera:Gravatar Jarred Sumner 74-340/+669
2022-02-04Update snippets.jsonGravatar Jarred Sumner 1-1/+3
2022-02-04Add integration test for reading .json files that have UTF-8 string literalsGravatar Jarred Sumner 2-0/+9
2022-02-04[http] fix segfaultGravatar Jarred Sumner 1-17/+25
2022-02-04[bun dev] Fix bug with serving static files on next.js apps introduced in af6...Gravatar Jarred Sumner 1-5/+7
2022-02-04Update types.zigGravatar Jarred Sumner 1-9/+10
2022-02-04Update test_command.zigGravatar Jarred Sumner 1-2/+0
2022-02-04`path.normalize()` tests passGravatar Jarred Sumner 2-146/+213
2022-02-03Fix test failures in path.joinGravatar Jarred Sumner 1-8/+115
2022-02-03Update mimalloc_arena.zigGravatar Jarred Sumner 1-0/+9
2022-02-03[bun test] Support multiple filesGravatar Jarred Sumner 1-2/+12
2022-02-03Update js_ast.zigGravatar Jarred Sumner 1-0/+1
2022-02-03Support loading multiple entry points by changing what `bun:main` points toGravatar Jarred Sumner 6-4/+36
2022-02-03[bun install] Configurable max http retry countGravatar Jarred Sumner 1-0/+7
2022-02-03Missing newline in errors in bun installGravatar Jarred Sumner 1-4/+8
2022-02-03Fix bug with http clientGravatar Jarred Sumner 6-107/+101
2022-02-03Move detectFastRefresh to later so HTTP request handler starts fasterGravatar Jarred Sumner 1-2/+1
2022-02-03Fix bug with macro remaps in Bun.Transpiler apiGravatar Jarred Sumner 2-5/+8
2022-02-03Slight improvement to non-ascii file path handlingGravatar Jarred Sumner 4-18/+79
2022-02-02`path.relative` passes Node's tests (which also fixed bugs)Gravatar Jarred Sumner 8-283/+571