
Oven SH chinh thuc phat hanh Bun 1.1, mang den ho tro Windows day du, trinh chay kiem thu (test runner) tich hop, quan ly workspace va hang tram toi uu hieu nang. JavaScript runtime duoc viet bang Zig nay tiep tuc thu hep khoang cach voi Node.js, dong thoi giu the dan dau ve toc do khoi dong, bo nho va trai nghiem phat trien. Voi cac lap trinh vien tim kiem giai phap thay the hien dai, Bun 1.1 la mot moc dang gia de danh gia nghiêm tuc.
Dot pha cot loi cua Bun 1.1: Ho tro Windows nguyen sinh
Day la buoc tien lon nhat cua Bun 1.1 — Windows tu ho tro thuc nghiem tro thanh “cong dan hang nhat”. Bun 1.1 chay toan bo bo kiem thu cot loi tren Windows, package manager, runtime, test runner, bundler deu hoat dong nguyen sinh, khong can WSL2. Cai dat thong nhat:
powershell -c "irm bun.sh/install.ps1 | iex"
# hoac
curl -fsSL https://bun.sh/install.ps1 | powershell
Cac sua loi tuong thich Windows quan trong: giam sat he thong tep, sinh tien trinh con, xu ly tin hieu, phan giai duong dan, tai module nguyen sinh. Gio `bun install` tren Windows nhanh 3-5x so voi `npm install`, `bun run` khoi dong < 10ms (Node.js ~ 50-100ms).

Trinh chay kiem thu tich hop: `bun test` thay the Jest/Vitest khong can cau hinh
Bun 1.1 tich hop `bun test` — trinh chay kiem thu hieu nang cao tuong thich API Jest, khong can phu thuoc them, file cau hinh hay buoc chuyen ma:
// math.test.ts
import { describe, it, expect } from "bun:test";
describe("Math utils", () => {
it("adds numbers", () => {
expect(1 + 2).toBe(3);
});
it("async test", async () => {
const data = await fetchData();
expect(data).toEqual({ ok: true });
});
});
bun test # Chay tat ca bai kiem thu
bun test --watch # Che do theo doi
bun test --coverage # Do bao phu ma (Istanbul nguyen sinh)
bun test --ui # Giao dien Web tuong tac
Hieu nang: tren ma nguon lon (~5000 test case), `bun test` nhanh 8-12x so voi `jest`, nhanh 3-5x so voi `vitest`. Ho tro snapshot testing, mocking, chay song song, thuc thi TypeScript truc tiep (khong can `ts-jest` hay `tsx`).
Workspace: Ho tro Monorepo nguyen sinh
Bun 1.1 gioi thieu truong `workspaces` trong `package.json`, ho tro quan ly phu thuoc monorepo nguyen sinh:
// package.json (thu muc goc)
{
"name": "my-monorepo",
"workspaces": ["packages/*", "apps/*"],
"private": true
}
bun install # Tu dong lien ket package workspace, nang cap phu thuoc
bun add -w # Them phu thuoc vao workspace cu the
bun run --filter # Chay script trong workspace cu the
So voi `npm workspaces`/`yarn workspaces`/`pnpm`, thuc thi cua Bun nhanh hon (khoi dong lanh < 2s vs 10-30s), va ho tro nguyen sinh `bun:test` chay cheo workspace, `bun build` dong goi package workspace.

Diem chuan hieu nang: Khoi dong, thong luong, bo nho
| Chi tieu | Bun 1.1 | Node.js 22 (LTS) | Deno 2.0 |
|---|---|---|---|
| Khoi dong lanh (script rong) | ~4ms | ~45ms | ~12ms |
| Thuc thi TypeScript truc tiep | Nguyen sinh | Can –experimental-strip-types | Nguyen sinh |
| Thong luong HTTP (req/s) | ~68.000 | ~42.000 | ~55.000 |
| Bo nho (HTTP server co ban) | ~18MB | ~35MB | ~25MB |
| Toc do cai package (du an trung binh) | ~3s | ~15s (npm) | ~8s |
Uu the cua Bun den tu JavaScriptCore (engine WebKit) thay vi V8, cong voi runtime viet bang Zig chi phi zero-overhead. Luu y: Node.js van dan ve do truong thanh he sinh thai, tuong thich native addon, chien luoc LTS dai han.
API moi va cai tien chuoi cong cu
- `bun:sqlite` — Driver SQLite tich hop, nhanh 2-3x `better-sqlite3`, bien dich zero-dependency.
- `bun:ffi` — Foreign Function Interface, goi truc tiep thu vien C/C++/Rust, khong can viet binding Node-API.
- `bun build –compile` — Xuat file thuc thi don, ho tro cross-compile (Linux→Windows, macOS→Linux).
- `bunx` — Thay the `npx`, khoi dong nhanh 10x, tu dong cache.
- Tuong thich registry — Hoan toan tuong thich npm registry, ho tro protocol specifier `npm:`, `github:`, `file:`.
Huong dan di chuyen: Checklist tu Node.js sang Bun
- Lockfile: `bun install` sinh `bun.lockb` (nhi phan), commit vao Git. Xoa `package-lock.json`/`yarn.lock`/`pnpm-lock.yaml`.
- Script chay: `scripts` trong `package.json` dung `bun run` thay `npm run`/`yarn`/`pnpm`.
- TypeScript: Xoa `”module”: “NodeNext”` trong `tsconfig.json`, Bun tu xu ly. Go `ts-node`/`tsx`/`esbuild-register`.
- Native module: Kiem tra package phu thuoc `node-gyp` (nhu `sharp`, `bcrypt`, `canvas`). Da so co san prebuilt binary hoac thay the Bun (`bun:sqlite` thay `better-sqlite3`).
- Test: Chuyen `jest.config.js` sang `[test]` trong `bunfig.toml`, hoac chay thu Jest hien co voi `bun test` (tuong thich API ~95%).
- Bien moi truong: `process.env` tuong thich hoan toan. `Bun.env` cung cap truy cap type-safe bo sung.
Danh gia san sang production
Bun 1.1 gan nhan “Production Ready”, nhung can can nhac:
- ✅ Uu diem: Vong lap phan hoi dev sieu toc, TypeScript zero-config, toolchain tich hop giam dependency hell, Windows nguyen sinh.
- ⚠️ Luu y: He sinh thai chua truong thanh nhu Node.js (LTS den 2027+), mot so native module khong tuong thich, ho tro doanh nghiep han che, cam ket bao tri lau dai chua ro rang nhu Node.js.
- 🎯 Phu hop: Du an moi, cong cu noi bo, pipeline CI/CD, ham Serverless, edge computing, ung dung full-stack TypeScript monolith.
Nguon tham khao: Bun Official Blog: Bun v1.1 Release | GitHub Release Notes | Bun Official Docs | ThePrimeagen: Bun vs Node Benchmarks
