JavaScript와 TypeScript 앱 개발을 하나의 실행 파일로 처리하는 방법
여러 도구를 번갈아 쓰며 개발 환경을 꾸려야 하는 부담에서 벗어나, bun 하나만 설치해 두면 됩니다. 런타임, 번들러, 테스트 러너, 패키지 매니저를 하나의 실행 파일로 묶어 놓은 도구입니다. Node.js를 대체할 수 있는 JavaScript 런타임으로, Rust로 작성되어 시작 시간과 메모리 사용량을 줄였습니다.
Node.js 프로젝트에 바로 적용하는 방식
기존 Node.js 프로젝트에서 node_modules 대신 bun만 있으면 됩니다. bun run index.tsx처럼 TypeScript와 JSX를 별도 설정 없이 바로 실행할 수 있습니다. 기존 Node.js 프로젝트에 거의 변경 없이 적용할 수 있어 전환 비용이 낮습니다.
지원 플랫폼과 설치 방법
Linux(x64, arm64), macOS(x64, Apple Silicon), Windows(x64, arm64)를 지원합니다. Linux 사용자는 커널 버전 5.6 이상을 권장하며, 최소 5.1부터 동작합니다. 설치 스크립트, npm, Homebrew, Docker 등 다양한 방법으로 설치할 수 있습니다. 최신 버전으로 업데이트하려면 bun upgrade를 실행합니다.
내장된 기능과 API 범위
HTTP 서버, WebSocket, SQLite, PostgreSQL, Redis, S3 클라이언트 등 다양한 데이터베이스와 네트워크 기능을 내장합니다. 파일 I/O, 아카이브 처리, 크론 작업, WebView, 트랜스파일러 등 개발에 필요한 유틸리티도 제공합니다. 번들러 기능으로는 단일 파일 실행 파일 생성, CSS/HTML 처리, 핫 모듈 리로딩(HMR)을 지원합니다. 테스트 러너는 목킹, 스냅샷, 코드 커버리지, DOM 테스트를 지원합니다.
적용 전 확인 사항
Node.js 호환성을 지향하지만, 모든 Node.js 모듈이 완벽히 동작하는 것은 아니므로 기존 프로젝트 적용 전 호환성을 테스트해야 합니다. 라이선스 정보는 프로젝트의 License 페이지를 참고해야 하며, README에는 구체적인 라이선스 유형이 명시되어 있지 않습니다. canary 빌드는 main 브랜치의 모든 커밋마다 자동 배포되므로, 안정성이 중요한 환경에서는 정식 릴리스 버전을 사용하는 것이 좋습니다.