새로운 ESLint 호환 린터 구현을 목표로 하는 Oxlint 베타 버전 출시
또 나왔네요. 🥳
과연 커뮤니티의 반응은 어떨지 궁금하네요. 😎

3월 17일, JavaScript 도구 체인을 Rust 기반으로 대체하는 것을 목표로 하는 Oxc 프로젝트가 ESLint를 대체하기 위한 Oxlint의 베타 버전을 출시했습니다.
Oxc는 Javascript Oxidation Compiler의 약자로, Rust로 작성된 고성능 JavaScript 개발 도구 모음을 의미합니다. Oxlint는 JavaScript와 TypeScript 코드 품질 향상을 위해 설계된 린터로, Rust 기반의 고성능을 발휘하면서도 다양한 규칙과 플러그인을 기본적으로 지원합니다.
Oxlint 베타 버전은 이전 릴리스에 비해 최대 50% 성능이 향상되었으며, 500개 이상의 규칙을 기본으로 탑재하고 있습니다. 또한 .oxlintrc.json 형식의 설정을 지원하고, .astro, .svelte, .vue 파일의 블록을 추가 설정 없이 린팅할 수 있습니다. 현재 Oxlint는 중소 규모 프로젝트에서 ESLint를 완전히 대체할 수 있으며, 대규모 프로젝트에서는 eslint-plugin-oxlint를 사용하여 ESLint 규칙을 비활성화하고 Oxlint를 먼저 실행하는 방식이 권장됩니다.
향후 Oxlint는 ESLint용 사용자 정의 플러그인 지원과 다양한 IDE 및 에디터와의 연동 강화를 계획하고 있습니다. 이를 통해 JavaScript 개발 환경의 효율성과 생산성을 더욱 향상시킬 것으로 기대됩니다.
광범위한 규칙 지원
500개 이상의 규칙을 기본으로 탑재
eslint, typescript, react, jest, unicorn, jsx-a11y 등 다양한 플러그인의 규칙 포함
언어 및 파일 지원
JavaScript와 TypeScript 파일 지원 (js, mjs, cjs, jsx, ts, mts, cts, tsx)
Vue, Astro, Svelte 파일의 내용 린팅 가능
설정 및 사용 편의성
기본적으로 설정 없이 사용 가능
.oxlintrc.json 형식의 설정 파일 지원
자동 수정 및 제안 기능 제공
성능 최적화
CPU 코어 수에 따라 확장 가능한 병렬 처리
ESLint 대비 50-100배 빠른 처리 속도
통합 및 호환성
ESLint 플러그인(eslint-plugin-oxlint)을 통해 기존 ESLint 설정과 함께 사용 가능
주요 IDE 및 에디터와의 통합 지원 계획
Oxlint는 빠른 속도와 다양한 규칙 지원을 통해 효율적인 코드 품질 관리를 제공하며, 기존 ESLint 환경과의 호환성도 고려하고 있다는 장점이 있네요.
벤치마크 결과
유명 리포지토리에서 실시한 벤치마크 테스트 결과:
Repository | File count | Lint time (GA) | Lint time (beta) | Speedup |
|---|---|---|---|---|
elastic/kibana | 68,591 | 6.02s | 3.11s | 48% faster |
microsoft/vscode | 5,703 | 1.697s | 0.792s | 53% faster |
vitest-dev/vitest | 1,732 | 105ms | 50ms | 52% faster |
vuejs/core | 1,063 | 217ms | 89ms | 59% faster |
최적화 요인
Rust 언어를 사용한 고성능 설계
병렬 처리 활용
기본 규칙 수를 70개에서 99개로 늘렸음에도 성능 향상 달성
이러한 성능 개선으로 대규모 코드베이스에서도 빠른 피드백 루프를 구현할 수 있게 되었습니다.
참조: https://oxc.rs/blog/2025-03-15-oxlint-beta.html
개인적인 의견으로
사이드 프로젝트와 VScode에서 eslint 와 prettier 를 과감하게 버리고 최신 버젼의 Biome 을 적용중에 있는데 아무래도 기존에 사용해오던 환경 마이그레이션과 프로젝트 의존성들과의 연계가 완벽하지 않아서 적용 후 피로감이 있습니다.
tailwind css lint rule 플러그인이 완벽하게 지원되지 않아 여러 코드에 영향을 주거나
react 의 특정한 rule 들이 기존 eslint 플러그인들과 동일하게 지원되지 않거나
물론 이런 것들도 standard-first 로 지원해가는 과정이고 개인 프로젝트에서 실험적으로 써보고 있지만
개발 워크스페이스에 영향을 주는 것들은 얼리스테이지에 사용하는 것은 기존 코드 베이스가 거대할 경우에는 그닥 추천이 되지 않게 되네요.다만 Oxlint 나 Biome 과 같이 추구하는 바가 명확하고 가는 방향, DX 에 영향을 주는 오픈소스들의 변화를 읽는 정도로 훑고 지나가면 좋을듯 합니다.
