bun-types 1.2.21-canary.20250822T140708 → 1.2.21-canary.20250824T140615
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 +285 -0
- package/docs/api/fetch.md +1 -1
- package/docs/api/secrets.md +319 -0
- package/docs/api/spawn.md +1 -1
- package/docs/api/yaml.md +459 -0
- package/docs/bundler/executables.md +107 -4
- package/docs/bundler/index.md +1 -1
- package/docs/bundler/loaders.md +50 -1
- package/docs/cli/pm.md +1 -1
- package/docs/cli/publish.md +1 -1
- 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/runtime/import-yaml.md +76 -0
- 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/installation.md +4 -4
- package/docs/runtime/bun-apis.md +2 -2
- package/docs/runtime/bunfig.md +1 -0
- package/docs/runtime/debugger.md +3 -3
- package/docs/runtime/index.md +5 -2
- package/docs/runtime/loaders.md +5 -2
- package/docs/test/dom.md +1 -1
- package/extensions.d.ts +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Import a YAML file
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Bun natively supports `.yaml` and `.yml` imports.
|
|
6
|
+
|
|
7
|
+
```yaml#config.yaml
|
|
8
|
+
database:
|
|
9
|
+
host: localhost
|
|
10
|
+
port: 5432
|
|
11
|
+
name: myapp
|
|
12
|
+
|
|
13
|
+
server:
|
|
14
|
+
port: 3000
|
|
15
|
+
timeout: 30
|
|
16
|
+
|
|
17
|
+
features:
|
|
18
|
+
auth: true
|
|
19
|
+
rateLimit: true
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
Import the file like any other source file.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import config from "./config.yaml";
|
|
28
|
+
|
|
29
|
+
config.database.host; // => "localhost"
|
|
30
|
+
config.server.port; // => 3000
|
|
31
|
+
config.features.auth; // => true
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
You can also use named imports to destructure top-level properties:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import { database, server, features } from "./config.yaml";
|
|
40
|
+
|
|
41
|
+
console.log(database.name); // => "myapp"
|
|
42
|
+
console.log(server.timeout); // => 30
|
|
43
|
+
console.log(features.rateLimit); // => true
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
Bun also supports [Import Attributes](https://github.com/tc39/proposal-import-attributes) syntax:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import config from "./config.yaml" with { type: "yaml" };
|
|
52
|
+
|
|
53
|
+
config.database.port; // => 5432
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
For parsing YAML strings at runtime, use `Bun.YAML.parse()`:
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
const yamlString = `
|
|
62
|
+
name: John Doe
|
|
63
|
+
age: 30
|
|
64
|
+
hobbies:
|
|
65
|
+
- reading
|
|
66
|
+
- coding
|
|
67
|
+
`;
|
|
68
|
+
|
|
69
|
+
const data = Bun.YAML.parse(yamlString);
|
|
70
|
+
console.log(data.name); // => "John Doe"
|
|
71
|
+
console.log(data.hobbies); // => ["reading", "coding"]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
See [Docs > API > YAML](https://bun.com/docs/api/yaml) for complete documentation on YAML support in Bun.
|
|
@@ -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.21-canary.
|
|
24
|
+
bun test v1.2.21-canary.20250824T140615 (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.21-canary.
|
|
50
|
+
bun test v1.2.21-canary.20250824T140615 (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.21-canary.
|
|
88
|
+
bun test v1.2.21-canary.20250824T140615 (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.21-canary.
|
|
21
|
+
bun test v1.2.21-canary.20250824T140615 (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.21-canary.
|
|
64
|
+
bun test v1.2.21-canary.20250824T140615 (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.21-canary.
|
|
81
|
+
bun test v1.2.21-canary.20250824T140615 (9c68abdb)
|
|
82
82
|
|
|
83
83
|
test/snap.test.ts:
|
|
84
84
|
✓ snapshot [0.86ms]
|
|
@@ -29,7 +29,7 @@ To regenerate snapshots, use the `--update-snapshots` flag.
|
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
31
|
$ bun test --update-snapshots
|
|
32
|
-
bun test v1.2.21-canary.
|
|
32
|
+
bun test v1.2.21-canary.20250824T140615 (9c68abdb)
|
|
33
33
|
|
|
34
34
|
test/snap.test.ts:
|
|
35
35
|
✓ snapshot [0.86ms]
|
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.com/install | bash # for macOS, Linux, and WSL
|
|
16
16
|
# to install a specific version
|
|
17
|
-
$ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.21-canary.
|
|
17
|
+
$ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.21-canary.20250824T140615"
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
```bash#npm
|
|
@@ -189,10 +189,10 @@ Since Bun is a single binary, you can install older versions of Bun by re-runnin
|
|
|
189
189
|
|
|
190
190
|
### Installing a specific version of Bun on Linux/Mac
|
|
191
191
|
|
|
192
|
-
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.21-canary.
|
|
192
|
+
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.21-canary.20250824T140615`.
|
|
193
193
|
|
|
194
194
|
```sh
|
|
195
|
-
$ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.21-canary.
|
|
195
|
+
$ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.21-canary.20250824T140615"
|
|
196
196
|
```
|
|
197
197
|
|
|
198
198
|
### Installing a specific version of Bun on Windows
|
|
@@ -201,7 +201,7 @@ On Windows, you can install a specific version of Bun by passing the version num
|
|
|
201
201
|
|
|
202
202
|
```sh
|
|
203
203
|
# PowerShell:
|
|
204
|
-
$ iex "& {$(irm https://bun.com/install.ps1)} -Version 1.2.21-canary.
|
|
204
|
+
$ iex "& {$(irm https://bun.com/install.ps1)} -Version 1.2.21-canary.20250824T140615"
|
|
205
205
|
```
|
|
206
206
|
|
|
207
207
|
## Downloading Bun binaries directly
|
package/docs/runtime/bun-apis.md
CHANGED
|
@@ -195,12 +195,12 @@ Click the link in the right column to jump to the associated documentation.
|
|
|
195
195
|
---
|
|
196
196
|
|
|
197
197
|
- Parsing & Formatting
|
|
198
|
-
- [`Bun.semver`](https://bun.com/docs/api/semver), `Bun.TOML.parse`, [`Bun.color`](https://bun.com/docs/api/color)
|
|
198
|
+
- [`Bun.semver`](https://bun.com/docs/api/semver), `Bun.TOML.parse`, [`Bun.YAML.parse`](https://bun.com/docs/api/yaml), [`Bun.color`](https://bun.com/docs/api/color)
|
|
199
199
|
|
|
200
200
|
---
|
|
201
201
|
|
|
202
202
|
- Low-level / Internals
|
|
203
|
-
- `Bun.mmap`, `Bun.gc`, `Bun.generateHeapSnapshot`, [`bun:jsc`](https://bun.com/
|
|
203
|
+
- `Bun.mmap`, `Bun.gc`, `Bun.generateHeapSnapshot`, [`bun:jsc`](https://bun.com/reference/bun/jsc)
|
|
204
204
|
|
|
205
205
|
---
|
|
206
206
|
|
package/docs/runtime/bunfig.md
CHANGED
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.21-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.21-canary.20250824T140615" -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.21-canary.
|
|
131
|
+
[fetch] > User-Agent: Bun/1.2.21-canary.20250824T140615
|
|
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.21-canary.
|
|
173
|
+
[fetch] > User-Agent: Bun/1.2.21-canary.20250824T140615
|
|
174
174
|
[fetch] > Accept: */*
|
|
175
175
|
[fetch] > Host: example.com
|
|
176
176
|
[fetch] > Accept-Encoding: gzip, deflate, br
|
package/docs/runtime/index.md
CHANGED
|
@@ -92,15 +92,18 @@ every file before execution. Its transpiler can directly run TypeScript and JSX
|
|
|
92
92
|
|
|
93
93
|
## JSX
|
|
94
94
|
|
|
95
|
-
## JSON and
|
|
95
|
+
## JSON, TOML, and YAML
|
|
96
96
|
|
|
97
|
-
Source files can import
|
|
97
|
+
Source files can import `*.json`, `*.toml`, or `*.yaml` files to load their contents as plain JavaScript objects.
|
|
98
98
|
|
|
99
99
|
```ts
|
|
100
100
|
import pkg from "./package.json";
|
|
101
101
|
import bunfig from "./bunfig.toml";
|
|
102
|
+
import config from "./config.yaml";
|
|
102
103
|
```
|
|
103
104
|
|
|
105
|
+
See the [YAML API documentation](/docs/api/yaml) for more details on YAML support.
|
|
106
|
+
|
|
104
107
|
## WASI
|
|
105
108
|
|
|
106
109
|
{% callout %}
|
package/docs/runtime/loaders.md
CHANGED
|
@@ -52,15 +52,18 @@ Hello world!
|
|
|
52
52
|
|
|
53
53
|
{% /codetabs %}
|
|
54
54
|
|
|
55
|
-
## JSON and
|
|
55
|
+
## JSON, TOML, and YAML
|
|
56
56
|
|
|
57
|
-
JSON and
|
|
57
|
+
JSON, TOML, and YAML files can be directly imported from a source file. The contents will be loaded and returned as a JavaScript object.
|
|
58
58
|
|
|
59
59
|
```ts
|
|
60
60
|
import pkg from "./package.json";
|
|
61
61
|
import data from "./data.toml";
|
|
62
|
+
import config from "./config.yaml";
|
|
62
63
|
```
|
|
63
64
|
|
|
65
|
+
For more details on YAML support, see the [YAML API documentation](/docs/api/yaml).
|
|
66
|
+
|
|
64
67
|
## WASI
|
|
65
68
|
|
|
66
69
|
{% callout %}
|
package/docs/test/dom.md
CHANGED
package/extensions.d.ts
CHANGED
|
@@ -8,6 +8,16 @@ declare module "*.toml" {
|
|
|
8
8
|
export = contents;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
declare module "*.yaml" {
|
|
12
|
+
var contents: any;
|
|
13
|
+
export = contents;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare module "*.yml" {
|
|
17
|
+
var contents: any;
|
|
18
|
+
export = contents;
|
|
19
|
+
}
|
|
20
|
+
|
|
11
21
|
declare module "*.jsonc" {
|
|
12
22
|
var contents: any;
|
|
13
23
|
export = contents;
|
package/package.json
CHANGED