bun v0.0.81 #165
Jarred-Sumner
announced in
Announcements
bun v0.0.81
#165
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
To upgrade:
Bun.js gets Node-API support
Node-API is 1.75x - 3x faster in Bun compared to Node.js 18.
Getters & setters:
Simple function calls:
Just like in Node.js, to load a Node-API module, use
require('my-npm-package')
or useprocess.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 fileimport.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 wantBun.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 yetAdditionally:
__dirname
is now supported for all targets (including browsers)__filename
is now supported for all targets (including browsers)Buffer.byteLength
is now implementedSeveral packages using Node-API also use
detect-libc
. Bun polyfillsdetect-libc
because bun doesn't supportchild_process
yet and this improves performance a little.Bug fixes
new.target
is referenced outside of a constructor d1ea51eThis discussion was created from the release bun v0.0.81.
Beta Was this translation helpful? Give feedback.
All reactions