Skip to content

Bun lui-même est sous licence MIT.

JavaScriptCore

Bun lie statiquement JavaScriptCore (et WebKit) qui est sous licence LGPL-2. Les fichiers WebCore de WebKit sont également sous licence LGPL2. Selon LGPL2 :

(1) Si vous liez statiquement contre une bibliothèque sous licence LGPL, vous devez également fournir votre application dans un format objet (pas nécessairement source), afin qu'un utilisateur ait la possibilité de modifier la bibliothèque et de relinker l'application.

Vous pouvez trouver la version patchée de WebKit utilisée par Bun ici : https://github.com/oven-sh/webkit. Si vous souhaitez relinker Bun avec des modifications :

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

Cela compile JavaScriptCore, compile les liaisons .cpp de Bun pour JavaScriptCore (qui sont les fichiers objets utilisant JavaScriptCore) et produit un nouveau binaire bun avec vos modifications.

Bibliothèques liées

Bun lie statiquement ces bibliothèques :

BibliothèqueLicence
boringsslplusieurs licences
brotliMIT
libarchiveplusieurs licences
lol-htmlBSD 3-Clause
mimallocMIT
picohttpdouble licence sous licence Perl ou licence MIT
zstddouble licence sous licence BSD ou GPLv2
simdutfApache 2.0
tinyccLGPL v2.1
uSocketsApache 2.0
zlib-cloudflarezlib
c-aressous licence MIT
libicu 72licence ici
libbase64BSD 2-Clause
libuv (sur Windows)MIT
libdeflateMIT
Un fork de uWebsocketssous licence Apache 2.0
Des parties du code IO de Tigerbeetlesous licence Apache 2.0

Polyfills

Pour des raisons de compatibilité, les packages suivants sont intégrés dans le binaire de Bun et injectés s'ils sont importés.

PackageLicence
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édits supplémentaires

  • Le code source du transpileur JS, du lexer CSS et du résolveur de modules Node.js de Bun est un port Zig du projet esbuild de @evanw.
  • Crédit à @kipply pour le nom "Bun" !

Bun édité par www.bunjs.com.cn