Vibe Coding을 위한 Lint/Formatter 도구 정리: Biome는 어떤 도구일까요?


Biome는 “오래전부터 널리 쓰인 전통적인 표준 도구”라기보다는, 최근 JS/TS 생태계에서 빠르게 성장하고 있는 Rust 기반 올인원 lint/format 도구에 가깝습니다.

전통적으로 JavaScript와 TypeScript 프로젝트에서는 아직까지 ESLint + Prettier 조합이 가장 널리 사용됩니다. 반면 Biome는 설정이 단순하고 속도가 빠르다는 장점 덕분에, 새 프로젝트나 모노레포 환경에서 선택되는 경우가 점점 늘어나고 있습니다.

Biome가 하는 일

Biome는 대략 다음과 같은 역할을 합니다.

구분 하는 일
Formatter 줄바꿈, 들여쓰기, 따옴표, 세미콜론 같은 코드 스타일을 자동으로 정리합니다.
Linter 버그 가능성, 좋지 않은 패턴, 불필요한 코드, 권장 규칙 위반 등을 탐지합니다.
Organize imports import 문을 정렬하고 불필요한 import를 정리합니다.
Check formatter, linter, import 정리 검사를 한 번에 실행합니다.
Write mode 자동 수정이 가능한 항목을 실제 코드에 반영합니다.

이 프로젝트에서는 pnpm lintbiome check .를 실행하고, pnpm formatbiome check --write .를 실행하도록 구성되어 있습니다.

즉, 이 저장소에서는 Biome가 lint와 format의 중심 도구로 사용되고 있다고 볼 수 있습니다.


대표적인 lint/formatter 도구 비교

도구 주 대상 역할 강점 약점/주의 현재 위치
ESLint JS/TS/JSX Linter JavaScript 생태계의 대표적인 표준 linter입니다. React, Vue, Node.js 등 다양한 플러그인과 커스텀 룰 생태계가 가장 풍부합니다. 설정이 복잡해지기 쉽고, 포맷팅은 보통 Prettier와 함께 사용합니다. 가장 보편적입니다.
Prettier JS/TS/CSS/HTML/ JSON/MD 등 Formatter 코드 스타일 논쟁을 줄여주는 formatter 표준 도구입니다. 다양한 언어와 에디터를 지원합니다. lint 기능은 제공하지 않습니다. 코드 품질 규칙은 ESLint 같은 별도 도구가 필요합니다. formatter 표준입니다.
Biome JS/TS/ JSX/TSX/ JSON/CSS/ HTML/GraphQL 등 Formatter + Linter + import 정리 하나의 도구로 format, lint, check를 처리할 수 있습니다. Rust 기반이라 빠르고 설정이 단순합니다. 공식 문서에서는 Prettier 호환성, 500개 이상의 lint rule, TypeScript/JSX 1급 지원을 강조합니다. ESLint 플러그인 생태계를 전부 대체하지는 못합니다. 특수한 프레임워크 규칙이나 커스텀 룰이 많은 경우에는 ESLint가 더 유리할 수 있습니다. 빠르게 성장 중인 올인원 대안입니다.
Oxlint / Oxc JS/TS/JSX/TSX 고속 Linter JavaScript/TypeScript 전용 고성능 linter입니다. 공식 문서 기준 ESLint 대비 50~100배 빠른 벤치마크, 830개 이상의 규칙, ESLint 마이그레이션 지원을 강조합니다. formatter까지 한 번에 해결하려면 별도 도구 또는 Oxc 생태계 구성이 필요합니다. ESLint 플러그인 완전 호환 여부는 주의가 필요합니다. 대형 저장소와 CI 환경에서 주목받고 있습니다.
typescript-eslint TypeScript ESLint용 TypeScript 분석 계층 ESLint가 TypeScript 문법과 타입 기반 lint를 다룰 수 있도록 해줍니다. 타입 정보를 활용한 깊은 lint가 가능합니다. ESLint 설정 복잡도가 함께 따라옵니다. TypeScript 프로젝트의 전통적인 정석 조합입니다.
Ruff Python Linter + Formatter Python 생태계에서 Biome이나 Oxlint와 비슷한 성격의 Rust 기반 고속 도구입니다. Flake8, Black, isort 등 여러 도구를 상당 부분 대체하는 것을 목표로 합니다. Python 전용 도구입니다. Python 생태계에서 매우 강한 대세 도구입니다.
Stylelint CSS/SCSS/Less CSS Linter CSS 오류와 convention 검사를 전문적으로 수행합니다. 100개 이상의 rule, plugin, autofix를 지원합니다. JS/TS 코드 품질 검사와는 별개의 도구입니다. CSS 전문 표준 도구입니다.

정리하자면

JavaScript와 TypeScript 생태계에서 가장 보편적인 조합은 아직 ESLint + Prettier입니다.

다만 Biome는 이 둘의 상당 부분을 하나로 합친 빠르고 단순한 올인원 도구라고 이해하시면 좋습니다.

Python에서 RuffFlake8 + Black + isort를 대체하려는 성격을 가진 것처럼, Biome는 JS/TS 생태계에서 ESLint + Prettier + import 정리를 더 단순하게 통합하려는 도구에 가깝습니다.

따라서 이 프로젝트처럼 TypeScript 기반 모노레포이고, 복잡한 커스텀 ESLint 플러그인이 많이 필요하지 않은 경우라면 Biome를 선택하는 것은 충분히 합리적인 결정이라고 볼 수 있습니다.

댓글 쓰기 · 수정

0 댓글