Bun 1.4, platforma dizajnirana za samostalno izvršavanje JavaScript i TypeScript aplikacija i namijenjena da služi kao besprijekorna zamjena za Node.js, je objavljena. Verzija 1.4 je poznata po migraciji kodne baze sa Zig-a na Rust, što je postignuto korištenjem Claude AI alata. Kod ostaje licenciran pod MIT licencom.
Razlozi navedeni za prepisivanje na Rust uključuju želju za rješavanjem problema u Bunu uzrokovanih curenjem memorije, kao i neslaganja s autorima Ziga u vezi s korištenjem umjetne inteligencije za kodiranje i Zigovu politiku u vezi s prihvatanjem jezičkih promjena koje narušavaju kompatibilnost, što je neprihvatljivo za velike projekte. Glavna prednost prelaska na Rust je mogućnost hvatanja i sprječavanja grešaka u memoriji, koje su posljednjih godina oduzimale vrijeme Bun programerima.
Na osnovu benchmarkova, Rust verzija troši 13-48% manje memorije, pokreće se dvostruko brže i koristi do 5 puta manje CPU-a kada je u stanju mirovanja. Veličina izvršne datoteke Rust verzije smanjena je za 17%. Prilikom pokretanja Claude Code-a sa Bun 1.4, opterećenje CPU-a je prepolovljeno.
Izdanje uključuje 1517 dodatnih testova kompatibilnosti i ispravlja preko 2900 problema. Nove biblioteke, Bun.Image, Bun.WebView, Bun.markdown, Bun.cron() i Bun.Terminal, dodane su osnovnoj distribuciji. Paralelni način izvršavanja (--parallel) sada je implementiran u naredbama "bun run" i "bun test". Kompatibilnost s Next.js 16 i vitest frameworkima je sada osigurana.
Projekat Bun podržava većinu Node.js API-ja. Platforma uključuje skup alata za kreiranje i pokretanje JavaScript i TypeScript aplikacija, kao i runtime za izvršavanje JavaScript aplikacija bez pretraživača, upravitelj paketa (kompatibilan sa NPM-om), alate za testiranje, samostalni alat za izradu paketa i sloj za ugrađivanje rukovatelja napisanih u C-u. Što se tiče performansi, Bun značajno nadmašuje Deno i Node.js (u testovima zasnovanim na React frameworku, Bun nadmašuje Deno za faktor 2, a Node.js za faktor skoro 5). Izvršavanje JavaScripta koristi JavaScriptCore JavaScript engine i WebKit komponente sa dodatnim zakrpama.
izvor: opennet.ru
