Vaikselt ja märkamatult on avaldatud uus stabiilne versioon Bun – 1.1.30.
Bun on ECMAScript / JavaScript töötluskeskkond, mis on paljuski sarnane nodejs. Buni alus on JavaScriptCore Apple'ilt, kuid ise on Bun, nagu paljud selle moodulid, kirjutatud keeles zig. Bun püüab olla maksimaalselt ühilduv nodejs käsurea valikutega, toetab ECMAScript (ESM) ja CommonJS mooduleid. Pakettide haldamine npm ja typescript on integreeritud otse rakendusse kui natiivne kood, ja typescripti programmid saavad töötada otse tõlgiga ilma eelneva konfiguratsioonita.
Kuid Bun ei ole vaid „koopia” nodejs omadustest. Lisaks paremale töötlusele mitmetes stsenaariumides (alates rakenduse käivitamisest) ja peaaegu täielikule toetusele nodejs API-le pakub Bun laialdasi võimalusi serveripoolsete rakenduste jaoks – failide töötlemisest HTML-puu transformeerimiseni (HTMLRewriter), typescripti transpileerimise moodul (Bun.Transpiler), sisseehitatud andmebaasidega töötamine sqlite, moodulid kohalike teekidega suhtlemiseks C keele API kaudu – ffi, sisseehitatud testeetilised tööriistad ja palju muud.
Lisaks toetab eksperimentaalrežiimis Bun C-koodi integreerimist läbi läbipaistva kutsumise. 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("Mis on universumi vastus?", hello()); $ bun hello.js Mis on universumi vastus? 42
Selles väljalaske seas on lisaks muu hulgas lisatud CSS-parsija, mis põhineb LightningCSS , mis kirjutati spetsiaalselt ümber vanadelt tehnoloogiatelt nagu rust keelele zig, mis võimaldas läbipaistvat css-i ja typescripti integreerimist, ning nüüd on võimalik importida css-fail otse typescripti moodulisse:
index.ts: import "./style.css"; import Component from "./MyComponent.tsx"; // … ülejäänud teie rakendus style.css: /* kogumise tulemus: */ /* style.css */ .hello { background: red; } /* MyComponent.css */ .MyComponent { color: green; }
Bun võimaldab koguda kogu rakenduse koos kõikide ressurssidega üheks täitmiseks failiks.
Allikas: linux.org.ru
