bun-types 1.2.19-canary.20250710T140803 → 1.2.19-canary.20250712T140547

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 CHANGED
@@ -3510,7 +3510,13 @@ declare module "bun" {
3510
3510
  [K in HTTPMethod]?: RouteHandlerWithWebSocketUpgrade<T>;
3511
3511
  };
3512
3512
 
3513
- type RouteValue<T extends string> = Response | false | RouteHandler<T> | RouteHandlerObject<T> | HTMLBundle;
3513
+ type RouteValue<T extends string> =
3514
+ | Response
3515
+ | false
3516
+ | RouteHandler<T>
3517
+ | RouteHandlerObject<T>
3518
+ | HTMLBundle
3519
+ | BunFile;
3514
3520
  type RouteValueWithWebSocketUpgrade<T extends string> =
3515
3521
  | RouteValue<T>
3516
3522
  | RouteHandlerWithWebSocketUpgrade<T>
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.19-canary.20250710T140803
340
+ [fetch] > User-Agent: Bun/1.2.19-canary.20250712T140547
341
341
  [fetch] > Accept: */*
342
342
  [fetch] > Host: example.com
343
343
  [fetch] > Accept-Encoding: gzip, deflate, br
package/docs/api/spawn.md CHANGED
@@ -140,7 +140,7 @@ You can read results from the subprocess via the `stdout` and `stderr` propertie
140
140
  ```ts
141
141
  const proc = Bun.spawn(["bun", "--version"]);
142
142
  const text = await proc.stdout.text();
143
- console.log(text); // => "1.2.19-canary.20250710T140803\n"
143
+ console.log(text); // => "1.2.19-canary.20250712T140547\n"
144
144
  ```
145
145
 
146
146
  Configure the output stream by passing one of the following values to `stdout/stderr`:
@@ -126,6 +126,42 @@ The `--sourcemap` argument embeds a sourcemap compressed with zstd, so that erro
126
126
 
127
127
  The `--bytecode` argument enables bytecode compilation. Every time you run JavaScript code in Bun, JavaScriptCore (the engine) will compile your source code into bytecode. We can move this parsing work from runtime to bundle time, saving you startup time.
128
128
 
129
+ ## Act as the Bun CLI
130
+
131
+ {% note %}
132
+
133
+ New in Bun v1.2.16
134
+
135
+ {% /note %}
136
+
137
+ You can run a standalone executable as if it were the `bun` CLI itself by setting the `BUN_BE_BUN=1` environment variable. When this variable is set, the executable will ignore its bundled entrypoint and instead expose all the features of Bun's CLI.
138
+
139
+ For example, consider an executable compiled from a simple script:
140
+
141
+ ```sh
142
+ $ cat such-bun.js
143
+ console.log("you shouldn't see this");
144
+
145
+ $ bun build --compile ./such-bun.js
146
+ [3ms] bundle 1 modules
147
+ [89ms] compile such-bun
148
+ ```
149
+
150
+ Normally, running `./such-bun` with arguments would execute the script. However, with the `BUN_BE_BUN=1` environment variable, it acts just like the `bun` binary:
151
+
152
+ ```sh
153
+ # Executable runs its own entrypoint by default
154
+ $ ./such-bun install
155
+ you shouldn't see this
156
+
157
+ # With the env var, the executable acts like the `bun` CLI
158
+ $ BUN_BE_BUN=1 ./such-bun install
159
+ bun install v1.2.16-canary.1 (1d1db811)
160
+ Checked 63 installs across 64 packages (no changes) [5.00ms]
161
+ ```
162
+
163
+ This is useful for building CLI tools on top of Bun that may need to install packages, bundle dependencies, run different or local files and more without needing to download a separate binary or install bun.
164
+
129
165
  ## Full-stack executables
130
166
 
131
167
  {% note %}
package/docs/cli/pm.md CHANGED
@@ -158,7 +158,7 @@ To display current package version and help:
158
158
 
159
159
  ```bash
160
160
  $ bun pm version
161
- bun pm version v1.2.19-canary.20250710T140803 (ca7428e9)
161
+ bun pm version v1.2.19-canary.20250712T140547 (ca7428e9)
162
162
  Current package version: v1.0.0
163
163
 
164
164
  Increment:
@@ -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.19-canary.20250710T140803 (ca7428e9)
10
+ bun publish v1.2.19-canary.20250712T140547 (ca7428e9)
11
11
 
12
12
  packed 203B package.json
13
13
  packed 224B README.md
@@ -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.19-canary.20250710T140803 (16b4bf34)
12
+ bun install v1.2.19-canary.20250712T140547 (16b4bf34)
13
13
  + @nuxt/devtools@0.8.2
14
14
  + nuxt@3.7.0
15
15
  785 packages installed [2.67s]
@@ -15,7 +15,7 @@ This will add the package to `peerDependencies` in `package.json`.
15
15
  ```json-diff
16
16
  {
17
17
  "peerDependencies": {
18
- + "@types/bun": "^1.2.19-canary.20250710T140803"
18
+ + "@types/bun": "^1.2.19-canary.20250712T140547"
19
19
  }
20
20
  }
21
21
  ```
@@ -27,7 +27,7 @@ Running `bun install` will install peer dependencies by default, unless marked o
27
27
  ```json-diff
28
28
  {
29
29
  "peerDependencies": {
30
- "@types/bun": "^1.2.19-canary.20250710T140803"
30
+ "@types/bun": "^1.2.19-canary.20250712T140547"
31
31
  },
32
32
  "peerDependenciesMeta": {
33
33
  + "@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.19-canary.20250710T140803
100
+ $ bun update @types/bun@1.2.19-canary.20250712T140547
101
101
 
102
102
  # Update all dependencies to the latest versions
103
103
  $ bun update --latest
@@ -26,6 +26,40 @@ But if you'd rather switch to the `bun:test` imports, you can do that too.
26
26
 
27
27
  ---
28
28
 
29
+ Since Bun v1.2.19, you can enable **TypeScript support** for global test functions with a single triple-slash directive. This makes migrating from Jest even easier since you only need to add the directive once in your entire project:
30
+
31
+ Add this directive to _just one file_ in your project, such as:
32
+
33
+ - A `global.d.ts` file in your project root
34
+ - Your test `preload.ts` setup file (if using `preload` in bunfig.toml)
35
+ - Any single `.ts` file that TypeScript includes in your compilation
36
+
37
+ ```ts
38
+ /// <reference types="bun/test-globals" />
39
+ ```
40
+
41
+ ---
42
+
43
+ Once added, all test files in your project automatically get TypeScript support for Jest globals:
44
+
45
+ ```ts#math.test.ts
46
+ describe("my test suite", () => {
47
+ test("should work", () => {
48
+ expect(1 + 1).toBe(2);
49
+ });
50
+
51
+ beforeAll(() => {
52
+ // setup code
53
+ });
54
+
55
+ afterEach(() => {
56
+ // cleanup code
57
+ });
58
+ });
59
+ ```
60
+
61
+ ---
62
+
29
63
  Bun implements the vast majority of Jest's matchers, but compatibility isn't 100% yet. Refer to the full compatibility table at [Docs > Test runner > Writing tests](https://bun.sh/docs/test/writing#matchers).
30
64
 
31
65
  Some notable missing features:
@@ -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.19-canary.20250710T140803 (9c68abdb)
24
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
50
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
88
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
21
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
64
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
81
+ bun test v1.2.19-canary.20250712T140547 (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.19-canary.20250710T140803 (9c68abdb)
32
+ bun test v1.2.19-canary.20250712T140547 (9c68abdb)
33
33
 
34
34
  test/snap.test.ts:
35
35
  ✓ snapshot [0.86ms]
@@ -5,7 +5,7 @@ name: Get the current Bun version
5
5
  Get the current version of Bun in a semver format.
6
6
 
7
7
  ```ts#index.ts
8
- Bun.version; // => "1.2.19-canary.20250710T140803"
8
+ Bun.version; // => "1.2.19-canary.20250712T140547"
9
9
  ```
10
10
 
11
11
  ---
@@ -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.19-canary.20250710T140803"
17
+ $ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.19-canary.20250712T140547"
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.19-canary.20250710T140803`.
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.19-canary.20250712T140547`.
193
193
 
194
194
  ```sh
195
- $ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.19-canary.20250710T140803"
195
+ $ curl -fsSL https://bun.com/install | bash -s "bun-v1.2.19-canary.20250712T140547"
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.19-canary.20250710T140803"
204
+ $ iex "& {$(irm https://bun.com/install.ps1)} -Version 1.2.19-canary.20250712T140547"
205
205
  ```
206
206
 
207
207
  ## Downloading Bun binaries directly
@@ -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.19-canary.20250710T140803" -H "Accept: */*" -H "Host: example.com" -H "Accept-Encoding: gzip, deflate, br" --compressed -H "Content-Length: 13" --data-raw "{\"foo\":\"bar\"}"
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.19-canary.20250712T140547" -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.19-canary.20250710T140803
131
+ [fetch] > User-Agent: Bun/1.2.19-canary.20250712T140547
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.19-canary.20250710T140803
173
+ [fetch] > User-Agent: Bun/1.2.19-canary.20250712T140547
174
174
  [fetch] > Accept: */*
175
175
  [fetch] > Host: example.com
176
176
  [fetch] > Accept-Encoding: gzip, deflate, br
package/docs/test/dom.md CHANGED
@@ -55,7 +55,7 @@ Let's run this test with `bun test`:
55
55
 
56
56
  ```bash
57
57
  $ bun test
58
- bun test v1.2.19-canary.20250710T140803
58
+ bun test v1.2.19-canary.20250712T140547
59
59
 
60
60
  dom.test.ts:
61
61
  ✓ dom test [0.82ms]
package/globals.d.ts CHANGED
@@ -1,22 +1,35 @@
1
1
  declare module "bun" {
2
2
  namespace __internal {
3
- type NodeWorkerThreadsWorker = import("node:worker_threads").Worker;
4
- type LibWorkerOrBunWorker = Bun.__internal.UseLibDomIfAvailable<"Worker", Bun.Worker>;
5
-
6
- type LibPerformanceOrNodePerfHooksPerformance = Bun.__internal.UseLibDomIfAvailable<
7
- "Performance",
8
- import("perf_hooks").Performance
9
- >;
10
-
11
3
  type NodeCryptoWebcryptoSubtleCrypto = import("crypto").webcrypto.SubtleCrypto;
12
4
  type NodeCryptoWebcryptoCryptoKey = import("crypto").webcrypto.CryptoKey;
13
5
  type NodeCryptoWebcryptoCryptoKeyPair = import("crypto").webcrypto.CryptoKeyPair;
14
6
 
7
+ type LibWorkerOrBunWorker = LibDomIsLoaded extends true ? {} : Bun.Worker;
15
8
  type LibEmptyOrBunWebSocket = LibDomIsLoaded extends true ? {} : Bun.WebSocket;
16
9
 
10
+ type LibPerformanceOrNodePerfHooksPerformance = LibDomIsLoaded extends true ? {} : import("perf_hooks").Performance;
11
+ type LibEmptyOrPerformanceEntry = LibDomIsLoaded extends true ? {} : import("node:perf_hooks").PerformanceEntry;
12
+ type LibEmptyOrPerformanceMark = LibDomIsLoaded extends true ? {} : import("node:perf_hooks").PerformanceMark;
13
+ type LibEmptyOrPerformanceMeasure = LibDomIsLoaded extends true ? {} : import("node:perf_hooks").PerformanceMeasure;
14
+ type LibEmptyOrPerformanceObserver = LibDomIsLoaded extends true
15
+ ? {}
16
+ : import("node:perf_hooks").PerformanceObserver;
17
+ type LibEmptyOrPerformanceObserverEntryList = LibDomIsLoaded extends true
18
+ ? {}
19
+ : import("node:perf_hooks").PerformanceObserverEntryList;
20
+ type LibEmptyOrPerformanceResourceTiming = LibDomIsLoaded extends true
21
+ ? {}
22
+ : import("node:perf_hooks").PerformanceResourceTiming;
23
+
17
24
  type LibEmptyOrNodeUtilTextEncoder = LibDomIsLoaded extends true ? {} : import("node:util").TextEncoder;
25
+ type LibEmptyOrNodeStreamWebTextEncoderStream = LibDomIsLoaded extends true
26
+ ? {}
27
+ : import("node:stream/web").TextEncoderStream;
18
28
 
19
29
  type LibEmptyOrNodeUtilTextDecoder = LibDomIsLoaded extends true ? {} : import("node:util").TextDecoder;
30
+ type LibEmptyOrNodeStreamWebTextDecoderStream = LibDomIsLoaded extends true
31
+ ? {}
32
+ : import("node:stream/web").TextDecoderStream;
20
33
 
21
34
  type LibEmptyOrNodeReadableStream<T> = LibDomIsLoaded extends true
22
35
  ? {}
@@ -27,6 +40,20 @@ declare module "bun" {
27
40
  : import("node:stream/web").WritableStream<T>;
28
41
 
29
42
  type LibEmptyOrNodeMessagePort = LibDomIsLoaded extends true ? {} : import("node:worker_threads").MessagePort;
43
+ type LibEmptyOrBroadcastChannel = LibDomIsLoaded extends true ? {} : import("node:worker_threads").BroadcastChannel;
44
+ type LibEmptyOrEventSource = LibDomIsLoaded extends true ? {} : import("undici-types").EventSource;
45
+
46
+ type LibEmptyOrReadableByteStreamController = LibDomIsLoaded extends true
47
+ ? {}
48
+ : import("node:stream/web").ReadableByteStreamController;
49
+
50
+ type LibEmptyOrReadableStreamBYOBReader = LibDomIsLoaded extends true
51
+ ? {}
52
+ : import("node:stream/web").ReadableStreamBYOBReader;
53
+
54
+ type LibEmptyOrReadableStreamBYOBRequest = LibDomIsLoaded extends true
55
+ ? {}
56
+ : import("node:stream/web").ReadableStreamBYOBRequest;
30
57
  }
31
58
  }
32
59
 
@@ -1489,7 +1516,7 @@ interface Uint8ArrayConstructor {
1489
1516
  fromHex(hex: string): Uint8Array;
1490
1517
  }
1491
1518
 
1492
- interface BroadcastChannel {}
1519
+ interface BroadcastChannel extends Bun.__internal.LibEmptyOrBroadcastChannel {}
1493
1520
  declare var BroadcastChannel: Bun.__internal.UseLibDomIfAvailable<
1494
1521
  "BroadcastChannel",
1495
1522
  typeof import("node:worker_threads").BroadcastChannel
@@ -1593,7 +1620,7 @@ interface FormData {
1593
1620
  }
1594
1621
  declare var FormData: Bun.__internal.UseLibDomIfAvailable<"FormData", { prototype: FormData; new (): FormData }>;
1595
1622
 
1596
- interface EventSource {}
1623
+ interface EventSource extends Bun.__internal.LibEmptyOrEventSource {}
1597
1624
  declare var EventSource: Bun.__internal.UseLibDomIfAvailable<
1598
1625
  "EventSource",
1599
1626
  { prototype: EventSource; new (): EventSource }
@@ -1602,67 +1629,67 @@ declare var EventSource: Bun.__internal.UseLibDomIfAvailable<
1602
1629
  interface Performance extends Bun.__internal.LibPerformanceOrNodePerfHooksPerformance {}
1603
1630
  declare var performance: Bun.__internal.UseLibDomIfAvailable<"performance", Performance>;
1604
1631
 
1605
- interface PerformanceEntry {}
1632
+ interface PerformanceEntry extends Bun.__internal.LibEmptyOrPerformanceEntry {}
1606
1633
  declare var PerformanceEntry: Bun.__internal.UseLibDomIfAvailable<
1607
1634
  "PerformanceEntry",
1608
1635
  { prototype: PerformanceEntry; new (): PerformanceEntry }
1609
1636
  >;
1610
1637
 
1611
- interface PerformanceMark {}
1638
+ interface PerformanceMark extends Bun.__internal.LibEmptyOrPerformanceMark {}
1612
1639
  declare var PerformanceMark: Bun.__internal.UseLibDomIfAvailable<
1613
1640
  "PerformanceMark",
1614
1641
  { prototype: PerformanceMark; new (): PerformanceMark }
1615
1642
  >;
1616
1643
 
1617
- interface PerformanceMeasure {}
1644
+ interface PerformanceMeasure extends Bun.__internal.LibEmptyOrPerformanceMeasure {}
1618
1645
  declare var PerformanceMeasure: Bun.__internal.UseLibDomIfAvailable<
1619
1646
  "PerformanceMeasure",
1620
1647
  { prototype: PerformanceMeasure; new (): PerformanceMeasure }
1621
1648
  >;
1622
1649
 
1623
- interface PerformanceObserver {}
1650
+ interface PerformanceObserver extends Bun.__internal.LibEmptyOrPerformanceObserver {}
1624
1651
  declare var PerformanceObserver: Bun.__internal.UseLibDomIfAvailable<
1625
1652
  "PerformanceObserver",
1626
1653
  { prototype: PerformanceObserver; new (): PerformanceObserver }
1627
1654
  >;
1628
1655
 
1629
- interface PerformanceObserverEntryList {}
1656
+ interface PerformanceObserverEntryList extends Bun.__internal.LibEmptyOrPerformanceObserverEntryList {}
1630
1657
  declare var PerformanceObserverEntryList: Bun.__internal.UseLibDomIfAvailable<
1631
1658
  "PerformanceObserverEntryList",
1632
1659
  { prototype: PerformanceObserverEntryList; new (): PerformanceObserverEntryList }
1633
1660
  >;
1634
1661
 
1635
- interface PerformanceResourceTiming {}
1662
+ interface PerformanceResourceTiming extends Bun.__internal.LibEmptyOrPerformanceResourceTiming {}
1636
1663
  declare var PerformanceResourceTiming: Bun.__internal.UseLibDomIfAvailable<
1637
1664
  "PerformanceResourceTiming",
1638
1665
  { prototype: PerformanceResourceTiming; new (): PerformanceResourceTiming }
1639
1666
  >;
1640
1667
 
1641
- interface ReadableByteStreamController {}
1668
+ interface ReadableByteStreamController extends Bun.__internal.LibEmptyOrReadableByteStreamController {}
1642
1669
  declare var ReadableByteStreamController: Bun.__internal.UseLibDomIfAvailable<
1643
1670
  "ReadableByteStreamController",
1644
1671
  { prototype: ReadableByteStreamController; new (): ReadableByteStreamController }
1645
1672
  >;
1646
1673
 
1647
- interface ReadableStreamBYOBReader {}
1674
+ interface ReadableStreamBYOBReader extends Bun.__internal.LibEmptyOrReadableStreamBYOBReader {}
1648
1675
  declare var ReadableStreamBYOBReader: Bun.__internal.UseLibDomIfAvailable<
1649
1676
  "ReadableStreamBYOBReader",
1650
1677
  { prototype: ReadableStreamBYOBReader; new (): ReadableStreamBYOBReader }
1651
1678
  >;
1652
1679
 
1653
- interface ReadableStreamBYOBRequest {}
1680
+ interface ReadableStreamBYOBRequest extends Bun.__internal.LibEmptyOrReadableStreamBYOBRequest {}
1654
1681
  declare var ReadableStreamBYOBRequest: Bun.__internal.UseLibDomIfAvailable<
1655
1682
  "ReadableStreamBYOBRequest",
1656
1683
  { prototype: ReadableStreamBYOBRequest; new (): ReadableStreamBYOBRequest }
1657
1684
  >;
1658
1685
 
1659
- interface TextDecoderStream {}
1686
+ interface TextDecoderStream extends Bun.__internal.LibEmptyOrNodeStreamWebTextDecoderStream {}
1660
1687
  declare var TextDecoderStream: Bun.__internal.UseLibDomIfAvailable<
1661
1688
  "TextDecoderStream",
1662
1689
  { prototype: TextDecoderStream; new (): TextDecoderStream }
1663
1690
  >;
1664
1691
 
1665
- interface TextEncoderStream {}
1692
+ interface TextEncoderStream extends Bun.__internal.LibEmptyOrNodeStreamWebTextEncoderStream {}
1666
1693
  declare var TextEncoderStream: Bun.__internal.UseLibDomIfAvailable<
1667
1694
  "TextEncoderStream",
1668
1695
  { prototype: TextEncoderStream; new (): TextEncoderStream }
package/overrides.d.ts CHANGED
@@ -23,7 +23,7 @@ declare module "stream/web" {
23
23
 
24
24
  declare global {
25
25
  namespace NodeJS {
26
- interface ProcessEnv extends Bun.Env, ImportMetaEnv {}
26
+ interface ProcessEnv extends Bun.Env {}
27
27
 
28
28
  interface Process {
29
29
  readonly version: string;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.2.19-canary.20250710T140803",
2
+ "version": "1.2.19-canary.20250712T140547",
3
3
  "name": "bun-types",
4
4
  "license": "MIT",
5
5
  "types": "./index.d.ts",
@@ -0,0 +1,20 @@
1
+ // Do not include this file in ./index.d.ts
2
+ //
3
+ // This file gets loaded by developers including the following triple slash directive:
4
+ //
5
+ // ```ts
6
+ // /// <reference types="bun/test-globals" />
7
+ // ```
8
+
9
+ declare var test: typeof import("bun:test").test;
10
+ declare var it: typeof import("bun:test").it;
11
+ declare var describe: typeof import("bun:test").describe;
12
+ declare var expect: typeof import("bun:test").expect;
13
+ declare var beforeAll: typeof import("bun:test").beforeAll;
14
+ declare var beforeEach: typeof import("bun:test").beforeEach;
15
+ declare var afterEach: typeof import("bun:test").afterEach;
16
+ declare var afterAll: typeof import("bun:test").afterAll;
17
+ declare var setDefaultTimeout: typeof import("bun:test").setDefaultTimeout;
18
+ declare var mock: typeof import("bun:test").mock;
19
+ declare var spyOn: typeof import("bun:test").spyOn;
20
+ declare var jest: typeof import("bun:test").jest;