Bun v1.1.30

Bun v1.1.30

Cicho i niezauważalnie opublikowana została nowa stabilna wersja Bun – 1.1.30.

Bun to środowisko uruchomieniowe ECMAScript / JavaScript, które w wielu aspektach jest podobne do nodejs. Bun bazuje na JavaScriptCore od Apple, ale sam Bun, podobnie jak wiele jego modułów, napisany jest w języku zig. Bun stara się być maksymalnie zgodny z nodejs w zakresie opcji wiersza poleceń, wspiera moduły ECMAScript (ESM) i CommonJS. Zarządzanie pakietami npm oraz wsparcie dla typescript są wbudowane bezpośrednio w aplikację jako kod natywny, a programy napisane w typescript mogą być wykonywane bezpośrednio przez interpreter bez wcześniejszej konfiguracji.

Jednak Bun nie jest jedynie „kopią” nodejs pod względem swoich możliwości. Oprócz szybszego działania w wielu scenariuszach (tuż po uruchomieniu aplikacji) oraz niemal pełnej obsługi API dostępnego w nodejs, Bun oferuje szerokie możliwości dla aplikacji serwerowych – od pracy z plikami po transformację drzewa HTML (HTMLRewriter), moduł transpileracji typescript (Bun.Transpiler), wbudowaną pracę z bazami danych sqlite, moduły do interakcji z natywnymi bibliotekami systemowymi za pośrednictwem API języka C – ffi, wbudowane narzędzia do testowania i wiele innych możliwości.

Ponadto, w trybie eksperymentalnym Bun oferuje integrację z kodem w C za pomocą przezroczystego wywołania tcc:

hello.c: int hello() { return 42; } hello.js: import { cc } from "bun:ffi"; import source from ". /hello.c" with { type: "file" }; const { symbols: { hello }, } = cc({ source, symbols: { hello: { args: [], returns: "int", }, }, }); console.log("Jakie jest odpowiedź na wszechświat?", hello()); $ bun hello.js Jakie jest odpowiedź na wszechświat? 42

W tej wersji między innymi dodano parser CSS oparty na LightningCSS który został przepisany z takich technologii legacy jak rust na zig, co pozwoliło na przezroczystą integrację CSS i typescript, a teraz można bezpośrednio importować plik CSS do modułu typu typescript:

index.ts: import ". /style.css"; import Component from ". /MyComponent.tsx"; // … reszta aplikacji style.css: /* wynik kompilacji: */ /* style.css */ .hello { background: red; } /* MyComponent.css */ .MyComponent { color: green; }

Bun umożliwia zebrać zgrupowanie całej aplikacji ze wszystkimi zasobami w jeden plik wykonywalny.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster