---
name: bun-runtime
version: 1.0.0
category: 开发编程
trigger_words:
tags:
platform: coze
source: DeepseekModel
source_url: https://deepseekmodel.com/skill?id=affaan-m-ecc-cursor-skills-bun-runtime-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. 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 # 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 bun run --env-file=. env dev FOO=bar bun run script.ts Testing bun test bun test --watch // test/example.test.ts import { expect, test } from "bun:test" ; test ( "add" , () => { expect ( 1 + 2 ). toBe ( 3 ); }); Runtime API 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.