Документация • Discord • Проблемы • Дорожная карта
Bun — это универсальный набор инструментов для приложений JavaScript и TypeScript. Он поставляется в виде одного исполняемого файла под названием bun
.
В основе лежит среда выполнения Bun — быстрая среда выполнения JavaScript, разработанная как замена Node.js. Он написан на Zig и работает на JavaScriptCore, что значительно сокращает время запуска и использование памяти.
Bun run index.tsx # TS и JSX поддерживаются «из коробки»
Инструмент командной строки bun
также реализует средство запуска тестов, выполнения сценариев и менеджер пакетов, совместимый с Node.js. Вместо 1000 node_modules для разработки вам понадобится только bun
. Встроенные инструменты Bun значительно быстрее существующих вариантов и могут использоваться в существующих проектах Node.js практически без изменений.
Bun test # запустить testbun run start # запустить скрипт `start` в `package.json`bun install <pkg> # установить packagebunx Cowsay 'Hello, world!' # выполняем пакет
Bun поддерживает Linux (x64 и Arm64), macOS (x64 и Apple Silicon) и Windows (x64).
Пользователям Linux — настоятельно рекомендуется использовать ядро версии 5.6 или выше, но минимум — 5.1.
# со сценарием установки (рекомендуется)curl -fsSL https://bun.sh/install | bash# в windowspowershell -c "irm Bun.sh/install.ps1 | iex"# с npmnpm install -g Bun# с краном для домашнего пивоварения духовка-sh/булочка варить установку булочки # с помощью духовки/булочки Dockerdocker docker run --rm --init --ulimit memlock=-1:-1 духовка/булочка
Чтобы обновить Bun до последней версии, запустите:
обновление булочки
Bun автоматически выпускает канареечную сборку при каждом коммите в main
. Чтобы обновиться до последней канареечной сборки, запустите:
обновление булочки --canary
Посмотреть сборку Canary
Введение
Что такое Бун?
Установка
Быстрый старт
Машинопись
Шаблонизация
bun init
bun create
Время выполнения
bun run
Типы файлов
Машинопись
JSX
Переменные среды
API булочек
Веб-API
Совместимость с Node.js
Однофайловый исполняемый файл
Плагины
Режим просмотра
Разрешение модуля
Автоматическая установка
Bunfig.toml
Отладчик
API платформы
Менеджер пакетов
bun install
bun add
bun remove
bun update
bun link
bun pm
Глобальный кеш
Рабочие пространства
Скрипты жизненного цикла
Фильтр
Файл блокировки
Области действия и реестры
Переопределения и разрешения
Бандлер
Bun.build
Погрузчики
Плагины
Макросы
против эсбилда
Тестовый бегун
bun test
Написание тестов
Режим просмотра
Перехватчики жизненного цикла
Издевается
Снимки
Даты и время
DOM-тестирование
Покрытие кода
Пакетный бегун
bunx
API
HTTP-сервер
Вебсокеты
Рабочие
Двоичные данные
Потоки
Файловый ввод-вывод
импорт.мета
SQLite
ФайловаяСистемаМаршрутизатор
TCP-сокеты
UDP-сокеты
Глобальные значения
$ Шелл
Дочерние процессы
Транспилер
Хеширование
Консоль
ИФИ
HTMLRewriter
Тестирование
Утилиты
Node-API
Глоб
Семвер
Проект
Дорожная карта
Бенчмаркинг
Содействие
Строительные окна
Лицензия
Двоичный
Преобразование Blob в DataView
Преобразование Blob в ReadableStream
Преобразование Blob в строку
Преобразование Blob в Uint8Array
Преобразование Blob в ArrayBuffer
Преобразование буфера в большой двоичный объект
Преобразование буфера в ReadableStream
Преобразование буфера в строку
Преобразование буфера в Uint8Array
Преобразование буфера в ArrayBuffer
Преобразование DataView в строку
Преобразование Uint8Array в Blob
Преобразование Uint8Array в буфер
Преобразование Uint8Array в DataView
Преобразование Uint8Array в ReadableStream
Преобразование Uint8Array в строку
Преобразование Uint8Array в ArrayBuffer
Преобразование ArrayBuffer в Blob
Преобразование ArrayBuffer в буфер
Преобразование ArrayBuffer в строку
Преобразование ArrayBuffer в Uint8Array
Преобразование ArrayBuffer в массив чисел
Экосистема
Создайте интерфейс, используя Vite и Bun.
Создайте приложение с помощью Astro и Bun
Создайте приложение с помощью Next.js и Bun.
Создайте приложение с помощью Nuxt и Bun.
Создайте приложение с помощью Qwik и Bun
Создайте приложение с помощью Remix и Bun
Создайте приложение с помощью SolidStart и Bun.
Создайте приложение с помощью SvelteKit и Bun.
Создайте HTTP-сервер, используя Elysia и Bun.
Создайте HTTP-сервер, используя Express и Bun.
Создайте HTTP-сервер, используя Hono и Bun.
Создайте HTTP-сервер, используя StricJS и Bun.
Контейнеризация приложения Bun с помощью Docker
Создать бота в Дискорде
Развертывание приложения Bun на Render
Чтение и запись данных в MongoDB с помощью Mongoose и Bun.
Запустите Bun как демона с помощью PM2.
Запустите Bun как демона с помощью systemd
Серверный рендеринг (SSR) компонента React
Используйте Drizzle ORM с булочкой
Используйте EdgeDB с Bun
Используйте бессерверный Postgres Neon с Bun
Используйте Prisma с булочкой
Используйте React и JSX
Добавьте Sentry в приложение Bun
HTTP
Обычное использование HTTP-сервера
Настройте TLS на HTTP-сервере
получить с помощью сокетов домена unix в Bun
Горячая перезагрузка HTTP-сервера
Прокси-запросы HTTP с использованием fetch()
Отправьте HTTP-запрос с помощью выборки
Запустите кластер HTTP-серверов
Потоковая передача файла в виде ответа HTTP
Потоковый HTTP-сервер с асинхронными итераторами
Потоковая передача HTTP-сервера с потоками Node.js
Загружать файлы через HTTP с помощью FormData
Напишите простой HTTP-сервер
Установить
Добавить зависимость
Добавить зависимость разработки
Добавьте зависимость Git
Добавить зависимость от однорангового узла
Добавить зависимость tarball
Добавьте доверенную зависимость
Добавьте необязательную зависимость
Настройте частный реестр для масштаба организации с помощью установки Bun.
Настройте git для сравнения файла блокировки lockb Bun
Настройка монорепозитория с использованием рабочих областей
Создайте удобочитаемый файл блокировки.
Установить пакет под другим именем
Установите зависимости с помощью Bun в действиях GitHub.
Переопределить реестр npm по умолчанию для установки Bun
Использование Bun install с реестром npm Azure Artifacts.
Использование Bun install с Artifactory
Процесс
Получите время безотказной работы процесса в наносекундах
Слушайте CTRL+C
Слушайте сигналы ОС
Анализ аргументов командной строки
Чтение со стандартного ввода
Чтение stderr из дочернего процесса
Чтение стандартного вывода из дочернего процесса
Создать дочерний процесс
Создайте дочерний процесс и общайтесь с помощью IPC.
Чтение файла
Проверьте, существует ли файл
Получить MIME-тип файла
Прочитайте файл как ReadableStream
Прочитать файл как строку
Чтение файла в буфер
Прочитайте файл в Uint8Array
Чтение файла в ArrayBuffer
Чтение файла JSON
Следите за каталогом изменений
Время выполнения
Отладка Bun с расширением VS Code
Отладка Bun с помощью веб-отладчика
Определить и заменить статические глобальные переменные и константы
Импортировать файл JSON
Импортировать файл TOML
Импортировать HTML-файл как текст
Установите и запустите Bun в действиях GitHub.
Установите объявления TypeScript для Bun
Пересопоставить пути импорта
Чтение переменных среды
Запустите команду оболочки
Установить часовой пояс в Бане
Установить переменные среды
Потоки
Преобразование читаемого Node.js в большой двоичный объект
Преобразование читаемого Node.js в строку
Преобразование читаемого Node.js в ArrayBuffer
Преобразование читаемого Node.js в JSON
Преобразование ReadableStream в Blob
Преобразование ReadableStream в буфер
Преобразование ReadableStream в строку
Преобразование ReadableStream в Uint8Array
Преобразование ReadableStream в массив кусков
Преобразование ReadableStream в ArrayBuffer
Преобразование ReadableStream в JSON
Тест
Выйдите под залог пораньше с бегуном-испытателем булочек
Создавайте отчеты о покрытии кода с помощью средства запуска тестов Bun.
Отметьте тест как задачу с помощью средства запуска тестов Bun.
Миграция с Jest на тестовый запуск Bun
Мок-функции в bun test
Повторите тесты несколько раз с помощью средства запуска тестов Bun.
Запускайте тесты в режиме просмотра с помощью Bun
Запускайте свои тесты с помощью программы запуска тестов Bun
Установите порог покрытия кода с помощью средства запуска тестов Bun
Установите тайм-аут для каждого теста с помощью средства запуска тестов Bun.
Установите системное время в тест-раннере Бана
Пропускайте тесты с помощью средства запуска тестов Bun
Шпионить за методами bun test
Обновить снимки в bun test
Используйте тестирование моментальных снимков в bun test
Написание DOM-тестов браузера с помощью Bun и Happy-dom
Утилита
Проверьте, является ли текущий файл точкой входа
Проверьте, глубоко ли равны два объекта
Сжимайте и распаковывайте данные с помощью DEFLATE
Сжимайте и распаковывайте данные с помощью gzip
Преобразование URL-адреса файла в абсолютный путь
Преобразовать абсолютный путь в URL-адрес файла
Обнаружить, когда код выполняется с помощью Bun
Кодирование и декодирование строк base64
Экранирование HTML-строки
Получить абсолютный путь к текущему файлу
Получить абсолютный путь к текущей точке входа
Получить текущую версию Bun
Получить каталог текущего файла
Получить имя текущего файла
Получить путь к исполняемому bin-файлу
Хешировать пароль
Спать в течение фиксированного количества миллисекунд
Вебсокет
Создание сервера публикации-подписки WebSocket.
Создайте простой сервер WebSocket.
Включить сжатие сообщений WebSocket
Установите контекстные данные для каждого сокета в WebSocket
Записать файл
Добавить содержимое в файл
Скопируйте файл в другое место
Удалить файл
Записать Blob в файл
Запись файла постепенно
Записать файл в стандартный вывод
Запишите ReadableStream в файл
Написать ответ в файл
Записать строку в файл
Написать в стандартный вывод
Обратитесь к руководству «Проект > Участие», чтобы начать вносить свой вклад в Bun.
Обратитесь к странице Проект > Лицензия для получения информации о лицензировании Bun.