A JavaScript és TypeScript fejlesztők számára izgalmas hírt közölt a Bun csapata, amelyben bemutatták a most megjelent a Bun 1.2, az all-in-one futtatókörnyezet és eszközkészlet legújabb verzióját. Ez a frissítés jelentős javulásokat hoz a Node.js kompatibilitás terén, valamint új, beépített funkciókkal bővül, mint az Amazon S3 objektumtároló API és a PostgreSQL kliens.
Mi az a Bun és hogy került ide?
A Bun egy innovatív, all-in-one JavaScript futtatókörnyezet és eszközkészlet, amelyet Jarred Sumner fejlesztett ki 2022-ben. A Bun célja, hogy egyszerűsítse és felgyorsítsa a JavaScript és TypeScript projektek fejlesztését, tesztelését és futtatását.
A Bun a JavaScriptCore motort használja, amely jelentősen gyorsabb, mint a Node.js által használt V8 motor. Ugyanakkor a Bun nem csak egy futtatókörnyezet, hanem csomagkezelő, bundler és tesztfuttató is. Célja a 100%-os Node.js kompatibilitás, így könnyen helyettesítheti a Node.js-t meglévő projektekben.
Szintén fontos információ, hogy a Bun-t a mostanában egyre népszerűbb Zig nyelven írták, amely egy C-hez vagy Rust-hoz hasonló alacsony szintű programozási nyelv és hozzájuk hasonlóan rendkívül hatékony és gyors kódot lehet vele írni.
Node.js kompatibilitás javítása
A Bun csapata a 1.2-es verzióval új megközelítést alkalmazott a Node.js kompatibilitás tesztelésére és javítására. Mostantól a Node.js tesztcsomagját futtatják minden egyes módosítás után, ami lehetővé tette több ezer hiba azonosítását és javítását. Ennek eredményeként 11 Node.js modul már több mint 90%-ban átmegy a teszteken a Bun-nal.
Ez a megközelítés lehetővé tette a csapat számára, hogy mélyreható refaktorálásokat végezzenek, és célul tűzzék ki a 100%-os Node.js kompatibilitás elérését. A tesztelés során számos belső API-val és hibaüzenettel kapcsolatos kihívással szembesültek, amelyeket sikeresen megoldottak a kompatibilitás javítása érdekében.
Új beépített funkciók
A Bun 1.2 számos új funkcióval bővült, amelyek tovább növelik a fejlesztők hatékonyságát:
-
Beépített Amazon S3 API: A
Bun.s3
segítségével a fejlesztők közvetlenül érhetik el és kezelhetik az S3 objektumtárolókat, megkönnyítve az adatok kezelését és tárolását. -
Beépített PostgreSQL kliens: A
Bun.sql
mostantól támogatja a PostgreSQL adatbázisok kezelését, lehetővé téve az adatbázis-műveletek közvetlen végrehajtását. A csapat tervezi a MySQL támogatás bevezetését is a közeljövőben. -
Új szövegalapú lockfile: A
bun.lock
bevezetésével a csomagok zárolási mechanizmusa átláthatóbbá és kezelhetőbbé vált, elősegítve a verziókezelést és a telepítési folyamatok megbízhatóságát.
Teljesítményjavulás és további fejlesztések
A Bun 1.2-ben az Express keretrendszer akár háromszor gyorsabban képes HTTP-kéréseket kiszolgálni, mint a Node.js-ben, ami jelentős teljesítményjavulást jelent a webalkalmazások számára.
Ezen kívül a bun install
mostantól 30%-kal gyorsabb, mint
a korábbi verziókban, csökkentve a telepítési időt és növelve a
fejlesztési folyamat hatékonyságát.
További új funkciók és fejlesztések
-
Kísérleti C program támogatás: A fejlesztők mostantól kísérleti jelleggel fordíthatnak és futtathatnak C programokat JavaScriptből, lehetővé téve a C rendszerkönyvtárak használatát építési lépések nélkül.
-
NPM konfiguráció támogatása: A Bun 1.2 támogatja az
.npmrc
fájl olvasását, amely lehetővé teszi az NPM-regiszter és a scoped csomagok konfigurálását. Emellett a csomagok közzététele is egyszerűbbé vált a bun publish parancs segítségével, amely az npm publish közvetlen helyettesítője. -
Új CSS-elemző és HTML importálás támogatása: Az új CSS-elemző és a HTML importálás támogatása tovább bővíti a Bun képességeit a frontend fejlesztés terén.
-
Egyéni hibaüzenetek támogatása: Az
expect()
használatával mostantól egyéni hibaüzenetek is definiálhatók, megkönnyítve a tesztelést és a hibakeresést.
Összegzés
A Bun 1.2 jelentős előrelépést jelent a JavaScript és TypeScript fejlesztők számára, különösen a Node.js kompatibilitás és a beépített funkciók terén. Az újítások és fejlesztések célja, hogy a fejlesztők hatékonyabban és gyorsabban dolgozhassanak, miközben kihasználják a Bun nyújtotta lehetőségeket.
A Bun telepítéséhez és frissítéséhez szükséges információk megtalálhatók a hivatalos blogbejegyzésben.