bun README

The project's README from github.com/oven-sh/bun. As one markdown file: README.md.

Logo

Bun

stars Bun speed

Documentation   •   Discord   •   Issues   •   Roadmap

Read the docs →

What is Bun?

Bun is an all-in-one toolkit for JavaScript and TypeScript apps. It ships as a single executable called bun.

At its core is the Bun runtime, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Rust and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage.

bun run index.tsx             # TS and JSX supported out-of-the-box

The bun command-line tool also implements a test runner, script runner, and Node.js-compatible package manager. Instead of 1,000 node_modules for development, you only need bun. Bun's built-in tools are significantly faster than existing options and usable in existing Node.js projects with little to no changes.

bun test                      # run tests
bun run start                 # run the `start` script in `package.json`
bun install <pkg>             # install a package
bunx cowsay 'Hello, world!'   # execute a package

Install

Bun supports Linux (x64 & arm64), macOS (x64 & Apple Silicon), and Windows (x64 & arm64).

Linux users — Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1.

x64 users — if you see "illegal instruction" or similar errors, check our CPU requirements

# with install script (recommended)
curl -fsSL https://bun.com/install | bash

# on windows
powershell -c "irm bun.sh/install.ps1 | iex"

# with npm
npm install -g bun

# with Homebrew
brew tap oven-sh/bun
brew install bun

# with Docker
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun

Upgrade

To upgrade to the latest version of Bun, run:

bun upgrade

Bun automatically releases a canary build on every commit to main. To upgrade to the latest canary build, run:

bun upgrade --canary

View canary build

Guides

bun (oven-sh/bun)

Searching Database…

96.3K ·GitHub
Что это такое?Bun — это универсальный набор инструментов для JavaScript и TypeScript, который объединяет среду выполнения, сборщик, средство запуска тестов и менеджер пакетов в одном исполняемом файле bun.
Это замена Node.js или то, что я добавляю поверх него?Ядро Bun — это готовая замена среды выполнения Node.js, написанная на Rust и работающая на JavaScriptCore вместо V8, поэтому большинство существующих проектов на Node запускаются с минимальными изменениями или вовсе без них.
Как это установить и начать пользоваться?Установите один исполняемый файл bun для вашей ОС, затем запускайте скрипты командой 'bun run', управляйте пакетами через 'bun install/add' и собирайте проект с помощью 'Bun.build'.
Нужно ли сначала установить Node.js или npm?Нет, Bun заменяет их: у него есть собственный менеджер пакетов, совместимый с npm, и среда выполнения, совместимая с Node.js, поэтому устанавливать Node и npm отдельно не нужно.
Какие подводные камни стоит знать, прежде чем переводить мой проект?В Linux настоятельно рекомендуется ядро 5.6+ (минимум 5.1), а на некоторых процессорах при несоблюдении требований могут появляться ошибки 'illegal instruction'; в таком случае посмотрите документацию Bun с требованиями к CPU.
Как быть в курсе новых релизов?Выполните команду обновления, чтобы получить последнюю стабильную версию; Bun также автоматически публикует canary-сборку при каждом коммите в main для тестирования новых изменений.
Есть ли у Bun собственные API для серверов и баз данных?Да, в него встроены API, например Bun.serve для HTTP-серверов, WebSocket, bun:sqlite, Bun.sql для PostgreSQL, Bun.redis и клиент S3, а также многие другие.
Можно ли использовать Bun для проектов на React или с JSX?Да, в Bun встроена поддержка JSX, а также есть документированные руководства по использованию React, Next.js, Vite, Remix, Astro и других фронтенд-фреймворков с Bun.
Что умеют встроенные средство тестирования и сборщик?bun test запускает тесты со встроенными моками, снапшотами и измерением покрытия кода, а Bun.build собирает JavaScript/TypeScript, CSS и HTML и может даже создать единый исполняемый файл.
What are similar projects?vite-plus, rspack, esbuild, oxc, tsx, closure-compiler, WasmEdge, scriptc
Creator
oven-sh
Size
1.2 GB
Stars
96.3K
Age
5y
Commits · 90 Days