mirror of
https://github.com/oven-sh/bun
synced 2026-02-13 04:18:58 +00:00
* Missing export * Regenerate builtins * Fix crash in require() * Various breaking JSC changes * hopefully speed up C++ compilation a little * Skip failing test fo rnow * Update WebKit * Add a comment * Fix error in postinstall * Update WebKit --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
JavaScript Builtins
TLDR:
# Delete the built files
make clean-bindings generate-bindings && \
# Compile all the C++ files which live in ../bindings
make bindings -j10 && \
# Re-link the binary without compiling zig (so it's faster)
make bun-link-lld-debug
JavaScript files in ./js use JavaScriptCore's builtins syntax
@getter
function foo() {
return @getByIdDirectPrivate(this, "superSecret");
}
It looks kind of like decorators but they're not. They let you directly call engine intrinsics and help with avoiding prototype pollution issues.
V8 has a similar feature (they use % instead of @)
They usually are accompanied by a C++ file.
The js directory is necessary for the bindings generator to work.
To regenerate the builtins, run this from Bun's project root (where the Makefile is)
make builtins
You'll want to also rebuild all the C++ bindings or you will get strange crashes on start
make clean-bindings