* Add LIEF * Compile LIEF * Implement support for embedding files on macOS * proof of concept * Add zstd * Implement runtime support * Move some code around * Update .gitmodules * Upgrade zig https://github.com/ziglang/zig/pull/15278 * leftover * leftover * delete dead code * Fix extname * Revert "Upgrade zig" This reverts commitdd968f30bf. * Revert "leftover" This reverts commit7664de7686. * Revert "leftover" This reverts commit498005be06. * various fixes * it works! * leftover * Make `zig build` a little faster * give up on code signing support * Support Linux & macOS * Finish removing LIEF * few more * Add zstd to list of deps * make it pretty --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
4.0 KiB
Bun itself is MIT-licensed.
JavaScriptCore
Bun statically links JavaScriptCore (and WebKit) which is LGPL-2 licensed. WebCore files from WebKit are also licensed under LGPL2. Per LGPL2:
(1) If you statically link against an LGPL’d library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application.
You can find the patched version of WebKit used by Bun here: https://github.com/oven-sh/webkit. If you would like to relink Bun with changes:
git submodule update --init --recursivemake jsczig build
This compiles JavaScriptCore, compiles Bun’s .cpp bindings for JavaScriptCore (which are the object files using JavaScriptCore) and outputs a new bun binary with your changes.
Linked libraries
Bun statically links these libraries:
{% table %}
- Library
- License
lol-html- BSD 3-Clause
mimalloc- MIT
picohttp- dual-licensed under the Perl License or the MIT License
zstd- dual-licensed under the BSD License or GPLv2 license
simdutf- Apache 2.0
tinycc- LGPL v2.1
uSockets- Apache 2.0
zlib-cloudflare- zlib
c-ares- MIT licensed
- A fork of
uWebsockets - Apache 2.0 licensed
{% /table %}
Polyfills
For compatibility reasons, the following packages are embedded into Bun's binary and injected if imported.
{% table %}
- Package
- License
assert- MIT
browserify-zlib- MIT
buffer- MIT
domain-browser- MIT
events- MIT
https-browserify- MIT
os-browserify- MIT
path-browserify- MIT
process- MIT
punycode- MIT
querystring-es3- MIT
stream-http- MIT
string_decoder- MIT
tty-browserify- MIT
url- MIT
util- MIT
vm-browserify- MIT
{% /table %}