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