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, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π·Π° взаимодСйствиС с Π½Π°Ρ‚ΠΈΠ²Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ‡Ρ€Π΅Π· API Π½Π° C Π΅Π·ΠΈΠΊ – 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