From ecc
런타임, 패키지 매니저, 번들러, 테스트 러너로서의 Bun. Bun과 Node 중 언제 무엇을 고를지, 마이그레이션 참고, Vercel 지원을 다룬다.
npx claudepluginhub sam42-lab/everything-claude-code-krThis skill uses the workspace's default tool permissions.
Bun은 빠른 올인원 JavaScript 런타임 겸 툴체인이다. 런타임, 패키지 매니저, 번들러, 테스트 러너를 하나로 제공한다.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Bun은 빠른 올인원 JavaScript 런타임 겸 툴체인이다. 런타임, 패키지 매니저, 번들러, 테스트 러너를 하나로 제공한다.
즉, Bun 도입, Node에서 마이그레이션, Bun 스크립트/테스트 작성 또는 디버깅, Vercel 같은 플랫폼에서 Bun을 설정할 때 사용한다.
bun install은 npm/yarn보다 훨씬 빠르다. 현재 Bun의 기본 lockfile은 bun.lock(텍스트)이고, 구버전은 bun.lockb(바이너리)를 사용했다bun testNode에서 마이그레이션: node script.js를 bun run script.js 또는 bun script.js로 바꾼다. npm install 대신 bun install을 실행하면 되고 대부분의 패키지는 그대로 동작한다. npm script는 bun run, 일회성 실행은 bun x를 사용한다. Node 내장 모듈도 지원되지만, 성능이 더 좋다면 Bun API를 우선한다.
Vercel: 프로젝트 설정에서 런타임을 Bun으로 지정한다. 빌드 예: bun run build, bun build ./src/index.ts --outdir=dist. 재현 가능한 배포를 위해 설치는 bun install --frozen-lockfile을 사용한다.
# 의존성 설치 (bun.lock 또는 bun.lockb 생성/업데이트)
bun install
# 스크립트 또는 파일 실행
bun run dev
bun run src/index.ts
bun src/index.ts
bun run --env-file=.env dev
FOO=bar bun run script.ts
bun test
bun test --watch
// test/example.test.ts
import { expect, test } from "bun:test";
test("add", () => {
expect(1 + 2).toBe(3);
});
const file = Bun.file("package.json");
const json = await file.json();
Bun.serve({
port: 3000,
fetch(req) {
return new Response("Hello");
},
});
bun.lock 또는 bun.lockb)을 커밋한다bun run을 기본으로 쓴다. TypeScript는 Bun이 .ts를 네이티브로 실행한다