Oxlint v1.0 Stable
INFO
이 블로그 글은 VoidZero 웹사이트에 원문이 게시되었습니다.
요약: Oxlint 첫 안정판이 나왔습니다! ESLint 대비 50~100배 수준의 성능, 500개가 넘는 ESLint 규칙 지원, Shopify·Airbnb·Mercedes-Benz 등 실제 대규모 도입 사례가 있습니다. 지금 시작하기.
Oxlint는 JavaScript와 TypeScript를 위한 Rust 기반 린터로, 빠르고 도입하기 쉽게 설계되었습니다. 2023년 12월 첫 공개 이후 크게 발전했으며, 이제 첫 안정 버전 1.0을 릴리스합니다. 안정판과 함께 Oxlint의 전담 풀타임 메인테이너 Cameron을 소개하고, 린터를 유지·개선하는 코어 팀이 성장하고 있음을 알립니다.
Real-World Impact
대규모 코드베이스에서의 성능과 영향이 자랑스럽습니다. Oxlint 덕분에 CI 비용이 줄었습니다.
초기 채택자 5,200명과 다음 같은 회사·프로젝트에 감사드립니다.
- Shopify: 프론트엔드 플랫폼 팀이 Shopify 관리자 콘솔에 Oxlint를 사용합니다.
- Airbnb: 다중 파일 분석 oxc/no-barrel-file와 import/no-cycle을 12만 6천 개 이상의 파일에 적용하며 CI에서 약 7초에 완료됩니다. ESLint 구현은 타임아웃이 납니다.
- Mercedes-Benz: ESLint에서 Oxlint로 바꾸며 린트 시간이 71% 감소했고, 일부 프로젝트는 최대 97% 빨라졌다고 합니다.
- 대형 오픈소스: Bun 같은 런타임부터 Preact 같은 프레임워크까지.
가장 큰 저장소에서 Oxlint는 다음과 같이 보고했습니다.
Finished in 22.5s on 264925 files with 101 rules using 10 threads.X와 Bluesky에 올라온 사례를 보면, 스레드 수에 따라 초당 약 만 파일 수준으로 동작합니다.
Quick Start
몇 시간씩 도구 설정에 쓰지 않고 바로 린트를 시작하고 싶은 개발자에게 Oxlint가 맞습니다. 설정 없이도 즉시 이슈를 잡을 수 있습니다.
설정 없이 실행해 보세요.
$ npx oxlint@latest$ pnpm dlx oxlint@latest$ yarn dlx oxlint@latest$ bunx oxlint@latest$ deno run npm:oxlint@latest설정은 필수는 아니지만, 대형 프로젝트나 맞춤이 필요하면 .oxlintrc.json으로 구성할 수 있습니다. 형식은 ESLint v8 플랫 구성을 따르므로 마이그레이션이 익숙합니다. 각 소스 파일은 가장 가까운 적용 가능한 설정으로 린트되며, glob 패턴으로 overrides를 줄 수 있습니다. 팀 일관성을 위해 공유 설정을 extend할 수도 있습니다.
이미 ESLint를 쓰는 프로젝트는 oxlint-migrate로 기존 ESLint 플랫 구성을 Oxlint로 옮길 수 있습니다. 또한 eslint-plugin-oxlint로 두 린터를 함께 쓸 때 겹치는 ESLint 규칙을 끌 수 있습니다. oxlint && eslint를 돌리면 Oxlint의 빠른 피드백과 ESLint를 함께 활용하는 구성을 권합니다.
자세한 사용·에디터 연동은 설치 가이드를 참고하세요.
Versioning
런타임 코드를 싣는 라이브러리와 달리, 린터는 반환하는 진단만 바뀝니다. Oxlint는 시맨틱 버전을 따릅니다.
- 패치: 버그 수정만
- 마이너: 규칙·진단 범위 확대, 설정 변경 없이 가능
- 메이저: CLI나 설정 변경 등 마이그레이션이 필요할 수 있는 변경 마이너에서도 새 규칙이 숨겨졌던 문제를 드러내 CI가 깨질 수 있습니다. 자세히는 버전 정책 가이드를 보세요.
Highlights
포괄적인 규칙 커버리지
Oxlint는 여러 출처에서 500개가 넘는 규칙을 포함합니다.
- ESLint 코어 전체(타입 검사 규칙을 제외한
typescript-eslint전용 규칙 포함) eslint-plugin-unicorn,eslint-plugin-jsdoc,eslint-plugin-react,eslint-plugin-react-hooks,eslint-plugin-jest,eslint-plugin-import등 인기 플러그인 규칙- bad comparison sequence, const comparisons, only used in recursion 같은 Oxlint 고유 규칙
유연한 설정
.oxlintrc.json으로 다음을 지원합니다.
- 특정 디렉터리에 적용되는 중첩 설정
- 파일 종류·위치를 겨냥하는 override 패턴
- 팀 일관성을 위한 공유 설정 extend
에디터 통합
다음을 위한 일류 지원:
- VS Code
- IntelliJ IDEA·WebStorm
- Zed
- 기타 LSP를 쓰는 에디터
도움이 되는 진단
Oxlint는 문제만 설명하는 데 그치지 않고, 시각화하고 고치는 방법을 제안하는 명확한 메시지를 제공합니다.
터미널에서 상세 오류를 보여 주는 Oxlint
Benchmark
같은 설정 기준 벤치마크에서 Oxlint는 ESLint 대비 약 50~100배 빠릅니다.
| Tool | Time |
|---|---|
| oxlint (multi thread) | 615.3 ms |
| oxlint (single thread) | 1.840 s |
| eslint | 33.481 s |
Roadmap
Oxlint 1.0은 시작일 뿐입니다. 안정판이어도 앞으로 중요한 기능과 개선이 계획되어 있습니다.
커스텀 규칙 — 곧 JavaScript 플러그인 지원으로, 팀이 Oxlint 아키텍처와 자연스럽게 맞물리는 커스텀 규칙을 작성할 수 있게 됩니다.
성능 최적화 — 파싱·분석 속도를 계속 개선합니다.
세밀한(glob 단위) 설정 — ESLint v9 스타일 설정
Acknowledgements
Oxlint 1.0은 200명이 넘는 기여자가 함께 만든 결과입니다. 버그 리포트, 기능 요청, 코드 기여 모두에 감사드립니다.
특히:
- @branchseer — 다중 파일 분석 런타임
- @camc314, @mysteryven, @shulaoda — 정교한 린트 규칙, 테스트, 지속적 개선
- @camchenry — 중첩 설정
- @DonIsaac — 설정·문서·웹사이트, SquiggleConf 2024
- @leaysgur — RegExp 파서, JSDoc 플러그인
- @Sysix —
eslint-plugin-oxlint, 언어 서버·VSCode 확장에 큰 기여 - @u9g, @rzvxa — 제어 흐름 그래프 분석
Join the Community
Oxlint에 대한 피드백을 듣고 싶고, 개발 워크플로 개선에 어떻게 도움이 되는지 보고 싶습니다.
- Discord: 커뮤니티 서버
- GitHub: Discussions
- Issues: 이슈 트래커
여러분의 피드백이 Oxlint의 방향을 만듭니다.

