Состоялся релиз Bun 1.3 — среды выполнения JavaScript и TypeScript

10 октября 2025 года состоялся релиз Bun 1.3 — среды выполнения JavaScript и TypeScript с возможностью отладки кода и поддержкой популярных веб-фрейворков. Проект Bun 1.0 вышел в сентябре 2023 года. Выпуск Bun 1.1 произошёл в апреле 2024 года, а Bun 1.2 представили в январе 2025 года.

Bun — это современная среда выполнения JS типа Node.js или Deno со встроенной поддержкой JSX и TypeScript. Она разработана с акцентом на быстром запуске, высокой производительности и самодостаточности. Внутри Bun есть транспилятор (транспилирующий компилятор) JavaScript, встроенный в среду выполнения. Это означает, что при работе с Bun можно запускать файлы JavaScript, TypeScript и даже JSX/TSX без каких‑либо зависимостей.

Bun использует движок JavaScriptCore, разрабатываемый WebKit, который запускается и выполняет операции немного быстрее, а также использует память немного эффективнее, чем классические движки типа V8. Bun написан на Zig — языке программирования низкого уровня с ручным управлением памятью, чем объясняются высокие показатели его скорости.

В Bun работают полнофункциональные приложения, созданные с помощью Next.js, Remix, Nuxt, Astro, SvelteKit, Nest, SolidStart и Vite. Разработчики проекта пояснили, что Bun запускается в 4 раза быстрее, чем Node.js. Эта разница только увеличивается при запуске файла TypeScript, который требует транспиляции, прежде чем Node.js сможет его запустить. Bun запускает тестовый файл hello world на TypeScript в 5 раз быстрее, чем esbuild с Node.js.

«Bun 1.3 превращает Bun в полноценную среду выполнения JavaScript, работающую без батареек. Мы добавили первоклассную поддержку фронтенд‑разработки со всеми функциями, которые вы ожидаете от современных инструментов для фронтенд‑разработки JavaScript. Теперь Bun запускает ещё 800 тестов из тестового набора Node.js для каждого коммита Bun. Мы продолжаем работать над достижением полной совместимости с Node.js. В Bun 1.3 мы добавили поддержку модуля виртуальной машины, node:test, мониторинга производительности и многого другого», — пояснили разработчики проекта.

Основные изменения в Bun 1.3:

полноценный сервер разработки (с горячей перезагрузкой, журналами браузера -> терминала), встроенный в Bun.serve(). Веб начинается с HTML, как и создание фронтенд-приложений с помощью Bun. Теперь можyj запускать HTML-файлы напрямую с Bun. Это не статический файловый сервер. Он использует собственные транспиляторы и сборщик JavaScript и CSS Bun для сборки файлов React, CSS, JavaScript и HTML;

фронтенд-сервер разработки Bun имеет встроенную поддержку горячей замены модулей, включая React Fast Refresh. Это позволяет тестировать изменения по мере их написания, без необходимости перезагрузки страницы, а API import.meta.hot позволяет разработчикам фреймворков реализовывать поддержку горячей перезагрузки в своих фреймворках поверх фронтенд-сервера разработки Bun;

встроенный клиент MySQL, наряду с нашими существующими клиентами Postgres и SQLite;

встроенный клиент Redis;

улучшенная маршрутизация, файлы cookie, WebSockets и эргономика HTTP;

изолированные установки, каталоги, minimumRelease и многое другое для рабочих пространств;

множество улучшений совместимости с Node.js;

поддержка подписи кода для исполняемых файлов Windows и macOS. Windows: удаление подписи Authenticode для подписи после сборки, macOS: подпись кода для отдельных исполняемых файлов;

добавлено несколько команд, упрощающих управление пакетами: bun why, bun update —interactive, bun info, bun install —analyze, bun audit;

тестовый раннер Bun стал ещё мощнее благодаря интеграции с VS Code, параллельным тестам, тестированию типов и улучшенному выводу;

добавлен API Bun.secrets, позволяющий использовать встроенное хранилище учётных данных в ОС (Bun.secrets для зашифрованного хранилища учётных данных).

В сентябре 2024 года в обновлении среды выполнения JavaScript и TypeScript Bun 1.1.28 разработчики проекта добавили экспериментальную возможность компиляции и выполнения обработчиков, написанных на языке C. Обновлённая версия Bun позволяет напрямую встраивать код на C в JavaScript и компилировать на лету с использованием компилятора TinyCC, а также подключать динамически связываемые библиотеки. Для работы с языком C в Bun используется прослойка bun:ffi, которая компилирует исходный код в машинные инструкции, подставляет его в память при выполнении и обеспечивает автоматическую конвертацию типов данных между JavaScript и С.

В конце апреля 2024 года для среды Bun вышел свой компактный crash reporter для Zig и C++. Отчёт о сбое умещается в URL-адрес размером около 150 байт, не содержащий никакой личной информации.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии