Skip to main content

bun

·268 words·2 mins·
Frontend Runtime
Table of Contents

Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager

Intro
#

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 Zig and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage

Install
#

curl -fsSL https://bun.sh/install | bash

Using
#

The bun command-line tool also implements a test runner, script runner, and Node.js-compatible package manager, all significantly faster than existing tools and usable in existing Node.js projects with little to no changes necessary.

bun run start                 # run the `start` script
bun install <pkg>             # install a package
bun build ./index.tsx         # bundle a project for browsers
bun test                      # run tests
bunx cowsay 'Hello, world!'   # execute a package

bun CLI usage
#

The bun CLI contains a Node.js-compatible package manager designed to be a dramatically faster replacement for npm, yarn, and pnpm. It’s a standalone tool that will work in pre-existing Node.js projects.

Run a JavaScript file or a package.json script:

bun run path/to/file|script_name

Run unit tests:

bun test

Download and install all the packages listed as dependencies in package.json:

bun install

Add a dependency to package.json:

bun add module_name

Remove a dependency from package.json:

bun remove module_name

Create a new Bun project in the current directory:

bun init

Start a REPL (interactive shell):

bun repl

Upgrade Bun to the latest version:

bun upgrade

References
#