bun-types 1.3.2-canary.20251105T140650 → 1.3.2-canary.20251106T140813
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/README.md +28 -0
- package/package.json +1 -1
- package/docs/api/binary-data.md +0 -1038
- package/docs/api/cc.md +0 -197
- package/docs/api/color.md +0 -262
- package/docs/api/console.md +0 -57
- package/docs/api/cookie.md +0 -449
- package/docs/api/dns.md +0 -110
- package/docs/api/fetch.md +0 -463
- package/docs/api/ffi.md +0 -557
- package/docs/api/file-io.md +0 -366
- package/docs/api/file-system-router.md +0 -112
- package/docs/api/file.md +0 -19
- package/docs/api/glob.md +0 -178
- package/docs/api/globals.md +0 -387
- package/docs/api/hashing.md +0 -319
- package/docs/api/html-rewriter.md +0 -334
- package/docs/api/http.md +0 -1408
- package/docs/api/import-meta.md +0 -69
- package/docs/api/node-api.md +0 -14
- package/docs/api/redis.md +0 -597
- package/docs/api/s3.md +0 -850
- package/docs/api/secrets.md +0 -319
- package/docs/api/semver.md +0 -52
- package/docs/api/spawn.md +0 -582
- package/docs/api/sql.md +0 -1374
- package/docs/api/sqlite.md +0 -694
- package/docs/api/streams.md +0 -230
- package/docs/api/tcp.md +0 -221
- package/docs/api/transpiler.md +0 -276
- package/docs/api/udp.md +0 -123
- package/docs/api/utils.md +0 -891
- package/docs/api/websockets.md +0 -573
- package/docs/api/workers.md +0 -322
- package/docs/api/yaml.md +0 -668
- package/docs/benchmarks.md +0 -120
- package/docs/bun-flavored-toml.md +0 -42
- package/docs/bundler/css.md +0 -1028
- package/docs/bundler/css_modules.md +0 -145
- package/docs/bundler/executables.md +0 -626
- package/docs/bundler/fullstack.md +0 -418
- package/docs/bundler/hmr.md +0 -234
- package/docs/bundler/html.md +0 -349
- package/docs/bundler/index.md +0 -1735
- package/docs/bundler/intro.md +0 -75
- package/docs/bundler/loaders.md +0 -410
- package/docs/bundler/macros.md +0 -329
- package/docs/bundler/plugins.md +0 -449
- package/docs/bundler/vs-esbuild.md +0 -1127
- package/docs/cli/add.md +0 -173
- package/docs/cli/bun-completions.md +0 -3
- package/docs/cli/bun-create.md +0 -338
- package/docs/cli/bun-install.md +0 -349
- package/docs/cli/bun-upgrade.md +0 -39
- package/docs/cli/bunx.md +0 -89
- package/docs/cli/filter.md +0 -90
- package/docs/cli/info.md +0 -65
- package/docs/cli/init.md +0 -85
- package/docs/cli/install.md +0 -344
- package/docs/cli/link.md +0 -40
- package/docs/cli/outdated.md +0 -90
- package/docs/cli/patch-commit.md +0 -11
- package/docs/cli/pm.md +0 -285
- package/docs/cli/publish.md +0 -120
- package/docs/cli/remove.md +0 -7
- package/docs/cli/run.md +0 -261
- package/docs/cli/test.md +0 -397
- package/docs/cli/unlink.md +0 -9
- package/docs/cli/update.md +0 -129
- package/docs/cli/why.md +0 -67
- package/docs/contributing/upgrading-webkit.md +0 -57
- package/docs/ecosystem/elysia.md +0 -24
- package/docs/ecosystem/express.md +0 -37
- package/docs/ecosystem/hono.md +0 -18
- package/docs/ecosystem/react.md +0 -65
- package/docs/ecosystem/stric.md +0 -38
- package/docs/guides/binary/arraybuffer-to-array.md +0 -27
- package/docs/guides/binary/arraybuffer-to-blob.md +0 -24
- package/docs/guides/binary/arraybuffer-to-buffer.md +0 -25
- package/docs/guides/binary/arraybuffer-to-string.md +0 -15
- package/docs/guides/binary/arraybuffer-to-typedarray.md +0 -39
- package/docs/guides/binary/blob-to-arraybuffer.md +0 -14
- package/docs/guides/binary/blob-to-dataview.md +0 -14
- package/docs/guides/binary/blob-to-stream.md +0 -14
- package/docs/guides/binary/blob-to-string.md +0 -15
- package/docs/guides/binary/blob-to-typedarray.md +0 -14
- package/docs/guides/binary/buffer-to-arraybuffer.md +0 -14
- package/docs/guides/binary/buffer-to-blob.md +0 -14
- package/docs/guides/binary/buffer-to-readablestream.md +0 -41
- package/docs/guides/binary/buffer-to-string.md +0 -25
- package/docs/guides/binary/buffer-to-typedarray.md +0 -14
- package/docs/guides/binary/dataview-to-string.md +0 -15
- package/docs/guides/binary/typedarray-to-arraybuffer.md +0 -25
- package/docs/guides/binary/typedarray-to-blob.md +0 -16
- package/docs/guides/binary/typedarray-to-buffer.md +0 -14
- package/docs/guides/binary/typedarray-to-dataview.md +0 -14
- package/docs/guides/binary/typedarray-to-readablestream.md +0 -41
- package/docs/guides/binary/typedarray-to-string.md +0 -16
- package/docs/guides/deployment/railway.md +0 -157
- package/docs/guides/ecosystem/astro.md +0 -72
- package/docs/guides/ecosystem/discordjs.md +0 -77
- package/docs/guides/ecosystem/docker.md +0 -140
- package/docs/guides/ecosystem/drizzle.md +0 -185
- package/docs/guides/ecosystem/edgedb.md +0 -228
- package/docs/guides/ecosystem/elysia.md +0 -31
- package/docs/guides/ecosystem/express.md +0 -40
- package/docs/guides/ecosystem/hono.md +0 -39
- package/docs/guides/ecosystem/mongoose.md +0 -87
- package/docs/guides/ecosystem/neon-drizzle.md +0 -220
- package/docs/guides/ecosystem/neon-serverless-postgres.md +0 -55
- package/docs/guides/ecosystem/nextjs.md +0 -49
- package/docs/guides/ecosystem/nuxt.md +0 -56
- package/docs/guides/ecosystem/pm2.md +0 -57
- package/docs/guides/ecosystem/prisma.md +0 -141
- package/docs/guides/ecosystem/qwik.md +0 -107
- package/docs/guides/ecosystem/react.md +0 -50
- package/docs/guides/ecosystem/remix.md +0 -78
- package/docs/guides/ecosystem/render.md +0 -79
- package/docs/guides/ecosystem/sentry.md +0 -52
- package/docs/guides/ecosystem/solidstart.md +0 -58
- package/docs/guides/ecosystem/ssr-react.md +0 -51
- package/docs/guides/ecosystem/stric.md +0 -55
- package/docs/guides/ecosystem/sveltekit.md +0 -125
- package/docs/guides/ecosystem/systemd.md +0 -113
- package/docs/guides/ecosystem/vite.md +0 -71
- package/docs/guides/html-rewriter/extract-links.md +0 -68
- package/docs/guides/html-rewriter/extract-social-meta.md +0 -93
- package/docs/guides/http/cluster.md +0 -66
- package/docs/guides/http/fetch-unix.md +0 -33
- package/docs/guides/http/fetch.md +0 -24
- package/docs/guides/http/file-uploads.md +0 -94
- package/docs/guides/http/hot.md +0 -26
- package/docs/guides/http/proxy.md +0 -24
- package/docs/guides/http/server.md +0 -46
- package/docs/guides/http/simple.md +0 -18
- package/docs/guides/http/stream-file.md +0 -48
- package/docs/guides/http/stream-iterator.md +0 -47
- package/docs/guides/http/stream-node-streams-in-bun.md +0 -20
- package/docs/guides/http/tls.md +0 -30
- package/docs/guides/install/add-dev.md +0 -26
- package/docs/guides/install/add-git.md +0 -36
- package/docs/guides/install/add-optional.md +0 -25
- package/docs/guides/install/add-peer.md +0 -43
- package/docs/guides/install/add-tarball.md +0 -33
- package/docs/guides/install/add.md +0 -42
- package/docs/guides/install/azure-artifacts.md +0 -73
- package/docs/guides/install/cicd.md +0 -41
- package/docs/guides/install/custom-registry.md +0 -30
- package/docs/guides/install/from-npm-install-to-bun-install.md +0 -214
- package/docs/guides/install/git-diff-bun-lockfile.md +0 -44
- package/docs/guides/install/jfrog-artifactory.md +0 -28
- package/docs/guides/install/npm-alias.md +0 -23
- package/docs/guides/install/registry-scope.md +0 -38
- package/docs/guides/install/trusted.md +0 -46
- package/docs/guides/install/workspaces.md +0 -70
- package/docs/guides/install/yarnlock.md +0 -44
- package/docs/guides/process/argv.md +0 -58
- package/docs/guides/process/ctrl-c.md +0 -16
- package/docs/guides/process/ipc.md +0 -66
- package/docs/guides/process/nanoseconds.md +0 -13
- package/docs/guides/process/os-signals.md +0 -39
- package/docs/guides/process/spawn-stderr.md +0 -31
- package/docs/guides/process/spawn-stdout.md +0 -26
- package/docs/guides/process/spawn.md +0 -41
- package/docs/guides/process/stdin.md +0 -54
- package/docs/guides/read-file/arraybuffer.md +0 -28
- package/docs/guides/read-file/buffer.md +0 -19
- package/docs/guides/read-file/exists.md +0 -16
- package/docs/guides/read-file/json.md +0 -17
- package/docs/guides/read-file/mime.md +0 -20
- package/docs/guides/read-file/stream.md +0 -26
- package/docs/guides/read-file/string.md +0 -22
- package/docs/guides/read-file/uint8array.md +0 -21
- package/docs/guides/read-file/watch.md +0 -68
- package/docs/guides/runtime/build-time-constants.md +0 -293
- package/docs/guides/runtime/cicd.md +0 -43
- package/docs/guides/runtime/codesign-macos-executable.md +0 -56
- package/docs/guides/runtime/define-constant.md +0 -145
- package/docs/guides/runtime/delete-directory.md +0 -37
- package/docs/guides/runtime/delete-file.md +0 -19
- package/docs/guides/runtime/heap-snapshot.md +0 -26
- package/docs/guides/runtime/import-html.md +0 -15
- package/docs/guides/runtime/import-json.md +0 -44
- package/docs/guides/runtime/import-toml.md +0 -30
- package/docs/guides/runtime/import-yaml.md +0 -102
- package/docs/guides/runtime/read-env.md +0 -32
- package/docs/guides/runtime/set-env.md +0 -47
- package/docs/guides/runtime/shell.md +0 -40
- package/docs/guides/runtime/timezone.md +0 -35
- package/docs/guides/runtime/tsconfig-paths.md +0 -29
- package/docs/guides/runtime/typescript.md +0 -49
- package/docs/guides/runtime/vscode-debugger.md +0 -47
- package/docs/guides/runtime/web-debugger.md +0 -82
- package/docs/guides/streams/node-readable-to-arraybuffer.md +0 -11
- package/docs/guides/streams/node-readable-to-blob.md +0 -11
- package/docs/guides/streams/node-readable-to-json.md +0 -12
- package/docs/guides/streams/node-readable-to-string.md +0 -12
- package/docs/guides/streams/node-readable-to-uint8array.md +0 -11
- package/docs/guides/streams/to-array.md +0 -14
- package/docs/guides/streams/to-arraybuffer.md +0 -14
- package/docs/guides/streams/to-blob.md +0 -14
- package/docs/guides/streams/to-buffer.md +0 -15
- package/docs/guides/streams/to-json.md +0 -14
- package/docs/guides/streams/to-string.md +0 -14
- package/docs/guides/streams/to-typedarray.md +0 -22
- package/docs/guides/test/bail.md +0 -22
- package/docs/guides/test/coverage-threshold.md +0 -60
- package/docs/guides/test/coverage.md +0 -44
- package/docs/guides/test/happy-dom.md +0 -68
- package/docs/guides/test/migrate-from-jest.md +0 -143
- package/docs/guides/test/mock-clock.md +0 -48
- package/docs/guides/test/mock-functions.md +0 -68
- package/docs/guides/test/rerun-each.md +0 -14
- package/docs/guides/test/run-tests.md +0 -111
- package/docs/guides/test/skip-tests.md +0 -39
- package/docs/guides/test/snapshot.md +0 -95
- package/docs/guides/test/spy-on.md +0 -46
- package/docs/guides/test/svelte-test.md +0 -120
- package/docs/guides/test/testing-library.md +0 -92
- package/docs/guides/test/timeout.md +0 -15
- package/docs/guides/test/todo-tests.md +0 -67
- package/docs/guides/test/update-snapshots.md +0 -46
- package/docs/guides/test/watch-mode.md +0 -19
- package/docs/guides/util/base64.md +0 -15
- package/docs/guides/util/deep-equals.md +0 -39
- package/docs/guides/util/deflate.md +0 -18
- package/docs/guides/util/detect-bun.md +0 -23
- package/docs/guides/util/entrypoint.md +0 -17
- package/docs/guides/util/escape-html.md +0 -22
- package/docs/guides/util/file-url-to-path.md +0 -14
- package/docs/guides/util/gzip.md +0 -18
- package/docs/guides/util/hash-a-password.md +0 -54
- package/docs/guides/util/import-meta-dir.md +0 -13
- package/docs/guides/util/import-meta-file.md +0 -13
- package/docs/guides/util/import-meta-path.md +0 -13
- package/docs/guides/util/javascript-uuid.md +0 -23
- package/docs/guides/util/main.md +0 -32
- package/docs/guides/util/path-to-file-url.md +0 -14
- package/docs/guides/util/sleep.md +0 -22
- package/docs/guides/util/version.md +0 -21
- package/docs/guides/util/which-path-to-executable-bin.md +0 -15
- package/docs/guides/websocket/compression.md +0 -31
- package/docs/guides/websocket/context.md +0 -77
- package/docs/guides/websocket/pubsub.md +0 -41
- package/docs/guides/websocket/simple.md +0 -33
- package/docs/guides/write-file/append.md +0 -52
- package/docs/guides/write-file/basic.md +0 -44
- package/docs/guides/write-file/blob.md +0 -28
- package/docs/guides/write-file/cat.md +0 -17
- package/docs/guides/write-file/file-cp.md +0 -16
- package/docs/guides/write-file/filesink.md +0 -52
- package/docs/guides/write-file/response.md +0 -17
- package/docs/guides/write-file/stdout.md +0 -21
- package/docs/guides/write-file/stream.md +0 -17
- package/docs/guides/write-file/unlink.md +0 -16
- package/docs/index.md +0 -77
- package/docs/install/audit.md +0 -57
- package/docs/install/cache.md +0 -59
- package/docs/install/catalogs.md +0 -298
- package/docs/install/index.md +0 -248
- package/docs/install/isolated.md +0 -197
- package/docs/install/lifecycle.md +0 -46
- package/docs/install/lockfile.md +0 -58
- package/docs/install/npmrc.md +0 -105
- package/docs/install/overrides.md +0 -73
- package/docs/install/patch.md +0 -59
- package/docs/install/registries.md +0 -30
- package/docs/install/security-scanner-api.md +0 -81
- package/docs/install/workspaces.md +0 -114
- package/docs/installation.md +0 -327
- package/docs/project/asan.md +0 -124
- package/docs/project/benchmarking.md +0 -203
- package/docs/project/bindgen.md +0 -225
- package/docs/project/building-windows.md +0 -162
- package/docs/project/contributing.md +0 -347
- package/docs/project/internals/build-process-for-ci.md +0 -75
- package/docs/project/licensing.md +0 -73
- package/docs/project/roadmap.md +0 -87
- package/docs/quickstart.md +0 -157
- package/docs/runtime/autoimport.md +0 -94
- package/docs/runtime/bun-apis.md +0 -207
- package/docs/runtime/bunfig.md +0 -772
- package/docs/runtime/debugger.md +0 -325
- package/docs/runtime/env.md +0 -253
- package/docs/runtime/hot.md +0 -145
- package/docs/runtime/index.md +0 -312
- package/docs/runtime/jsx.md +0 -385
- package/docs/runtime/loaders.md +0 -130
- package/docs/runtime/modules.md +0 -320
- package/docs/runtime/nodejs-apis.md +0 -463
- package/docs/runtime/plugins.md +0 -561
- package/docs/runtime/shell.md +0 -605
- package/docs/runtime/typescript.md +0 -139
- package/docs/runtime/web-apis.md +0 -128
- package/docs/test/configuration.md +0 -154
- package/docs/test/coverage.md +0 -142
- package/docs/test/discovery.md +0 -85
- package/docs/test/dom.md +0 -75
- package/docs/test/examples/concurrent-test-glob.md +0 -132
- package/docs/test/hot.md +0 -15
- package/docs/test/lifecycle.md +0 -81
- package/docs/test/mocks.md +0 -313
- package/docs/test/reporters.md +0 -117
- package/docs/test/runtime-behavior.md +0 -95
- package/docs/test/snapshots.md +0 -68
- package/docs/test/time.md +0 -126
- package/docs/test/writing.md +0 -825
- package/docs/typescript.md +0 -53
package/docs/cli/test.md
DELETED
|
@@ -1,397 +0,0 @@
|
|
|
1
|
-
Bun ships with a fast, built-in, Jest-compatible test runner. Tests are executed with the Bun runtime, and support the following features.
|
|
2
|
-
|
|
3
|
-
- TypeScript and JSX
|
|
4
|
-
- Lifecycle hooks
|
|
5
|
-
- Snapshot testing
|
|
6
|
-
- UI & DOM testing
|
|
7
|
-
- Watch mode with `--watch`
|
|
8
|
-
- Script pre-loading with `--preload`
|
|
9
|
-
|
|
10
|
-
{% callout %}
|
|
11
|
-
Bun aims for compatibility with Jest, but not everything is implemented. To track compatibility, see [this tracking issue](https://github.com/oven-sh/bun/issues/1825).
|
|
12
|
-
{% /callout %}
|
|
13
|
-
|
|
14
|
-
## Run tests
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
$ bun test
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Tests are written in JavaScript or TypeScript with a Jest-like API. Refer to [Writing tests](https://bun.com/docs/test/writing) for full documentation.
|
|
21
|
-
|
|
22
|
-
```ts#math.test.ts
|
|
23
|
-
import { expect, test } from "bun:test";
|
|
24
|
-
|
|
25
|
-
test("2 + 2", () => {
|
|
26
|
-
expect(2 + 2).toBe(4);
|
|
27
|
-
});
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The runner recursively searches the working directory for files that match the following patterns:
|
|
31
|
-
|
|
32
|
-
- `*.test.{js|jsx|ts|tsx}`
|
|
33
|
-
- `*_test.{js|jsx|ts|tsx}`
|
|
34
|
-
- `*.spec.{js|jsx|ts|tsx}`
|
|
35
|
-
- `*_spec.{js|jsx|ts|tsx}`
|
|
36
|
-
|
|
37
|
-
You can filter the set of _test files_ to run by passing additional positional arguments to `bun test`. Any test file with a path that matches one of the filters will run. Commonly, these filters will be file or directory names; glob patterns are not yet supported.
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
$ bun test <filter> <filter> ...
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
To filter by _test name_, use the `-t`/`--test-name-pattern` flag.
|
|
44
|
-
|
|
45
|
-
```sh
|
|
46
|
-
# run all tests or test suites with "addition" in the name
|
|
47
|
-
$ bun test --test-name-pattern addition
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
When no tests match the filter, `bun test` exits with code 1.
|
|
51
|
-
|
|
52
|
-
To run a specific file in the test runner, make sure the path starts with `./` or `/` to distinguish it from a filter name.
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
$ bun test ./test/specific-file.test.ts
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
The test runner runs all tests in a single process. It loads all `--preload` scripts (see [Lifecycle](https://bun.com/docs/test/lifecycle) for details), then runs all tests. If a test fails, the test runner will exit with a non-zero exit code.
|
|
59
|
-
|
|
60
|
-
## CI/CD integration
|
|
61
|
-
|
|
62
|
-
`bun test` supports a variety of CI/CD integrations.
|
|
63
|
-
|
|
64
|
-
### GitHub Actions
|
|
65
|
-
|
|
66
|
-
`bun test` automatically detects if it's running inside GitHub Actions and will emit GitHub Actions annotations to the console directly.
|
|
67
|
-
|
|
68
|
-
No configuration is needed, other than installing `bun` in the workflow and running `bun test`.
|
|
69
|
-
|
|
70
|
-
#### How to install `bun` in a GitHub Actions workflow
|
|
71
|
-
|
|
72
|
-
To use `bun test` in a GitHub Actions workflow, add the following step:
|
|
73
|
-
|
|
74
|
-
```yaml
|
|
75
|
-
jobs:
|
|
76
|
-
build:
|
|
77
|
-
name: build-app
|
|
78
|
-
runs-on: ubuntu-latest
|
|
79
|
-
steps:
|
|
80
|
-
- name: Checkout
|
|
81
|
-
uses: actions/checkout@v4
|
|
82
|
-
- name: Install bun
|
|
83
|
-
uses: oven-sh/setup-bun@v2
|
|
84
|
-
- name: Install dependencies # (assuming your project has dependencies)
|
|
85
|
-
run: bun install # You can use npm/yarn/pnpm instead if you prefer
|
|
86
|
-
- name: Run tests
|
|
87
|
-
run: bun test
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
From there, you'll get GitHub Actions annotations.
|
|
91
|
-
|
|
92
|
-
### JUnit XML reports (GitLab, etc.)
|
|
93
|
-
|
|
94
|
-
To use `bun test` with a JUnit XML reporter, you can use the `--reporter=junit` in combination with `--reporter-outfile`.
|
|
95
|
-
|
|
96
|
-
```sh
|
|
97
|
-
$ bun test --reporter=junit --reporter-outfile=./bun.xml
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
This will continue to output to stdout/stderr as usual, and also write a JUnit
|
|
101
|
-
XML report to the given path at the very end of the test run.
|
|
102
|
-
|
|
103
|
-
JUnit XML is a popular format for reporting test results in CI/CD pipelines.
|
|
104
|
-
|
|
105
|
-
## Timeouts
|
|
106
|
-
|
|
107
|
-
Use the `--timeout` flag to specify a _per-test_ timeout in milliseconds. If a test times out, it will be marked as failed. The default value is `5000`.
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
# default value is 5000
|
|
111
|
-
$ bun test --timeout 20
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Concurrent test execution
|
|
115
|
-
|
|
116
|
-
By default, Bun runs all tests sequentially within each test file. You can enable concurrent execution to run async tests in parallel, significantly speeding up test suites with independent tests.
|
|
117
|
-
|
|
118
|
-
### `--concurrent` flag
|
|
119
|
-
|
|
120
|
-
Use the `--concurrent` flag to run all tests concurrently within their respective files:
|
|
121
|
-
|
|
122
|
-
```sh
|
|
123
|
-
$ bun test --concurrent
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
When this flag is enabled, all tests will run in parallel unless explicitly marked with `test.serial`.
|
|
127
|
-
|
|
128
|
-
### `--max-concurrency` flag
|
|
129
|
-
|
|
130
|
-
Control the maximum number of tests running simultaneously with the `--max-concurrency` flag:
|
|
131
|
-
|
|
132
|
-
```sh
|
|
133
|
-
# Limit to 4 concurrent tests
|
|
134
|
-
$ bun test --concurrent --max-concurrency 4
|
|
135
|
-
|
|
136
|
-
# Default: 20
|
|
137
|
-
$ bun test --concurrent
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
This helps prevent resource exhaustion when running many concurrent tests. The default value is 20.
|
|
141
|
-
|
|
142
|
-
### `test.concurrent`
|
|
143
|
-
|
|
144
|
-
Mark individual tests to run concurrently, even when the `--concurrent` flag is not used:
|
|
145
|
-
|
|
146
|
-
```ts
|
|
147
|
-
import { test, expect } from "bun:test";
|
|
148
|
-
|
|
149
|
-
// These tests run in parallel with each other
|
|
150
|
-
test.concurrent("concurrent test 1", async () => {
|
|
151
|
-
await fetch("/api/endpoint1");
|
|
152
|
-
expect(true).toBe(true);
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
test.concurrent("concurrent test 2", async () => {
|
|
156
|
-
await fetch("/api/endpoint2");
|
|
157
|
-
expect(true).toBe(true);
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
// This test runs sequentially
|
|
161
|
-
test("sequential test", () => {
|
|
162
|
-
expect(1 + 1).toBe(2);
|
|
163
|
-
});
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### `test.serial`
|
|
167
|
-
|
|
168
|
-
Force tests to run sequentially, even when the `--concurrent` flag is enabled:
|
|
169
|
-
|
|
170
|
-
```ts
|
|
171
|
-
import { test, expect } from "bun:test";
|
|
172
|
-
|
|
173
|
-
let sharedState = 0;
|
|
174
|
-
|
|
175
|
-
// These tests must run in order
|
|
176
|
-
test.serial("first serial test", () => {
|
|
177
|
-
sharedState = 1;
|
|
178
|
-
expect(sharedState).toBe(1);
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
test.serial("second serial test", () => {
|
|
182
|
-
// Depends on the previous test
|
|
183
|
-
expect(sharedState).toBe(1);
|
|
184
|
-
sharedState = 2;
|
|
185
|
-
});
|
|
186
|
-
|
|
187
|
-
// This test can run concurrently if --concurrent is enabled
|
|
188
|
-
test("independent test", () => {
|
|
189
|
-
expect(true).toBe(true);
|
|
190
|
-
});
|
|
191
|
-
|
|
192
|
-
// Chaining test qualifiers
|
|
193
|
-
test.failing.each([1, 2, 3])("chained qualifiers %d", input => {
|
|
194
|
-
expect(input).toBe(0); // This test is expected to fail for each input
|
|
195
|
-
});
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
## Rerun tests
|
|
199
|
-
|
|
200
|
-
Use the `--rerun-each` flag to run each test multiple times. This is useful for detecting flaky or non-deterministic test failures.
|
|
201
|
-
|
|
202
|
-
```sh
|
|
203
|
-
$ bun test --rerun-each 100
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
## Randomize test execution order
|
|
207
|
-
|
|
208
|
-
Use the `--randomize` flag to run tests in a random order. This helps detect tests that depend on shared state or execution order.
|
|
209
|
-
|
|
210
|
-
```sh
|
|
211
|
-
$ bun test --randomize
|
|
212
|
-
```
|
|
213
|
-
|
|
214
|
-
When using `--randomize`, the seed used for randomization will be displayed in the test summary:
|
|
215
|
-
|
|
216
|
-
```sh
|
|
217
|
-
$ bun test --randomize
|
|
218
|
-
# ... test output ...
|
|
219
|
-
--seed=12345
|
|
220
|
-
2 pass
|
|
221
|
-
8 fail
|
|
222
|
-
Ran 10 tests across 2 files. [50.00ms]
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
### Reproducible random order with `--seed`
|
|
226
|
-
|
|
227
|
-
Use the `--seed` flag to specify a seed for the randomization. This allows you to reproduce the same test order when debugging order-dependent failures.
|
|
228
|
-
|
|
229
|
-
```sh
|
|
230
|
-
# Reproduce a previous randomized run
|
|
231
|
-
$ bun test --seed 123456
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
The `--seed` flag implies `--randomize`, so you don't need to specify both. Using the same seed value will always produce the same test execution order, making it easier to debug intermittent failures caused by test interdependencies.
|
|
235
|
-
|
|
236
|
-
## Bail out with `--bail`
|
|
237
|
-
|
|
238
|
-
Use the `--bail` flag to abort the test run early after a pre-determined number of test failures. By default Bun will run all tests and report all failures, but sometimes in CI environments it's preferable to terminate earlier to reduce CPU usage.
|
|
239
|
-
|
|
240
|
-
```sh
|
|
241
|
-
# bail after 1 failure
|
|
242
|
-
$ bun test --bail
|
|
243
|
-
|
|
244
|
-
# bail after 10 failure
|
|
245
|
-
$ bun test --bail=10
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
## Watch mode
|
|
249
|
-
|
|
250
|
-
Similar to `bun run`, you can pass the `--watch` flag to `bun test` to watch for changes and re-run tests.
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
$ bun test --watch
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
## Lifecycle hooks
|
|
257
|
-
|
|
258
|
-
Bun supports the following lifecycle hooks:
|
|
259
|
-
|
|
260
|
-
| Hook | Description |
|
|
261
|
-
| ---------------- | -------------------------------------------------------- |
|
|
262
|
-
| `beforeAll` | Runs once before all tests. |
|
|
263
|
-
| `beforeEach` | Runs before each test. |
|
|
264
|
-
| `afterEach` | Runs after each test. |
|
|
265
|
-
| `afterAll` | Runs once after all tests. |
|
|
266
|
-
| `onTestFinished` | Runs after a test finishes, including after `afterEach`. |
|
|
267
|
-
|
|
268
|
-
These hooks can be defined inside test files, or in a separate file that is preloaded with the `--preload` flag.
|
|
269
|
-
|
|
270
|
-
```ts
|
|
271
|
-
$ bun test --preload ./setup.ts
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
See [Test > Lifecycle](https://bun.com/docs/test/lifecycle) for complete documentation.
|
|
275
|
-
|
|
276
|
-
## Mocks
|
|
277
|
-
|
|
278
|
-
Create mock functions with the `mock` function.
|
|
279
|
-
|
|
280
|
-
```ts
|
|
281
|
-
import { test, expect, mock } from "bun:test";
|
|
282
|
-
const random = mock(() => Math.random());
|
|
283
|
-
|
|
284
|
-
test("random", () => {
|
|
285
|
-
const val = random();
|
|
286
|
-
expect(val).toBeGreaterThan(0);
|
|
287
|
-
expect(random).toHaveBeenCalled();
|
|
288
|
-
expect(random).toHaveBeenCalledTimes(1);
|
|
289
|
-
});
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
Alternatively, you can use `jest.fn()`, it behaves identically.
|
|
293
|
-
|
|
294
|
-
```ts-diff
|
|
295
|
-
- import { test, expect, mock } from "bun:test";
|
|
296
|
-
+ import { test, expect, jest } from "bun:test";
|
|
297
|
-
|
|
298
|
-
- const random = mock(() => Math.random());
|
|
299
|
-
+ const random = jest.fn(() => Math.random());
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
See [Test > Mocks](https://bun.com/docs/test/mocks) for complete documentation.
|
|
303
|
-
|
|
304
|
-
## Snapshot testing
|
|
305
|
-
|
|
306
|
-
Snapshots are supported by `bun test`.
|
|
307
|
-
|
|
308
|
-
```ts
|
|
309
|
-
// example usage of toMatchSnapshot
|
|
310
|
-
import { test, expect } from "bun:test";
|
|
311
|
-
|
|
312
|
-
test("snapshot", () => {
|
|
313
|
-
expect({ a: 1 }).toMatchSnapshot();
|
|
314
|
-
});
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
To update snapshots, use the `--update-snapshots` flag.
|
|
318
|
-
|
|
319
|
-
```sh
|
|
320
|
-
$ bun test --update-snapshots
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
See [Test > Snapshots](https://bun.com/docs/test/snapshots) for complete documentation.
|
|
324
|
-
|
|
325
|
-
## UI & DOM testing
|
|
326
|
-
|
|
327
|
-
Bun is compatible with popular UI testing libraries:
|
|
328
|
-
|
|
329
|
-
- [HappyDOM](https://github.com/capricorn86/happy-dom)
|
|
330
|
-
- [DOM Testing Library](https://testing-library.com/docs/dom-testing-library/intro/)
|
|
331
|
-
- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro)
|
|
332
|
-
|
|
333
|
-
See [Test > DOM Testing](https://bun.com/docs/test/dom) for complete documentation.
|
|
334
|
-
|
|
335
|
-
## Performance
|
|
336
|
-
|
|
337
|
-
Bun's test runner is fast.
|
|
338
|
-
|
|
339
|
-
{% image src="/images/buntest.jpeg" caption="Running 266 React SSR tests faster than Jest can print its version number." /%}
|
|
340
|
-
|
|
341
|
-
<!--
|
|
342
|
-
Consider the following directory structure:
|
|
343
|
-
|
|
344
|
-
```
|
|
345
|
-
.
|
|
346
|
-
├── a.test.ts
|
|
347
|
-
├── b.test.ts
|
|
348
|
-
├── c.test.ts
|
|
349
|
-
└── foo
|
|
350
|
-
├── a.test.ts
|
|
351
|
-
└── b.test.ts
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
To run both `a.test.ts` files:
|
|
355
|
-
|
|
356
|
-
```
|
|
357
|
-
$ bun test a
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
To run all tests in the `foo` directory:
|
|
361
|
-
|
|
362
|
-
```
|
|
363
|
-
$ bun test foo
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Any test file in the directory with an _absolute path_ that contains one of the targets will run. Glob patterns are not yet supported. -->
|
|
367
|
-
|
|
368
|
-
## AI Agent Integration
|
|
369
|
-
|
|
370
|
-
When using Bun's test runner with AI coding assistants, you can enable quieter output to improve readability and reduce context noise. This feature minimizes test output verbosity while preserving essential failure information.
|
|
371
|
-
|
|
372
|
-
### Environment Variables
|
|
373
|
-
|
|
374
|
-
Set any of the following environment variables to enable AI-friendly output:
|
|
375
|
-
|
|
376
|
-
- `CLAUDECODE=1` - For Claude Code
|
|
377
|
-
- `REPL_ID=1` - For Replit
|
|
378
|
-
- `AGENT=1` - Generic AI agent flag
|
|
379
|
-
|
|
380
|
-
### Behavior
|
|
381
|
-
|
|
382
|
-
When an AI agent environment is detected:
|
|
383
|
-
|
|
384
|
-
- Only test failures are displayed in detail
|
|
385
|
-
- Passing, skipped, and todo test indicators are hidden
|
|
386
|
-
- Summary statistics remain intact
|
|
387
|
-
|
|
388
|
-
```bash
|
|
389
|
-
# Example: Enable quiet output for Claude Code
|
|
390
|
-
$ CLAUDECODE=1 bun test
|
|
391
|
-
|
|
392
|
-
# Still shows failures and summary, but hides verbose passing test output
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
This feature is particularly useful in AI-assisted development workflows where reduced output verbosity improves context efficiency while maintaining visibility into test failures.
|
|
396
|
-
|
|
397
|
-
{% bunCLIUsage command="test" /%}
|
package/docs/cli/unlink.md
DELETED
package/docs/cli/update.md
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
To update all dependencies to the latest version:
|
|
2
|
-
|
|
3
|
-
```sh
|
|
4
|
-
$ bun update
|
|
5
|
-
```
|
|
6
|
-
|
|
7
|
-
To update a specific dependency to the latest version:
|
|
8
|
-
|
|
9
|
-
```sh
|
|
10
|
-
$ bun update [package]
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## `--interactive`
|
|
14
|
-
|
|
15
|
-
For a more controlled update experience, use the `--interactive` flag to select which packages to update:
|
|
16
|
-
|
|
17
|
-
```sh
|
|
18
|
-
$ bun update --interactive
|
|
19
|
-
$ bun update -i
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
This launches an interactive terminal interface that shows all outdated packages with their current and target versions. You can then select which packages to update.
|
|
23
|
-
|
|
24
|
-
### Interactive Interface
|
|
25
|
-
|
|
26
|
-
The interface displays packages grouped by dependency type:
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
? Select packages to update - Space to toggle, Enter to confirm, a to select all, n to select none, i to invert, l to toggle latest
|
|
30
|
-
|
|
31
|
-
dependencies Current Target Latest
|
|
32
|
-
□ react 17.0.2 18.2.0 18.3.1
|
|
33
|
-
□ lodash 4.17.20 4.17.21 4.17.21
|
|
34
|
-
|
|
35
|
-
devDependencies Current Target Latest
|
|
36
|
-
□ typescript 4.8.0 5.0.0 5.3.3
|
|
37
|
-
□ @types/node 16.11.7 18.0.0 20.11.5
|
|
38
|
-
|
|
39
|
-
optionalDependencies Current Target Latest
|
|
40
|
-
□ some-optional-package 1.0.0 1.1.0 1.2.0
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Sections:**
|
|
44
|
-
|
|
45
|
-
- Packages are grouped under section headers: `dependencies`, `devDependencies`, `peerDependencies`, `optionalDependencies`
|
|
46
|
-
- Each section shows column headers aligned with the package data
|
|
47
|
-
|
|
48
|
-
**Columns:**
|
|
49
|
-
|
|
50
|
-
- **Package**: Package name (may have suffix like ` dev`, ` peer`, ` optional` for clarity)
|
|
51
|
-
- **Current**: Currently installed version
|
|
52
|
-
- **Target**: Version that would be installed (respects semver constraints)
|
|
53
|
-
- **Latest**: Latest available version
|
|
54
|
-
|
|
55
|
-
### Keyboard Controls
|
|
56
|
-
|
|
57
|
-
**Selection:**
|
|
58
|
-
|
|
59
|
-
- **Space**: Toggle package selection
|
|
60
|
-
- **Enter**: Confirm selections and update
|
|
61
|
-
- **a/A**: Select all packages
|
|
62
|
-
- **n/N**: Select none
|
|
63
|
-
- **i/I**: Invert selection
|
|
64
|
-
|
|
65
|
-
**Navigation:**
|
|
66
|
-
|
|
67
|
-
- **↑/↓ Arrow keys** or **j/k**: Move cursor
|
|
68
|
-
- **l/L**: Toggle between target and latest version for current package
|
|
69
|
-
|
|
70
|
-
**Exit:**
|
|
71
|
-
|
|
72
|
-
- **Ctrl+C** or **Ctrl+D**: Cancel without updating
|
|
73
|
-
|
|
74
|
-
### Visual Indicators
|
|
75
|
-
|
|
76
|
-
- **☑** Selected packages (will be updated)
|
|
77
|
-
- **□** Unselected packages
|
|
78
|
-
- **>** Current cursor position
|
|
79
|
-
- **Colors**: Red (major), yellow (minor), green (patch) version changes
|
|
80
|
-
- **Underlined**: Currently selected update target
|
|
81
|
-
|
|
82
|
-
### Package Grouping
|
|
83
|
-
|
|
84
|
-
Packages are organized in sections by dependency type:
|
|
85
|
-
|
|
86
|
-
- **dependencies** - Regular runtime dependencies
|
|
87
|
-
- **devDependencies** - Development dependencies
|
|
88
|
-
- **peerDependencies** - Peer dependencies
|
|
89
|
-
- **optionalDependencies** - Optional dependencies
|
|
90
|
-
|
|
91
|
-
Within each section, individual packages may have additional suffixes (` dev`, ` peer`, ` optional`) for extra clarity.
|
|
92
|
-
|
|
93
|
-
## `--recursive`
|
|
94
|
-
|
|
95
|
-
Use the `--recursive` flag with `--interactive` to update dependencies across all workspaces in a monorepo:
|
|
96
|
-
|
|
97
|
-
```sh
|
|
98
|
-
$ bun update --interactive --recursive
|
|
99
|
-
$ bun update -i -r
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
This displays an additional "Workspace" column showing which workspace each dependency belongs to.
|
|
103
|
-
|
|
104
|
-
## `--latest`
|
|
105
|
-
|
|
106
|
-
By default, `bun update` will update to the latest version of a dependency that satisfies the version range specified in your `package.json`.
|
|
107
|
-
|
|
108
|
-
To update to the latest version, regardless of if it's compatible with the current version range, use the `--latest` flag:
|
|
109
|
-
|
|
110
|
-
```sh
|
|
111
|
-
$ bun update --latest
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
In interactive mode, you can toggle individual packages between their target version (respecting semver) and latest version using the **l** key.
|
|
115
|
-
|
|
116
|
-
For example, with the following `package.json`:
|
|
117
|
-
|
|
118
|
-
```json
|
|
119
|
-
{
|
|
120
|
-
"dependencies": {
|
|
121
|
-
"react": "^17.0.2"
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
- `bun update` would update to a version that matches `17.x`.
|
|
127
|
-
- `bun update --latest` would update to a version that matches `18.x` or later.
|
|
128
|
-
|
|
129
|
-
{% bunCLIUsage command="update" /%}
|
package/docs/cli/why.md
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
The `bun why` command explains why a package is installed in your project by showing the dependency chain that led to its installation.
|
|
2
|
-
|
|
3
|
-
## Usage
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
$ bun why <package>
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## Arguments
|
|
10
|
-
|
|
11
|
-
- `<package>`: The name of the package to explain. Supports glob patterns like `@org/*` or `*-lodash`.
|
|
12
|
-
|
|
13
|
-
## Options
|
|
14
|
-
|
|
15
|
-
- `--top`: Show only the top-level dependencies instead of the complete dependency tree.
|
|
16
|
-
- `--depth <number>`: Maximum depth of the dependency tree to display.
|
|
17
|
-
|
|
18
|
-
## Examples
|
|
19
|
-
|
|
20
|
-
Check why a specific package is installed:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
$ bun why react
|
|
24
|
-
react@18.2.0
|
|
25
|
-
└─ my-app@1.0.0 (requires ^18.0.0)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Check why all packages with a specific pattern are installed:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
$ bun why "@types/*"
|
|
32
|
-
@types/react@18.2.15
|
|
33
|
-
└─ dev my-app@1.0.0 (requires ^18.0.0)
|
|
34
|
-
|
|
35
|
-
@types/react-dom@18.2.7
|
|
36
|
-
└─ dev my-app@1.0.0 (requires ^18.0.0)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Show only top-level dependencies:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
$ bun why express --top
|
|
43
|
-
express@4.18.2
|
|
44
|
-
└─ my-app@1.0.0 (requires ^4.18.2)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Limit the dependency tree depth:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
$ bun why express --depth 2
|
|
51
|
-
express@4.18.2
|
|
52
|
-
└─ express-pollyfill@1.20.1 (requires ^4.18.2)
|
|
53
|
-
└─ body-parser@1.20.1 (requires ^1.20.1)
|
|
54
|
-
└─ accepts@1.3.8 (requires ^1.3.8)
|
|
55
|
-
└─ (deeper dependencies hidden)
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Understanding the Output
|
|
59
|
-
|
|
60
|
-
The output shows:
|
|
61
|
-
|
|
62
|
-
- The package name and version being queried
|
|
63
|
-
- The dependency chain that led to its installation
|
|
64
|
-
- The type of dependency (dev, peer, optional, or production)
|
|
65
|
-
- The version requirement specified in each package's dependencies
|
|
66
|
-
|
|
67
|
-
For nested dependencies, the command shows the complete dependency tree by default, with indentation indicating the relationship hierarchy.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
Bun uses [a fork](https://github.com/oven-sh/WebKit) of WebKit with a small number of changes.
|
|
2
|
-
|
|
3
|
-
It's important to periodically update WebKit for many reasons:
|
|
4
|
-
|
|
5
|
-
- Security
|
|
6
|
-
- Performance
|
|
7
|
-
- Compatibility
|
|
8
|
-
- …and many more.
|
|
9
|
-
|
|
10
|
-
To upgrade, first find the commit in **Bun's WebKit fork** (not Bun!) between when we last upgraded and now.
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
$ cd src/bun.js/WebKit # In the WebKit directory! not bun
|
|
14
|
-
$ git checkout $COMMIT
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
This is the main command to run:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
$ git merge upstream main
|
|
21
|
-
# If you get an error saying histories are unrelated, run this and try again:
|
|
22
|
-
$ git fetch --unshallow
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Then, you will likely see some silly merge conflicts. Fix them and then run:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
# You might have to run this multiple times.
|
|
29
|
-
$ rm -rf WebKitBuild
|
|
30
|
-
|
|
31
|
-
# Go to Bun's directory! Not WebKit.
|
|
32
|
-
cd ../../../../
|
|
33
|
-
make jsc-build-mac-compile
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
Make sure that JSC's CLI is able to load successfully. This verifies that the build is working.
|
|
37
|
-
|
|
38
|
-
You know this worked when it printed help options. If it complains about symbols, crashes, or anything else that looks wrong, something is wrong.
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
src/bun.js/WebKit/WebKitBuild/Release/bin/jsc --help
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Then, clear out our bindings and regenerate the C++<>Zig headers:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
make clean-bindings headers builtins
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Now update Bun's bindings wherever there are compiler errors:
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# It will take awhile if you don't pass -j here
|
|
54
|
-
make bindings -j10
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
This is the hard part. It might involve digging through WebKit's commit history to figure out what changed and why. Fortunately, WebKit contributors write great commit messages.
|
package/docs/ecosystem/elysia.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
[Elysia](https://elysiajs.com) is a Bun-first performance focused web framework that takes full advantage of Bun's HTTP, file system, and hot reloading APIs.
|
|
2
|
-
Designed with TypeScript in mind, you don't need to understand TypeScript to gain the benefit of TypeScript with Elysia. The library understands what you want and automatically infers the type from your code.
|
|
3
|
-
|
|
4
|
-
⚡️ Elysia is [one of the fastest Bun web frameworks](https://github.com/SaltyAom/bun-http-framework-benchmark)
|
|
5
|
-
|
|
6
|
-
```ts#server.ts
|
|
7
|
-
import { Elysia } from 'elysia'
|
|
8
|
-
|
|
9
|
-
const app = new Elysia()
|
|
10
|
-
.get('/', () => 'Hello Elysia')
|
|
11
|
-
.listen(8080)
|
|
12
|
-
|
|
13
|
-
console.log(`🦊 Elysia is running at on port ${app.server.port}...`)
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Get started with `bun create`.
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
$ bun create elysia ./myapp
|
|
20
|
-
$ cd myapp
|
|
21
|
-
$ bun run dev
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Refer to the Elysia [documentation](https://elysiajs.com/quick-start.html) for more information.
|