Skip to content

O próprio Bun é licenciado sob MIT.

JavaScriptCore

O Bun vincula estaticamente o JavaScriptCore (e WebKit) que é licenciado sob LGPL-2. Arquivos WebCore do WebKit também são licenciados sob LGPL2. Conforme LGPL2:

(1) Se você vincular estaticamente a uma biblioteca LGPL, você também deve fornecer sua aplicação em um formato de objeto (não necessariamente fonte), para que um usuário tenha a oportunidade de modificar a biblioteca e relinkar a aplicação.

Você pode encontrar a versão corrigida do WebKit usada pelo Bun aqui: https://github.com/oven-sh/webkit. Se você deseja relinkar o Bun com alterações:

  • git submodule update --init --recursive
  • make jsc
  • zig build

Isso compila o JavaScriptCore, compila os bindings .cpp do Bun para JavaScriptCore (que são os arquivos de objeto usando JavaScriptCore) e produz um novo binário bun com suas alterações.

Bibliotecas vinculadas

O Bun vincula estaticamente estas bibliotecas:

BibliotecaLicença
boringsslvárias licenças
brotliMIT
libarchivevárias licenças
lol-htmlBSD 3-Clause
mimallocMIT
picohttplicenciado duplamente sob Licença Perl ou Licença MIT
zstdlicenciado duplamente sob Licença BSD ou GPLv2
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-aresMIT
libicu 72licença aqui
libbase64BSD 2-Clause
libuv (no Windows)MIT
libdeflateMIT
Um fork do uWebsocketsLicenciado sob Apache 2.0
Partes do código IO do TigerbeetleLicenciado sob Apache 2.0

Polyfills

Por razões de compatibilidade, os seguintes pacotes são incorporados no binário do Bun e injetados se importados.

PacoteLicença
assertMIT
browserify-zlibMIT
bufferMIT
constants-browserifyMIT
crypto-browserifyMIT
domain-browserMIT
eventsMIT
https-browserifyMIT
os-browserifyMIT
path-browserifyMIT
processMIT
punycodeMIT
querystring-es3MIT
stream-browserifyMIT
stream-httpMIT
string_decoderMIT
timers-browserifyMIT
tty-browserifyMIT
urlMIT
utilMIT
vm-browserifyMIT

Créditos adicionais

  • O transpilador JS, lexer CSS e código do resolvedor de módulos Node.js do Bun é uma porta Zig do projeto esbuild de @evanw.
  • Crédito a @kipply pelo nome "Bun"!

Bun by www.bunjs.com.cn edit