Skip to content

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-fileimport/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.

XBluesky에 올라온 사례를 보면, 스레드 수에 따라 초당 약 만 파일 수준으로 동작합니다.

Quick Start

몇 시간씩 도구 설정에 쓰지 않고 바로 린트를 시작하고 싶은 개발자에게 Oxlint가 맞습니다. 설정 없이도 즉시 이슈를 잡을 수 있습니다.

설정 없이 실행해 보세요.

sh
$ npx oxlint@latest
sh
$ pnpm dlx oxlint@latest
sh
$ yarn dlx oxlint@latest
sh
$ bunx oxlint@latest
sh
$ 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

에디터 통합

다음을 위한 일류 지원:

도움이 되는 진단

Oxlint는 문제만 설명하는 데 그치지 않고, 시각화하고 고치는 방법을 제안하는 명확한 메시지를 제공합니다.

CLI Demo터미널에서 상세 오류를 보여 주는 Oxlint

Benchmark

같은 설정 기준 벤치마크에서 Oxlint는 ESLint 대비 약 50~100배 빠릅니다.

ToolTime
oxlint (multi thread)615.3 ms
oxlint (single thread)1.840 s
eslint33.481 s

Roadmap

Oxlint 1.0은 시작일 뿐입니다. 안정판이어도 앞으로 중요한 기능과 개선이 계획되어 있습니다.

커스텀 규칙 — 곧 JavaScript 플러그인 지원으로, 팀이 Oxlint 아키텍처와 자연스럽게 맞물리는 커스텀 규칙을 작성할 수 있게 됩니다.

성능 최적화 — 파싱·분석 속도를 계속 개선합니다.

세밀한(glob 단위) 설정 — ESLint v9 스타일 설정

Acknowledgements

Oxlint 1.0은 200명이 넘는 기여자가 함께 만든 결과입니다. 버그 리포트, 기능 요청, 코드 기여 모두에 감사드립니다.

특히:

Join the Community

Oxlint에 대한 피드백을 듣고 싶고, 개발 워크플로 개선에 어떻게 도움이 되는지 보고 싶습니다.

여러분의 피드백이 Oxlint의 방향을 만듭니다.

Give It a Try

설치 가이드로 시작하거나 Oxc 프로젝트 소개를 읽어 보세요.