Skip to main content

bun-runtime

Bun as runtime, package manager, bundler, and test runner. When to choose Bun vs Node, migration notes, and Vercel support.

설치로 이동

소스 정보

저장소
affaan-m/ECC
최근 소스 활동
2026년 6월 11일 12:12
감지된 SKILL.md 언어
영어
스타
260,918
포크
39,042

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
bun-runtime
description
Bun as runtime, package manager, bundler, and test runner. When to choose Bun vs Node, migration notes, and Vercel support.
metadata
{"origin":"ECC"}
# Bun Runtime Bun is a fast all-in-one JavaScript runtime and toolkit: runtime, package manager, bundler, and test runner. ## When to Use - **Prefer Bun** for: new JS/TS projects, scripts where install/run speed matters, Vercel deployments with Bun runtime, and when you want a single toolchain (run + install + test + build). - **Prefer Node** for: maximum ecosystem compatibility, legacy tooling that assumes Node, or when a dependency has known Bun issues. Use when: adopting Bun, migrating from Node, writing or debugging Bun scripts/tests, or configuring Bun on Vercel or other platforms. ## How It Works - **Runtime**: Drop-in Node-compatible runtime (built on JavaScriptCore, implemented in Zig). - **Package manager**: `bun install` is significantly faster than npm/yarn. Lockfile is `bun.lock` (text) by default in current Bun; older versions used `bun.lockb` (binary). - **Bundler**: Built-in bundler and transpiler for apps and libraries. - **Test runner**: Built-in `bun test` with Jest-like API. **Migration from Node**: Replace `node script.js` with `bun run script.js` or `bun script.js`. Run `bun install` in place of `npm install`; most packages work. Use `bun run` for npm scripts; `bun x` for npx-style one-off runs. Node built-ins are supported; prefer Bun APIs where they exist for better performance. **Vercel**: Set runtime to Bun in project settings. Build: `bun run build` or `bun build ./src/index.ts --outdir=dist`. Install: `bun install --frozen-lockfile` for reproducible deploys. ## Examples ### Run and install ```bash # Install dependencies (creates/updates bun.lock or bun.lockb) bun install # Run a script or file bun run dev bun run src/index.ts bun src/index.ts ``` ### Scripts and env ```bash bun run --env-file=.env dev FOO=bar bun run script.ts ``` ### Testing ```bash bun test bun test --watch ``` ```typescript // test/example.test.ts import { expect, test } from "bun:test"; test("add", () => { expect(1 + 2).toBe(3); }); ``` ### Runtime API ```typescript const file = Bun.file("package.json"); const json = await file.json(); Bun.serve({ port: 3000, fetch(req) { return new Response("Hello"); }, }); ``` ## Best Practices - Commit the lockfile (`bun.lock` or `bun.lockb`) for reproducible installs. - Prefer `bun run` for scripts. For TypeScript, Bun runs `.ts` natively. - Keep dependencies up to date; Bun and the ecosystem evolve quickly.
GitHub에서 보기