Biome 실전 가이드 — Rust 기반 초고속 린터+포매터, ESLint와 Prettier를 하나로
ESLint + Prettier 조합을 단일 도구로 대체하는 Biome 1.9 실전 가이드. 설치, biome.json 설정, ESLint/Prettier 마이그레이션, VS Code 통합, GitHub Actions CI 구성까지 정리.
Biome은 ESLint와 Prettier를 하나로 통합한 Rust 기반 JavaScript/TypeScript 툴체인이다. 기존 두 도구를 동시에 사용할 때 발생하는 설정 충돌, 느린 실행 속도, 복잡한 플러그인 관리를 한 번에 해결한다. Biome은 ESLint 대비 최대 25배, Prettier 대비 35배 빠르며, 단일 바이너리로 린팅과 포매팅을 모두 처리한다.
이 가이드가 필요한 사람: 대형 TypeScript 프로젝트에서 ESLint + Prettier 조합이 느리거나 설정 충돌로 고생하는 프론트엔드/풀스택 개발자, 린팅 툴체인을 현대화하려는 팀 리드.
Biome이란 무엇인가
Biome은 Rome Tools 프로젝트를 이어받아 재출발한 오픈소스 툴체인이다. 2023년 1.0, 2024년 1.5를 거쳐 2025~2026년 기준 1.9 버전이 안정적으로 운영 중이다. 핵심 특징은 세 가지다.
1) 통합 도구: 린팅(ESLint 역할)과 포매팅(Prettier 역할)을 단일 실행 파일로 처리한다. biome check 명령 하나로 두 작업을 동시에 수행한다.
2) Rust 기반 성능: Biome은 전체가 Rust로 작성되어 있어 Node.js 기반 도구와 성능 차이가 크다. 공식 벤치마크 기준으로 10만 줄 규모 프로젝트에서 ESLint는 약 8초, Biome은 0.3초 이내에 처리한다.
3) 제로 설정: 기본값만으로도 React, TypeScript, JSX, JSON, CSS, GraphQL 파일을 지원한다. 별도 플러그인 없이 바로 동작한다.
Biome은 파서, 린터, 포매터를 하나의 Rust 바이너리로 통합해 실행한다
설치와 기본 설정
Biome 설치는 npm, pnpm, yarn 모두 지원하며, 글로벌 설치 없이 프로젝트 로컬로 사용하는 것이 권장된다.
기존 프로젝트에서 마이그레이션할 때 Biome은 공식적으로 마이그레이션 명령어를 제공한다.
ESLint 설정 마이그레이션
# ESLint 설정을 biome.json으로 자동 변환
npx @biomejs/biome migrate eslint --write
# Prettier 설정을 biome.json으로 자동 변환
npx @biomejs/biome migrate prettier --write
마이그레이션 후 주의할 점이 있다.
1) 규칙 커버리지 확인: ESLint에는 약 250+개 규칙이 있고, Biome은 그 중 200개 이상을 지원하지만 일부 플러그인 기반 규칙(예: eslint-plugin-import 일부)은 아직 미지원이다. 공식 규칙 목록에서 확인할 것.
2) 포맷 차이: Prettier와 100% 동일한 출력을 보장하지 않는다. 처음 실행 시 전체 파일에 포맷 변경이 생길 수 있으므로 별도 커밋으로 분리하는 것이 좋다.
3) ESLint와 병행 사용: Biome이 지원하지 않는 플러그인 규칙이 필요한 경우 ESLint와 공존할 수 있다. Biome에서 ESLint가 이미 처리하는 규칙을 비활성화하면 충돌 없이 사용 가능하다.
Biome 공식 벤치마크: 10만 줄 기준 ESLint 대비 25배, Prettier 대비 35배 빠르다
VS Code에서 Biome 확장을 사용하면 저장 시 자동으로 린트 수정과 포매팅이 동시에 적용된다
Biome을 쓰지 말아야 할 상황
Biome이 좋은 도구지만, 모든 상황에서 ESLint를 완전 대체하기 어렵다.
아직 마이그레이션이 이른 경우: - eslint-plugin-security, eslint-plugin-import 심화 규칙이 필요한 보안 중심 프로젝트 - 자체 개발한 ESLint 플러그인이 여러 개 있는 경우 — Biome은 외부 플러그인을 아직 지원하지 않는다 - eslint-plugin-react-hooks의 hooks 의존성 검사가 반드시 필요한 경우 (Biome에서 부분 지원)
점진적 도입 전략: 처음부터 ESLint를 전부 제거하지 말고, Biome을 포매팅 전용으로 먼저 도입하고(Prettier 대체) → 린트 규칙을 하나씩 Biome으로 이전하는 방식이 안전하다.