bun-types
Advanced tools
Comparing version
@@ -340,3 +340,3 @@ Bun implements the WHATWG `fetch` standard, with some extensions to meet the needs of server-side JavaScript. | ||
[fetch] > Connection: keep-alive | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250219T140606 | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250220T140700 | ||
[fetch] > Accept: */* | ||
@@ -343,0 +343,0 @@ [fetch] > Host: example.com |
@@ -0,1 +1,5 @@ | ||
{% callout %} | ||
**⚠️ Warning** — `bun:ffi` is **experimental**, with known bugs and limitations, and should not be relied on in production. The most stable way to interact with native code from Bun is to write a [Node-API module](/docs/api/node-api). | ||
{% /callout %} | ||
Use the built-in `bun:ffi` module to efficiently call native libraries from JavaScript. It works with languages that support the C ABI (Zig, Rust, C/C++, C#, Nim, Kotlin, etc). | ||
@@ -301,3 +305,7 @@ | ||
### Experimental thread-safe callbacks | ||
`JSCallback` has experimental support for thread-safe callbacks. This will be needed if you pass a callback function into a different thread from it's instantiation context. You can enable it with the optional `threadsafe` option flag. | ||
`JSCallback` has experimental support for thread-safe callbacks. This will be needed if you pass a callback function into a different thread from its instantiation context. You can enable it with the optional `threadsafe` parameter. | ||
Currently, thread-safe callbacks work best when run from another thread that is running JavaScript code, i.e. a [`Worker`](/docs/api/workers). A future version of Bun will enable them to be called from any thread (such as new threads spawned by your native library that Bun is not aware of). | ||
```ts | ||
@@ -313,3 +321,2 @@ const searchIterator = new JSCallback( | ||
``` | ||
Be aware that there are still cases where this does not 100% work. | ||
@@ -316,0 +323,0 @@ {% callout %} |
@@ -113,3 +113,3 @@ Spawn child processes with `Bun.spawn` or `Bun.spawnSync`. | ||
const text = await new Response(proc.stdout).text(); | ||
console.log(text); // => "1.2.3-canary.20250219T140606" | ||
console.log(text); // => "1.2.3-canary.20250220T140700" | ||
``` | ||
@@ -116,0 +116,0 @@ |
@@ -231,1 +231,15 @@ {% callout %} | ||
{% /details %} | ||
## `Bun.isMainThread` | ||
You can check if you're in the main thread by checking `Bun.isMainThread`. | ||
```ts | ||
if (Bun.isMainThread) { | ||
console.log("I'm the main thread"); | ||
} else { | ||
console.log("I'm in a worker"); | ||
} | ||
``` | ||
This is useful for conditionally running code based on whether you're in the main thread or not. |
@@ -10,3 +10,3 @@ Use `bun publish` to publish a package to the npm registry. | ||
## Output | ||
bun publish v1.2.3-canary.20250219T140606 (ca7428e9) | ||
bun publish v1.2.3-canary.20250220T140700 (ca7428e9) | ||
@@ -13,0 +13,0 @@ packed 203B package.json |
@@ -12,3 +12,3 @@ --- | ||
◐ Installing dependencies... | ||
bun install v1.2.3-canary.20250219T140606 (16b4bf34) | ||
bun install v1.2.3-canary.20250220T140700 (16b4bf34) | ||
+ @nuxt/devtools@0.8.2 | ||
@@ -15,0 +15,0 @@ + nuxt@3.7.0 |
@@ -19,3 +19,3 @@ --- | ||
"peerDependencies": { | ||
+ "@types/bun": "^1.2.3-canary.20250219T140606" | ||
+ "@types/bun": "^1.2.3-canary.20250220T140700" | ||
} | ||
@@ -32,3 +32,3 @@ } | ||
"peerDependencies": { | ||
"@types/bun": "^1.2.3-canary.20250219T140606" | ||
"@types/bun": "^1.2.3-canary.20250220T140700" | ||
}, | ||
@@ -35,0 +35,0 @@ "peerDependenciesMeta": { |
@@ -100,3 +100,3 @@ --- | ||
# Update a dependency to a specific version | ||
$ bun update @types/bun@1.2.3-canary.20250219T140606 | ||
$ bun update @types/bun@1.2.3-canary.20250220T140700 | ||
@@ -103,0 +103,0 @@ # Update all dependencies to the latest versions |
@@ -24,3 +24,3 @@ --- | ||
$ bun test | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -51,3 +51,3 @@ test.test.js: | ||
$ bun test test3 | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -90,3 +90,3 @@ test3.test.js: | ||
$ bun test -t add | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -93,0 +93,0 @@ test.test.js: |
@@ -21,3 +21,3 @@ --- | ||
$ bun test test/snap | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -65,3 +65,3 @@ test/snap.test.ts: | ||
$ bun test | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -83,3 +83,3 @@ test/snap.test.ts: | ||
$ bun test --update-snapshots | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -86,0 +86,0 @@ test/snap.test.ts: |
@@ -32,3 +32,3 @@ --- | ||
$ bun test --update-snapshots | ||
bun test v1.2.3-canary.20250219T140606 (9c68abdb) | ||
bun test v1.2.3-canary.20250220T140700 (9c68abdb) | ||
@@ -35,0 +35,0 @@ test/snap.test.ts: |
@@ -8,3 +8,3 @@ --- | ||
```ts#index.ts | ||
Bun.version; // => "1.2.3-canary.20250219T140606" | ||
Bun.version; // => "1.2.3-canary.20250220T140700" | ||
``` | ||
@@ -11,0 +11,0 @@ |
@@ -17,3 +17,3 @@ Bun ships as a single executable with no dependencies that can be installed a few different ways. | ||
# to install a specific version | ||
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250219T140606" | ||
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250220T140700" | ||
``` | ||
@@ -193,6 +193,6 @@ | ||
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.20250219T140606`. | ||
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.20250220T140700`. | ||
```sh | ||
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250219T140606" | ||
$ curl -fsSL https://bun.sh/install | bash -s "bun-v1.2.3-canary.20250220T140700" | ||
``` | ||
@@ -206,3 +206,3 @@ | ||
# PowerShell: | ||
$ iex "& {$(irm https://bun.sh/install.ps1)} -Version 1.2.3-canary.20250219T140606" | ||
$ iex "& {$(irm https://bun.sh/install.ps1)} -Version 1.2.3-canary.20250220T140700" | ||
``` | ||
@@ -209,0 +209,0 @@ |
@@ -127,7 +127,7 @@ --- | ||
```sh | ||
[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.20250219T140606" -H "Accept: */*" -H "Host: example.com" -H "Accept-Encoding: gzip, deflate, br" --compressed -H "Content-Length: 13" --data-raw "{\"foo\":\"bar\"}" | ||
[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.20250220T140700" -H "Accept: */*" -H "Host: example.com" -H "Accept-Encoding: gzip, deflate, br" --compressed -H "Content-Length: 13" --data-raw "{\"foo\":\"bar\"}" | ||
[fetch] > HTTP/1.1 POST https://example.com/ | ||
[fetch] > content-type: application/json | ||
[fetch] > Connection: keep-alive | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250219T140606 | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250220T140700 | ||
[fetch] > Accept: */* | ||
@@ -174,3 +174,3 @@ [fetch] > Host: example.com | ||
[fetch] > Connection: keep-alive | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250219T140606 | ||
[fetch] > User-Agent: Bun/1.2.3-canary.20250220T140700 | ||
[fetch] > Accept: */* | ||
@@ -177,0 +177,0 @@ [fetch] > Host: example.com |
@@ -58,3 +58,3 @@ Bun's test runner plays well with existing component and DOM testing libraries, including React Testing Library and [`happy-dom`](https://github.com/capricorn86/happy-dom). | ||
$ bun test | ||
bun test v1.2.3-canary.20250219T140606 | ||
bun test v1.2.3-canary.20250220T140700 | ||
@@ -61,0 +61,0 @@ dom.test.ts: |
{ | ||
"version": "1.2.3-canary.20250219T140606", | ||
"version": "1.2.3-canary.20250220T140700", | ||
"name": "bun-types", | ||
@@ -4,0 +4,0 @@ "license": "MIT", |
1420377
0.06%