Skip to content

Oxlint 베타

본 포스트는 Oxlint의 베타 릴리스를 발표합니다. 이후 Oxlint은 안정적인 v1.0 버전에 도달했습니다! 최신 기능과 개선 사항을 확인하려면 Oxlint v1.0 안정판 발표를 참조하세요.

커뮤니티가 1년 이상 개발한 결과, 우리는 드디어 Oxlint이 베타 릴리스 단계에 진입했다고 기쁘게 발표합니다!

이 마일스톤은 기능 완성도, 성능, 안정성 측면에서 중요한 발전을 의미합니다.

사용 방법

현재 단계에서, 소규모부터 중간 규모 프로젝트에서는 Oxlint으로 완전히 ESLint를 대체할 수 있습니다.

대규모 프로젝트의 경우, eslint-plugin-oxlint를 통해 ESLint 규칙을 비활성화하고, 로컬 또는 CI 환경에서 Oxlint을 ESLint보다 먼저 실행함으로써 더 빠른 피드백 루프를 구현하는 것이 좋습니다.

코드베이스에서 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

Oxlint 사용법 및 프로젝트나 에디터와의 통합 방법에 대한 자세한 안내는 설치 가이드를 참고하세요.

일반 공개 이후 새 기능 강조

  • 이전 릴리스 대비 최대 2배 빠른 성능 향상
  • 설치 없이도 500개 이상의 규칙 내장
  • typescript, unicorn, react, react-perf, nextjs, import, jsdoc, jsx-a11y, node, promise, jest, vitest 플러그인의 많은 규칙이 이제 완전히 지원됨
  • .oxlintrc.json 파일을 통한 구성 지원, 포함 중첩 구성 파일, extends를 사용한 구성 파일 간 공유, 특정 파일에 overrides 적용 등
  • 추가 구성 없이 .astro, .svelte, .vue 파일의 <script> 내용도 린팅 가능
  • 파일에 자동 수정 및 제안 기능 적용 가능

더 많은 규칙, 더 높은 성능

우리는 많은 사용자가 자주 활용하는 ESLint 규칙과 플러그인을 지원하기 위해 기능 완성도를 높이는 데 집중해왔지만, 동시에 Oxlint의 속도 또한 크게 향상시켰습니다.

처음 일반 공개 (GA) 릴리스 당시에는 총 205개의 규칙이 있었으며, 그 중 70개가 기본 활성화되어 있었습니다. 이번 베타 릴리스에서는 총 502개 규칙을 포함하며, 그 중 99개가 기본 활성화됩니다(기본 활성화 규칙 수 41% 증가).

규칙 유형규칙 수 (GA)규칙 수 (베타)증가량
기본 규칙7099+29 규칙
정확성88173+88 규칙
성능09+9 규칙
제한사항1564+49 규칙
엄격 모드4379+36 규칙
스타일38137+99 규칙
의심스러운 항목728+21 규칙
총 규칙 수205502+297 규칙

기본적으로 활성화된 규칙 수가 많아졌음에도 불구하고, 지금까지 가장 빠른 성능을 기록하고 있습니다. 일부 인기 있는 저장소에서의 벤치마킹 결과는 다음과 같습니다:

저장소파일 수린트 시간 (GA)린트 시간 (베타)성능 향상
elastic/kibana68,5916.02s3.11s1.94x
microsoft/vscode5,7031.697s0.792s2.14x
vitest-dev/vitest1,732105ms50ms2.1x
vuejs/core1,063217ms89ms2.44x

로드맵

사용자들이 가장 많이 요청한 기능 중 하나는 기존 커스텀 ESLint 플러그인의 지원입니다. 우리는 이 기능을 위한 전제 조건을 준비하고 있으며, 자바스크립트로 작성된 빠른 린터 플러그인을 지원할 수 있도록 노력하고 있습니다. 다음 메이저 릴리스에서 이 기능이 제공되기를 희망하며, 곧 관련 정보를 공유할 예정입니다.

또한, VSCode, Zed, coc.nvim, IntelliJ 플러그인 등에 대한 개선된 지원을 포함하여 개발 환경 통합을 지속적으로 개선할 계획입니다.

감사의 말씀

200명 이상의 기여자들 없이 Oxlint 베타 버전은 존재할 수 없었습니다.

특별히 감사드립니다: