야크 쉐이빙
Biome 해체 분석
'One toolchain for your web project'
요약
- Rust로 작성된 JavaScript/TypeScript 프로젝트용 통합 툴체인
- 코드 포맷팅(formatting), 린팅(linting), import 정렬 정리와 같은 기능들을 종합적으로 관리
- 'JS 도구를 통합하자'는 Rome 프로젝트의 계보를 잇는 도구
- Algora Prettier 챌린지에서 우승한 이력이 있음
등장 배경
- 생태계 활성화: 코드 포맷터 분야에 경쟁과 혁신 촉진
- 성능 검증: Rust 기반 구현으로 속도와 효율성 테스트
- 웹 확장성: WASM/WASI 환경에서 동작 가능성 확인
- 커뮤니티 참여: 상금과 챌린지를 통한 개발자 참여 유도
사용법
설치
기본 설정 방법은 VSCode 기준으로 작성되었습니다.
@biomejs/biome패키지 설치- VSCode Biome Extension 설치
- 프로젝트 루트에
biome.json추가(biome init실행) 및 설정 내용 작성 .vscode/setting.json에 아래 내용 추가 혹은 에디터 설정 변경
명령어
lint: 코드 스타일 및 규칙 위반 검사format: 코드 포맷팅 수행check: 린트, 포맷팅, 오류 검사 수행 (lint+format)ci: CI 환경용 검사 수행 (check와 유사하지만 자동 수정 X)
응용
- 저장 시 자동 검증 (앞의 VSCode 설정 확인)
- 기존 ESLint + Prettier를 대체하는 방안이기 때문에 당연히도 Git Hooks 기반 검증을 진행하면 유용하다.
- ex.
lint-staged와 함께pre-commit단계에서biome ci실행
- ex.
장단점
- 장점
- 설정이 간단함
- Rust 기반이라 비교적 빠름
- 단점
- 현재 미지원 언어가 존재(React는 상관 없음)
- 신생 프로젝트라 레퍼런스 부족
레퍼런스
참고 링크
Last updated on