Bun v1.1.30

Тихо и незаметно беше публикувана нова стабилна версия Bun – 1.1.30.

Bun е среда за изпълнение на ECMAScript / JavaScript, по много параметри подобна на nodejs. В основата на Bun стои JavaScriptCore от Apple, но самият Bun, подобно на много от неговите модули, е написан на zig. Bun се стреми да бъде максимално съвместим с nodejs по опции за командния ред, поддържа ECMAScript (ESM) и CommonJS модули. Управлението на пакети npm и поддръжката на typescript са вградени директно в приложението като нативен код, а програмите на typescript могат да се изпълняват директно от интерпретатора без предварителна конфигурация.

Въпреки това, Bun не е просто "копие" на nodejs по своите възможности. Освен по-бързата работа в редица сценарии (започвайки още с пускането на приложението) и почти пълната поддръжка на наличния в nodejs API, Bun предоставя широки възможности за приложения на сървъра – от работа с файлове до трансформация на HTML дърво (HTMLRewriter), модул за трансформация на typescript (Bun.Transpiler), вградена работа с бази данни sqlite, модули за взаимодействие с нативни библиотеки на платформата чрез C API – ffi, вграден инструментариум за тестове и множество други възможности.

Освен това, в експериментален режим Bun поддържа интеграция с код на C чрез прозрачен извикване 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("Какъв е отговорът на вселената?", hello()); $ bun hello.js Какъв е отговорът на вселената? 42

В това издание, наред с други неща, беше добавен CSS парсер, базиран на LightningCSS , който беше пренаписан от стари технологии като rust в zig, което позволи прозрачна интеграция на css и typescript, и сега е възможно да се импортира css файл директно в модул на typescript:

index.ts: import ".\/style.css"; import Component from ".\/MyComponent.tsx"; // … останалата част от вашето приложение style.css: /* резултат от сборката: */ /* style.css */ .hello { background: red; } /* MyComponent.css */ .MyComponent { color: green; }

Bun позволява да се събере цялото приложение с всички ресурси в единен изполняем файл.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster