bun-v0.0.81
版本发布时间: 2022-05-12 06:11:35
oven-sh/bun最新发布版本:bun-v1.1.20(2024-07-13 14:04:45)
To upgrade:
bun upgrade
Bun.js gets Node-API support
Node-API is 1.75x - 3x faster in Bun compared to Node.js 18 (in call overhead)
Getters & setters:
Simple function calls:
Just like in Node.js, to load a Node-API module, use require('my-npm-package')
or use process.dlopen
.
90% of the API is implemented, though it is certainly buggy right now.
Polyfills & new APIs in Bun.js v0.0.81
The following functions have been added:
-
import.meta.resolveSync
synchronously run the module resolver for the currently-referenced file -
import.meta.require
synchronously loads.node
or.json
modules and works with dynamic paths. This doesn't use ESM and doesn't run the transpiler, which is why regular js files are not supported. This is mostly an implementation detail for howrequire
works for Node-API modules, but it could also be used outside of that if you want -
Bun.gzipSync
,Bun.gunzipSync
,Bun.inflateSync
, andBun.deflateSync
which expose native bindings tozlib-cloudflare
. On macOS aarch64,gzipSync
is ~3x faster than in Node. This isn't wired up to the"zlib"
polyfill in bun yet
Additionally:
-
__dirname
is now supported for all targets (including browsers) -
__filename
is now supported for all targets (including browsers) -
Buffer.byteLength
is now implemented
Several packages using Node-API also use detect-libc
. Bun polyfills detect-libc
because bun doesn't support child_process
yet and this improves performance a little.
Bug fixes
- Fix incorrect error when
new.target
is referenced outside of a constructor d1ea51e9f2bfecd696224f4d715a8955a6300440 - Fix incorrect error with negative numbers in the JSON parser 123267685f57968e3515841a8c2d6991c44dcfa8
1、 bun-darwin-aarch64.dSYM.tar.gz 15.23MB
2、 bun-darwin-aarch64.zip 11.69MB
3、 bun-darwin-x64.dSYM.tar.gz 16.57MB
4、 bun-darwin-x64.zip 13.93MB
5、 bun-linux-x64.zip 27.13MB