Skip to main content

Documentation Index

Fetch the complete documentation index at: https://bun.zhcndoc.com/llms.txt

Use this file to discover all available pages before exploring further.

Bun 本身采用 MIT 许可证。

JavaScriptCore

Bun 静态链接 JavaScriptCore(以及 WebKit),其采用 LGPL-2 许可证。WebKit 中的 WebCore 文件也采用 LGPL2 许可证。根据 LGPL2:
(1) 如果你静态链接了一个 LGPL 许可的库,你还必须以目标文件(不一定是源代码)格式提供你的应用程序,以便用户有机会修改库并重新链接应用程序。
你可以在此处找到 Bun 使用的 WebKit 的补丁版本:https://github.com/oven-sh/webkit。如果你想用修改后的代码重新链接 Bun:
  • git submodule update --init --recursive
  • make jsc
  • zig build
这会编译 JavaScriptCore,编译 Bun 针对 JavaScriptCore 的 .cpp 绑定(即使用 JavaScriptCore 的目标文件),并输出包含你修改的新的 bun 二进制文件。

链接的库

Bun 静态链接以下库:
LibraryLicense
boringsslseveral licenses
brotliMIT
libarchiveseveral licenses
lol-htmlBSD 3-Clause
mimallocMIT
picohttpPerl 许可证或 MIT 许可证(双重许可)
zstdBSD 许可证或 GPLv2 许可证(双重许可)
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-ngzlib
c-aresMIT 许可
libicu 72此处为许可证
libbase64BSD 2-Clause
libuv(在 Windows 上)MIT
libdeflateMIT
uWebsockets 的一个分支Apache 2.0 许可
Tigerbeetle 的 IO 代码 的部分Apache 2.0 许可

Polyfills

出于兼容性原因,以下包被嵌入到 Bun 的二进制文件中,并在被导入时注入。

额外鸣谢

  • Bun 的 JS 转译器、CSS 词法分析器和 Node.js 模块解析器的源代码是 @evanwesbuild 项目的 Zig 移植版。
  • 感谢 @kipply 提供 “Bun” 这个名字!