Bun 1.4.3, 타입 오류가 있으면 실행·테스트·빌드를 멈춘다

2026년 10월 10일 발표된 Bun 1.4.3에 TypeScript 타입 검사 명령 bun check가 추가됐다. 실행·테스트·빌드에 --check를 붙이면 타입 오류가 있을 때 작업을 중단한다. Bun은 특정 프로젝트와 16코어 Apple Silicon Mac에서 tsc 7.0.2보다 3~6.4배 빨랐다고 밝혔다. 파일 출력과 에디터용 언어 서버는 제공하지 않는다.

선정 이유: Bun으로 실행·테스트·빌드하는 프로젝트에서 타입 검사를 선행 조건으로 걸 수 있게 됐다. 적용 방법과 기존 TypeScript 도구가 여전히 필요한 범위, 회사 측 성능·호환성 검증의 한계를 함께 살펴본다.

타입 검사를 Bun 명령 안으로

Bun은 2026년 10월 10일 발표한 1.4.3에 bun check를 추가했다. typescript-go를 이식한 검사기로, tsconfig.json을 읽으며 typescript 패키지를 별도로 설치하지 않아도 타입 검사를 수행한다.

Bun이 공개한 8개 프로젝트 측정에서 bun check는 tsc 7.0.2보다 3~6.4배 빨랐고, 메모리 사용량은 비교 대상의 약 1/2.2~1/4.9 수준이었다. 모두 16코어 Apple Silicon Mac에서 얻은 회사 측 결과다. 예를 들어 VS Code src 검사 시간은 bun check 1.24초, tsc 7.0.2 5.98초였다.

    Bun · Bun v1.4.3

    적용 방법과 교체할 수 없는 범위

    실행·테스트·빌드에 어떻게 적용하나?

    bun run --check src/index.ts 또는 bun run --check dev로 실행 전에 검사한다. bun test --check는 테스트 파일과 그 파일이 가져오는 코드를 검사하며, 오류가 있으면 테스트를 실행하지 않는다. bun build --check는 타입 오류 시 빌드를 실패시키고 결과물을 쓰지 않는다. Bun.build API에서는 check: true를 지정한다. --watch와 함께 쓰면 재시작할 때마다 다시 검사한다.

    Bun · Bun v1.4.3

    기존 TypeScript 도구를 모두 대체하나?

    bun check는 타입 검사만 수행한다. JavaScript나 .d.ts 파일을 출력하지 않고 언어 서버도 제공하지 않는다. 따라서 에디터는 계속 TypeScript를 사용하며, 파일 출력이 필요한 작업에는 별도 도구가 필요하다.

    Bun · Bun v1.4.3

    tsc와 결과가 완전히 같다고 볼 수 있나?

    Bun은 TypeScript 7.0.2 적합성 테스트 51,210개를 모두 통과했다고 밝혔다. 다만 별도 비교에서는 차이가 남았다. 설정을 의도적으로 어긋나게 만든 오픈소스 저장소 72개 비교에서 vuejs/core의 불일치 1건이 나왔고, 추가 컴파일러 옵션 비교에서는 strict를 끈 조건에서 12건이 보고됐다. 오프라인 퍼징 3,032,182개 프로그램에서도 191건의 불일치가 있었다. 적합성 테스트 통과를 모든 코드에서의 결과 일치로 확대해 해석할 수는 없다.

    Bun · Bun v1.4.3

    내 프로젝트에서는 무엇을 확인하면 되나?

    Bun이 안내한 방법은 같은 프로젝트에서 bunx -p typescript@7.0.2 tsc --noEmit --pretty false > tsc.txt와 bun check --no-pretty > bun.txt를 실행한 뒤 diff tsc.txt bun.txt로 진단 결과를 비교하는 것이다. Bun은 차이가 있으면 버그로 보고해 달라고 안내한다. 실행·테스트·빌드에 --check를 적용하기 전, 이 비교로 프로젝트에서의 차이를 확인할 수 있다.

    Bun · Bun v1.4.3

    Bun · Bun v1.4.3

    전체 출처

    • Bun v1.4.3

      Bun

      원문 날짜: 2026-10-10 · 확인: 2026-10-10

      원문 발표: 2026-10-10T12:18:05.517000+09:00. 본문 확보 당시의 원문과 인용 근거를 확인했습니다.

    내용 수정 ·