"Bun과 Deno는 .ts를 직접 실행하지만 타입 검사는 별도 책임이야."
세 실행 경로
Bun은 JavaScriptCore 기반 런타임으로 Node 호환성, 빠른 시작, 패키지 관리자·번들러·테스트 실행기를 함께 제공해. Deno는 V8 기반으로 명시적 권한 모델과 웹 표준, 린터·포매터·테스트 실행기를 내장해. 둘 다 import 때 TypeScript를 내부 변환하므로 소스 .ts를 직접 실행할 수 있어.
Node는 tsx 같은 래퍼나 빌드된 JavaScript를 사용하며, 특정 Node 버전과 Node 전용 생태계가 중요한 기존 코드베이스에서 호환성 선택이 돼.
타입 검사는 여전히 필요해
Bun과 Deno 모두 기본 실행 경로에서는 타입을 지우고 실행할 뿐 전체 타입 검사를 하지 않아. tsc --noEmit이나 Deno의 deno check를 별도로 실행해야 해.
선택 기준
Node 호환 프로젝트에서 속도와 단순함이 중요하면 Bun, 명시적 --allow-net·--allow-read 권한과 웹 표준을 원하면 Deno, 특정 Node 라이브러리와 기존 운영 호환성이 중요하면 Node를 골라.
2026년 새 TypeScript 프로젝트에서 Bun은 빠른 선택, Deno는 보안 중심 선택, Node는 호환성 선택이야. 셋 모두 유효하고 프로젝트의 제약이 결정을 내려.