bun-types 1.2.3-canary.20250209T140621 → 1.2.3-canary.20250211T140606
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/bun.d.ts +11 -1
- package/docs/api/fetch.md +1 -1
- package/docs/api/spawn.md +1 -1
- package/docs/bundler/executables.md +2 -0
- package/docs/bundler/index.md +2 -0
- package/docs/bundler/loaders.md +0 -2
- package/docs/cli/add.md +2 -0
- package/docs/cli/bun-create.md +88 -1
- package/docs/cli/init.md +2 -0
- package/docs/cli/install.md +2 -0
- package/docs/cli/link.md +2 -0
- package/docs/cli/outdated.md +32 -48
- package/docs/cli/patch-commit.md +2 -0
- package/docs/cli/publish.md +2 -1
- package/docs/cli/remove.md +2 -0
- package/docs/cli/run.md +2 -0
- package/docs/cli/test.md +2 -0
- package/docs/cli/unlink.md +2 -0
- package/docs/cli/update.md +2 -0
- package/docs/guides/ecosystem/nuxt.md +1 -1
- package/docs/guides/install/add-peer.md +2 -2
- package/docs/guides/install/from-npm-install-to-bun-install.md +1 -1
- package/docs/guides/test/run-tests.md +3 -3
- package/docs/guides/test/snapshot.md +3 -3
- package/docs/guides/test/update-snapshots.md +1 -1
- package/docs/guides/util/version.md +1 -1
- package/docs/install/patch.md +2 -0
- package/docs/installation.md +27 -5
- package/docs/runtime/debugger.md +3 -3
- package/docs/runtime/shell.md +2 -2
- package/docs/test/dom.md +1 -1
- package/package.json +1 -1
- package/docs/cli/bun-dev.md +0 -21
package/bun.d.ts
CHANGED
|
@@ -3822,7 +3822,17 @@ declare module "bun" {
|
|
|
3822
3822
|
* Render contextual errors? This enables bun's error page
|
|
3823
3823
|
* @default process.env.NODE_ENV !== 'production'
|
|
3824
3824
|
*/
|
|
3825
|
-
development?:
|
|
3825
|
+
development?:
|
|
3826
|
+
| boolean
|
|
3827
|
+
| {
|
|
3828
|
+
/**
|
|
3829
|
+
* Enable Hot Module Replacement for routes (including React Fast Refresh, if React is in use)
|
|
3830
|
+
*
|
|
3831
|
+
* @default true if process.env.NODE_ENV !== 'production'
|
|
3832
|
+
*
|
|
3833
|
+
*/
|
|
3834
|
+
hmr?: boolean;
|
|
3835
|
+
};
|
|
3826
3836
|
|
|
3827
3837
|
error?: (
|
|
3828
3838
|
this: Server,
|
package/docs/api/fetch.md
CHANGED
|
@@ -337,7 +337,7 @@ This will print the request and response headers to your terminal:
|
|
|
337
337
|
```sh
|
|
338
338
|
[fetch] > HTTP/1.1 GET http://example.com/
|
|
339
339
|
[fetch] > Connection: keep-alive
|
|
340
|
-
[fetch] > User-Agent: Bun/1.2.3-canary.
|
|
340
|
+
[fetch] > User-Agent: Bun/1.2.3-canary.20250211T140606
|
|
341
341
|
[fetch] > Accept: */*
|
|
342
342
|
[fetch] > Host: example.com
|
|
343
343
|
[fetch] > Accept-Encoding: gzip, deflate, br
|
package/docs/api/spawn.md
CHANGED
|
@@ -110,7 +110,7 @@ You can read results from the subprocess via the `stdout` and `stderr` propertie
|
|
|
110
110
|
```ts
|
|
111
111
|
const proc = Bun.spawn(["bun", "--version"]);
|
|
112
112
|
const text = await new Response(proc.stdout).text();
|
|
113
|
-
console.log(text); // => "1.2.3-canary.
|
|
113
|
+
console.log(text); // => "1.2.3-canary.20250211T140606"
|
|
114
114
|
```
|
|
115
115
|
|
|
116
116
|
Configure the output stream by passing one of the following values to `stdout/stderr`:
|
package/docs/bundler/index.md
CHANGED
package/docs/bundler/loaders.md
CHANGED
|
@@ -192,8 +192,6 @@ Otherwise, the database to embed is copied into the `outdir` with a hashed filen
|
|
|
192
192
|
|
|
193
193
|
### `html`
|
|
194
194
|
|
|
195
|
-
**HTML loader**. Default for `.html` after Bun v1.2.0.
|
|
196
|
-
|
|
197
195
|
The html loader processes HTML files and bundles any referenced assets. It will:
|
|
198
196
|
|
|
199
197
|
- Bundle and hash referenced JavaScript files (`<script src="...">`)
|
package/docs/cli/add.md
CHANGED
package/docs/cli/bun-create.md
CHANGED
|
@@ -2,10 +2,97 @@
|
|
|
2
2
|
**Note** — You don’t need `bun create` to use Bun. You don’t need any configuration at all. This command exists to make getting started a bit quicker and easier.
|
|
3
3
|
{% /callout %}
|
|
4
4
|
|
|
5
|
-
Template a new Bun project with `bun create`. This is a flexible command that can be used to create a new project
|
|
5
|
+
Template a new Bun project with `bun create`. This is a flexible command that can be used to create a new project from a React component, a `create-<template>` npm package, a GitHub repo, or a local template.
|
|
6
6
|
|
|
7
7
|
If you're looking to create a brand new empty project, use [`bun init`](https://bun.sh/docs/cli/init).
|
|
8
8
|
|
|
9
|
+
## From a React component
|
|
10
|
+
|
|
11
|
+
`bun create ./MyComponent.tsx` turns an existing React component into a complete dev environment with hot reload and production builds in one command.
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
$ bun create ./MyComponent.jsx # .tsx also supported
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
{% raw %}
|
|
18
|
+
|
|
19
|
+
<video style="aspect-ratio: 2062 / 1344; width: 100%; height: 100%; object-fit: contain;" loop autoplay muted playsinline>
|
|
20
|
+
<source src="/bun-create-shadcn.mp4" style="width: 100%; height: 100%; object-fit: contain;" type="video/mp4">
|
|
21
|
+
</video>
|
|
22
|
+
|
|
23
|
+
{% /raw %}
|
|
24
|
+
|
|
25
|
+
{% callout %}
|
|
26
|
+
🚀 **Create React App Successor** — `bun create <component>` provides everything developers loved about Create React App, but with modern tooling, faster builds, and backend support.
|
|
27
|
+
{% /callout %}
|
|
28
|
+
|
|
29
|
+
#### How this works
|
|
30
|
+
|
|
31
|
+
When you run `bun create <component>`, Bun:
|
|
32
|
+
|
|
33
|
+
1. Uses [Bun's JavaScript bundler](https://bun.sh/docs/bundler) to analyze your module graph.
|
|
34
|
+
2. Collects all the dependencies needed to run the component.
|
|
35
|
+
3. Scans the exports of the entry point for a React component.
|
|
36
|
+
4. Generates a `package.json` file with the dependencies and scripts needed to run the component.
|
|
37
|
+
5. Installs any missing dependencies using [`bun install --only-missing`](https://bun.sh/docs/cli/install).
|
|
38
|
+
6. Generates the following files:
|
|
39
|
+
- `${component}.html`
|
|
40
|
+
- `${component}.client.tsx` (entry point for the frontend)
|
|
41
|
+
- `${component}.css` (css file)
|
|
42
|
+
7. Starts a frontend dev server automatically.
|
|
43
|
+
|
|
44
|
+
### Using TailwindCSS with Bun
|
|
45
|
+
|
|
46
|
+
[TailwindCSS](https://tailwindcss.com/) is an extremely popular utility-first CSS framework used to style web applications.
|
|
47
|
+
|
|
48
|
+
When you run `bun create <component>`, Bun scans your JSX/TSX file for TailwindCSS class names (and any files it imports). If it detects TailwindCSS class names, it will add the following dependencies to your `package.json`:
|
|
49
|
+
|
|
50
|
+
```json#package.json
|
|
51
|
+
{
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"tailwindcss": "^4",
|
|
54
|
+
"bun-plugin-tailwind": "latest"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
We also configure `bunfig.toml` to use Bun's TailwindCSS plugin with `Bun.serve()`
|
|
60
|
+
|
|
61
|
+
```toml#bunfig.toml
|
|
62
|
+
[serve.static]
|
|
63
|
+
plugins = ["bun-plugin-tailwind"]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
And a `${component}.css` file with `@import "tailwindcss";` at the top:
|
|
67
|
+
|
|
68
|
+
```css#MyComponent.css
|
|
69
|
+
@import "tailwindcss";
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Using `shadcn/ui` with Bun
|
|
73
|
+
|
|
74
|
+
[`shadcn/ui`](https://ui.shadcn.com/) is an extremely popular component library tool for building web applications.
|
|
75
|
+
|
|
76
|
+
`bun create <component>` scans for any shadcn/ui components imported from `@/components/ui`.
|
|
77
|
+
|
|
78
|
+
If it finds any, it runs:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Assuming bun detected imports to @/components/ui/accordion and @/components/ui/button
|
|
82
|
+
$ bunx shadcn@canary add accordion button # and any other components
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Since `shadcn/ui` itself uses TailwindCSS, `bun create` also adds the necessary TailwindCSS dependencies to your `package.json` and configures `bunfig.toml` to use Bun's TailwindCSS plugin with `Bun.serve()` as described above.
|
|
86
|
+
|
|
87
|
+
Additionally, we setup the following:
|
|
88
|
+
|
|
89
|
+
- `tsconfig.json` to alias `"@/*"` to `"src/*"` or `.` (depending on if there is a `src/` directory)
|
|
90
|
+
- `components.json` so that shadcn/ui knows its a shadcn/ui project
|
|
91
|
+
- `styles/globals.css` file that configures Tailwind v4 in the way that shadcn/ui expects
|
|
92
|
+
- `${component}.build.ts` file that builds the component for production with `bun-plugin-tailwind` configured
|
|
93
|
+
|
|
94
|
+
`bun create ./MyComponent.jsx` is one of the easiest ways to run code generated from LLMs like [Claude](https://claude.ai) or ChatGPT locally.
|
|
95
|
+
|
|
9
96
|
## From `npm`
|
|
10
97
|
|
|
11
98
|
```sh
|
package/docs/cli/init.md
CHANGED
package/docs/cli/install.md
CHANGED
package/docs/cli/link.md
CHANGED
package/docs/cli/outdated.md
CHANGED
|
@@ -1,63 +1,47 @@
|
|
|
1
|
-
Use `bun outdated` to
|
|
1
|
+
Use `bun outdated` to check for outdated dependencies in your project. This command displays a table of dependencies that have newer versions available.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
$ bun outdated
|
|
3
|
+
{% bunOutdatedTerminal displayGlob="" filter="" glob="" /%}
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
| Package | Current | Update | Latest |
|
|
8
|
-
|----------------------------------------|---------|--------|--------|
|
|
9
|
-
| @types/bun (dev) | 1.1.6 | 1.1.7 | 1.1.7 |
|
|
10
|
-
|----------------------------------------|---------|--------|--------|
|
|
11
|
-
| @types/react (dev) | 18.3.3 | 18.3.4 | 18.3.4 |
|
|
12
|
-
|----------------------------------------|---------|--------|--------|
|
|
13
|
-
| @typescript-eslint/eslint-plugin (dev) | 7.16.1 | 7.18.0 | 8.2.0 |
|
|
14
|
-
|----------------------------------------|---------|--------|--------|
|
|
15
|
-
| @typescript-eslint/parser (dev) | 7.16.1 | 7.18.0 | 8.2.0 |
|
|
16
|
-
|----------------------------------------|---------|--------|--------|
|
|
17
|
-
| esbuild (dev) | 0.21.5 | 0.21.5 | 0.23.1 |
|
|
18
|
-
|----------------------------------------|---------|--------|--------|
|
|
19
|
-
| eslint (dev) | 9.7.0 | 9.9.1 | 9.9.1 |
|
|
20
|
-
|----------------------------------------|---------|--------|--------|
|
|
21
|
-
| typescript (dev) | 5.5.3 | 5.5.4 | 5.5.4 |
|
|
22
|
-
|--------------------------------------------------------------------|
|
|
23
|
-
```
|
|
5
|
+
## Version Information
|
|
24
6
|
|
|
25
|
-
The
|
|
7
|
+
The output table shows three version columns:
|
|
26
8
|
|
|
27
|
-
|
|
9
|
+
- **Current**: The version currently installed
|
|
10
|
+
- **Update**: The latest version that satisfies your package.json version range
|
|
11
|
+
- **Latest**: The latest version published to the registry
|
|
28
12
|
|
|
29
|
-
Dependency
|
|
13
|
+
### Dependency Filters
|
|
30
14
|
|
|
31
|
-
|
|
32
|
-
$ bun outdated "@types/*"
|
|
15
|
+
`bun outdated` supports searching for outdated dependencies by package names and glob patterns.
|
|
33
16
|
|
|
34
|
-
|
|
35
|
-
| Package | Current | Update | Latest |
|
|
36
|
-
|--------------------|---------|--------|--------|
|
|
37
|
-
| @types/bun (dev) | 1.1.6 | 1.1.8 | 1.1.8 |
|
|
38
|
-
|--------------------|---------|--------|--------|
|
|
39
|
-
| @types/react (dev) | 18.3.3 | 18.3.4 | 18.3.4 |
|
|
40
|
-
|------------------------------------------------|
|
|
41
|
-
```
|
|
17
|
+
To check if specific dependencies are outdated, pass the package names as positional arguments:
|
|
42
18
|
|
|
43
|
-
|
|
19
|
+
{% bunOutdatedTerminal displayGlob="eslint-plugin-security eslint-plugin-sonarjs" glob="eslint-plugin-*" /%}
|
|
44
20
|
|
|
45
|
-
|
|
21
|
+
You can also pass glob patterns to check for outdated packages:
|
|
46
22
|
|
|
47
|
-
|
|
48
|
-
$ bun outdated --filter <pattern>
|
|
49
|
-
```
|
|
23
|
+
{% bunOutdatedTerminal displayGlob="'eslint*'" glob="eslint*" /%}
|
|
50
24
|
|
|
51
|
-
For example, to
|
|
25
|
+
For example, to check for outdated `@types/*` packages:
|
|
52
26
|
|
|
53
|
-
|
|
54
|
-
$ bun outdated --filter './apps/*'
|
|
55
|
-
```
|
|
27
|
+
{% bunOutdatedTerminal displayGlob="'@types/*'" glob="@types/*" /%}
|
|
56
28
|
|
|
57
|
-
|
|
29
|
+
Or to exclude all `@types/*` packages:
|
|
58
30
|
|
|
59
|
-
|
|
60
|
-
$ bun outdated --filter './apps/*' --filter '!./apps/api'
|
|
61
|
-
```
|
|
31
|
+
{% bunOutdatedTerminal displayGlob="'!@types/*'" glob="!@types/*" /%}
|
|
62
32
|
|
|
63
|
-
|
|
33
|
+
### Workspace Filters
|
|
34
|
+
|
|
35
|
+
Use the `--filter` flag to check for outdated dependencies in a different workspace package:
|
|
36
|
+
|
|
37
|
+
{% bunOutdatedTerminal glob="t*" filter="@monorepo/types" /%}
|
|
38
|
+
|
|
39
|
+
You can pass multiple `--filter` flags to check multiple workspaces:
|
|
40
|
+
|
|
41
|
+
{% bunOutdatedTerminal glob="{e,t}*" displayGlob="--filter @monorepo/types --filter @monorepo/cli" /%}
|
|
42
|
+
|
|
43
|
+
You can also pass glob patterns to filter by workspace names:
|
|
44
|
+
|
|
45
|
+
{% bunOutdatedTerminal glob="{e,t}*" displayGlob="--filter='@monorepo/{types,cli}'" /%}
|
|
46
|
+
|
|
47
|
+
{% bunCLIUsage command="outdated" /%}
|
package/docs/cli/patch-commit.md
CHANGED
|
@@ -7,3 +7,5 @@ To get started with patch, first prepare the package for patching with [`bun pat
|
|
|
7
7
|
By default, `bun patch-commit` will use the `patches` directory in the temporary directory.
|
|
8
8
|
|
|
9
9
|
You can specify a different directory with the `--patches-dir` flag.
|
|
10
|
+
|
|
11
|
+
{% bunCLIUsage command="patch-commit" /%}
|
package/docs/cli/publish.md
CHANGED
|
@@ -7,7 +7,7 @@ Use `bun publish` to publish a package to the npm registry.
|
|
|
7
7
|
$ bun publish
|
|
8
8
|
|
|
9
9
|
## Output
|
|
10
|
-
bun publish v1.2.3-canary.
|
|
10
|
+
bun publish v1.2.3-canary.20250211T140606 (ca7428e9)
|
|
11
11
|
|
|
12
12
|
packed 203B package.json
|
|
13
13
|
packed 224B README.md
|
|
@@ -105,3 +105,4 @@ $ bun publish --otp 123456
|
|
|
105
105
|
### `--gzip-level`
|
|
106
106
|
|
|
107
107
|
Specify the level of gzip compression to use when packing the package. Only applies to `bun publish` without a tarball path argument. Values range from `0` to `9` (default is `9`).
|
|
108
|
+
{% bunCLIUsage command="publish" /%}
|
package/docs/cli/remove.md
CHANGED
package/docs/cli/run.md
CHANGED
|
@@ -205,3 +205,5 @@ When there is a package.json script and a file with the same name, `bun run` pri
|
|
|
205
205
|
2. Source files, eg `bun run src/main.js`
|
|
206
206
|
3. Binaries from project packages, eg `bun add eslint && bun run eslint`
|
|
207
207
|
4. (`bun run` only) System commands, eg `bun run ls`
|
|
208
|
+
|
|
209
|
+
{% bunCLIUsage command="run" /%}
|
package/docs/cli/test.md
CHANGED
package/docs/cli/unlink.md
CHANGED
package/docs/cli/update.md
CHANGED
|
@@ -9,7 +9,7 @@ $ bunx nuxi init my-nuxt-app
|
|
|
9
9
|
✔ Which package manager would you like to use?
|
|
10
10
|
bun
|
|
11
11
|
◐ Installing dependencies...
|
|
12
|
-
bun install v1.2.3-canary.
|
|
12
|
+
bun install v1.2.3-canary.20250211T140606 (16b4bf34)
|
|
13
13
|
+ @nuxt/devtools@0.8.2
|
|
14
14
|
+ nuxt@3.7.0
|
|
15
15
|
785 packages installed [2.67s]
|
|
@@ -16,7 +16,7 @@ This will add the package to `peerDependencies` in `package.json`.
|
|
|
16
16
|
```json-diff
|
|
17
17
|
{
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
+ "@types/bun": "^1.2.3-canary.
|
|
19
|
+
+ "@types/bun": "^1.2.3-canary.20250211T140606"
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
```
|
|
@@ -28,7 +28,7 @@ Running `bun install` will install peer dependencies by default, unless marked o
|
|
|
28
28
|
```json-diff
|
|
29
29
|
{
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"@types/bun": "^1.2.3-canary.
|
|
31
|
+
"@types/bun": "^1.2.3-canary.20250211T140606"
|
|
32
32
|
},
|
|
33
33
|
"peerDependenciesMeta": {
|
|
34
34
|
+ "@types/bun": {
|
|
@@ -97,7 +97,7 @@ $ bun update
|
|
|
97
97
|
$ bun update @types/bun --latest
|
|
98
98
|
|
|
99
99
|
# Update a dependency to a specific version
|
|
100
|
-
$ bun update @types/bun@1.2.3-canary.
|
|
100
|
+
$ bun update @types/bun@1.2.3-canary.20250211T140606
|
|
101
101
|
|
|
102
102
|
# Update all dependencies to the latest versions
|
|
103
103
|
$ bun update --latest
|
|
@@ -21,7 +21,7 @@ Here's what the output of a typical test run looks like. In this case, there are
|
|
|
21
21
|
|
|
22
22
|
```sh
|
|
23
23
|
$ bun test
|
|
24
|
-
bun test v1.2.3-canary.
|
|
24
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
25
25
|
|
|
26
26
|
test.test.js:
|
|
27
27
|
✓ add [0.87ms]
|
|
@@ -47,7 +47,7 @@ To only run certain test files, pass a positional argument to `bun test`. The ru
|
|
|
47
47
|
|
|
48
48
|
```sh
|
|
49
49
|
$ bun test test3
|
|
50
|
-
bun test v1.2.3-canary.
|
|
50
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
51
51
|
|
|
52
52
|
test3.test.js:
|
|
53
53
|
✓ add [1.40ms]
|
|
@@ -85,7 +85,7 @@ Adding `-t add` will only run tests with "add" in the name. This works with test
|
|
|
85
85
|
|
|
86
86
|
```sh
|
|
87
87
|
$ bun test -t add
|
|
88
|
-
bun test v1.2.3-canary.
|
|
88
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
89
89
|
|
|
90
90
|
test.test.js:
|
|
91
91
|
✓ add [1.79ms]
|
|
@@ -18,7 +18,7 @@ The first time this test is executed, Bun will evaluate the value passed into `e
|
|
|
18
18
|
|
|
19
19
|
```sh
|
|
20
20
|
$ bun test test/snap
|
|
21
|
-
bun test v1.2.3-canary.
|
|
21
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
22
22
|
|
|
23
23
|
test/snap.test.ts:
|
|
24
24
|
✓ snapshot [1.48ms]
|
|
@@ -61,7 +61,7 @@ Later, when this test file is executed again, Bun will read the snapshot file an
|
|
|
61
61
|
|
|
62
62
|
```sh
|
|
63
63
|
$ bun test
|
|
64
|
-
bun test v1.2.3-canary.
|
|
64
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
65
65
|
|
|
66
66
|
test/snap.test.ts:
|
|
67
67
|
✓ snapshot [1.05ms]
|
|
@@ -78,7 +78,7 @@ To update snapshots, use the `--update-snapshots` flag.
|
|
|
78
78
|
|
|
79
79
|
```sh
|
|
80
80
|
$ bun test --update-snapshots
|
|
81
|
-
bun test v1.2.3-canary.
|
|
81
|
+
bun test v1.2.3-canary.20250211T140606 (9c68abdb)
|
|
82
82
|
|
|
83
83
|
test/snap.test.ts:
|
|
84
84
|
✓ snapshot [0.86ms]
|
package/docs/install/patch.md
CHANGED
package/docs/installation.md
CHANGED
|
@@ -14,7 +14,7 @@ Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1. Us
|
|
|
14
14
|
```bash#macOS/Linux_(curl)
|
|
15
15
|
$ curl -fsSL https://bun.sh/install | bash # for macOS, Linux, and WSL
|
|
16
16
|
# to install a specific version
|
|
17
|
-
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.
|
|
17
|
+
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250211T140606"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
```bash#npm
|
|
@@ -94,7 +94,9 @@ $ bun --revision
|
|
|
94
94
|
|
|
95
95
|
If you've installed Bun but are seeing a `command not found` error, you may have to manually add the installation directory (`~/.bun/bin`) to your `PATH`.
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
### How to add your `PATH`
|
|
98
|
+
|
|
99
|
+
{% details summary="Linux / Mac" %}
|
|
98
100
|
First, determine what shell you're using:
|
|
99
101
|
|
|
100
102
|
```sh
|
|
@@ -129,6 +131,26 @@ Save the file. You'll need to open a new shell/terminal window for the changes t
|
|
|
129
131
|
|
|
130
132
|
{% /details %}
|
|
131
133
|
|
|
134
|
+
{% details summary="Windows" %}
|
|
135
|
+
First, determine if the bun binary is properly installed on your system:
|
|
136
|
+
|
|
137
|
+
```pwsh
|
|
138
|
+
& "$env:USERPROFILE\.bun\bin\bun" --version
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If the command runs successfully but `bun --version` is not recognized, it means that bun is not in your system's `PATH`. To fix this, open a Powershell terminal and run the following command:
|
|
142
|
+
|
|
143
|
+
```pwsh
|
|
144
|
+
[System.Environment]::SetEnvironmentVariable(
|
|
145
|
+
"Path",
|
|
146
|
+
[System.Environment]::GetEnvironmentVariable("Path", "User") + ";$env:USERPROFILE\.bun\bin",
|
|
147
|
+
[System.EnvironmentVariableTarget]::User
|
|
148
|
+
)
|
|
149
|
+
```
|
|
150
|
+
After running the command, restart your terminal and test with `bun --version`
|
|
151
|
+
|
|
152
|
+
{% /details %}
|
|
153
|
+
|
|
132
154
|
## Upgrading
|
|
133
155
|
|
|
134
156
|
Once installed, the binary can upgrade itself.
|
|
@@ -166,10 +188,10 @@ Since Bun is a single binary, you can install older versions of Bun by re-runnin
|
|
|
166
188
|
|
|
167
189
|
### Installing a specific version of Bun on Linux/Mac
|
|
168
190
|
|
|
169
|
-
To install a specific version of Bun, you can pass the git tag of the version you want to install to the install script, such as `bun-v1.2.0` or `bun-v1.2.3-canary.
|
|
191
|
+
To install a specific version of Bun, you can pass the git tag of the version you want to install to the install script, such as `bun-v1.2.0` or `bun-v1.2.3-canary.20250211T140606`.
|
|
170
192
|
|
|
171
193
|
```sh
|
|
172
|
-
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.
|
|
194
|
+
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250211T140606"
|
|
173
195
|
```
|
|
174
196
|
|
|
175
197
|
### Installing a specific version of Bun on Windows
|
|
@@ -178,7 +200,7 @@ On Windows, you can install a specific version of Bun by passing the version num
|
|
|
178
200
|
|
|
179
201
|
```sh
|
|
180
202
|
# PowerShell:
|
|
181
|
-
$ iex "& {$(irm https://bun.sh/install.ps1)} -Version 1.2.3-canary.
|
|
203
|
+
$ iex "& {$(irm https://bun.sh/install.ps1)} -Version 1.2.3-canary.20250211T140606"
|
|
182
204
|
```
|
|
183
205
|
|
|
184
206
|
## Downloading Bun binaries directly
|
package/docs/runtime/debugger.md
CHANGED
|
@@ -124,11 +124,11 @@ await fetch("https://example.com", {
|
|
|
124
124
|
This prints the `fetch` request as a single-line `curl` command to let you copy-paste into your terminal to replicate the request.
|
|
125
125
|
|
|
126
126
|
```sh
|
|
127
|
-
[fetch] $ curl --http1.1 "https://example.com/" -X POST -H "content-type: application/json" -H "Connection: keep-alive" -H "User-Agent: Bun/1.2.3-canary.
|
|
127
|
+
[fetch] $ curl --http1.1 "https://example.com/" -X POST -H "content-type: application/json" -H "Connection: keep-alive" -H "User-Agent: Bun/1.2.3-canary.20250211T140606" -H "Accept: */*" -H "Host: example.com" -H "Accept-Encoding: gzip, deflate, br" --compressed -H "Content-Length: 13" --data-raw "{\"foo\":\"bar\"}"
|
|
128
128
|
[fetch] > HTTP/1.1 POST https://example.com/
|
|
129
129
|
[fetch] > content-type: application/json
|
|
130
130
|
[fetch] > Connection: keep-alive
|
|
131
|
-
[fetch] > User-Agent: Bun/1.2.3-canary.
|
|
131
|
+
[fetch] > User-Agent: Bun/1.2.3-canary.20250211T140606
|
|
132
132
|
[fetch] > Accept: */*
|
|
133
133
|
[fetch] > Host: example.com
|
|
134
134
|
[fetch] > Accept-Encoding: gzip, deflate, br
|
|
@@ -170,7 +170,7 @@ This prints the following to the console:
|
|
|
170
170
|
[fetch] > HTTP/1.1 POST https://example.com/
|
|
171
171
|
[fetch] > content-type: application/json
|
|
172
172
|
[fetch] > Connection: keep-alive
|
|
173
|
-
[fetch] > User-Agent: Bun/1.2.3-canary.
|
|
173
|
+
[fetch] > User-Agent: Bun/1.2.3-canary.20250211T140606
|
|
174
174
|
[fetch] > Accept: */*
|
|
175
175
|
[fetch] > Host: example.com
|
|
176
176
|
[fetch] > Accept-Encoding: gzip, deflate, br
|
package/docs/runtime/shell.md
CHANGED
|
@@ -56,9 +56,9 @@ By default, `await`ing will return stdout and stderr as `Buffer`s.
|
|
|
56
56
|
```js
|
|
57
57
|
import { $ } from "bun";
|
|
58
58
|
|
|
59
|
-
const { stdout, stderr } = await $`echo "Hello
|
|
59
|
+
const { stdout, stderr } = await $`echo "Hello!"`.quiet();
|
|
60
60
|
|
|
61
|
-
console.log(stdout); // Buffer(
|
|
61
|
+
console.log(stdout); // Buffer(7) [ 72, 101, 108, 108, 111, 33, 10 ]
|
|
62
62
|
console.log(stderr); // Buffer(0) []
|
|
63
63
|
```
|
|
64
64
|
|
package/docs/test/dom.md
CHANGED
package/package.json
CHANGED
package/docs/cli/bun-dev.md
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
In your project folder root (where `package.json` is):
|
|
2
|
-
|
|
3
|
-
```bash
|
|
4
|
-
$ bun bun ./entry-point-1.js ./entry-point-2.jsx
|
|
5
|
-
$ bun dev
|
|
6
|
-
```
|
|
7
|
-
|
|
8
|
-
By default, `bun dev` will look for any HTML files in the `public` directory and serve that. For browsers navigating to the page, the `.html` file extension is optional in the URL, and `index.html` will automatically rewrite for the directory.
|
|
9
|
-
|
|
10
|
-
Here are examples of routing from `public/` and how they’re matched:
|
|
11
|
-
| Dev Server URL | File Path |
|
|
12
|
-
|----------------|-----------|
|
|
13
|
-
| /dir | public/dir/index.html |
|
|
14
|
-
| / | public/index.html |
|
|
15
|
-
| /index | public/index.html |
|
|
16
|
-
| /hi | public/hi.html |
|
|
17
|
-
| /file | public/file.html |
|
|
18
|
-
| /font/Inter.woff2 | public/font/Inter.woff2 |
|
|
19
|
-
| /hello | public/index.html |
|
|
20
|
-
|
|
21
|
-
If `public/index.html` exists, it becomes the default page instead of a 404 page, unless that pathname has a file extension.
|