Skip to content

Oxlint 일반 공개

이 포스트는 Oxlint의 초기 일반 공개 릴리스를 안내합니다. 더 많은 기능과 개선 사항을 갖춘 최신 안정 버전은 Oxlint v1.0 안정 릴리스 발표를 참조하세요.

우리는 이제 Oxlint이 일반적으로 사용 가능해졌다고 발표하는 것을 매우 기쁘게 생각합니다!
이 결정적 순간은 우리 팀이 문제를 신속하게 처리하고 우선순위를 정리할 수 있는 능력을 입증한 것입니다.

Oxlint은 기본적으로 구성 없이 오류가 있거나 불필요한 코드를 잡아내기 위해 설계된 자바스크립트 린터입니다.

사용 방법

현재 단계에서, oxlint은 ESLint을 완전히 대체하기 위한 것이 아닙니다. 단지 ESLint의 느린 속도가 작업 흐름에 방해가 될 때 보완 도구로 활용됩니다.

더 빠른 피드백 루프를 위해서는, 리뷰 전용 린트 또는 CI 설정에서 ESLint보다 먼저 oxlint을 실행하는 것을 권장합니다. 대규모 코드베이스에서도 실행 시간이 몇 초밖에 걸리지 않습니다.

자신의 자바스크립트/타입스크립트 코드베이스에서 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

또는 자세한 지침을 위해 설치 가이드를 참조하세요.

설계

ESLint보다 50~100배 빠름

현실적인 시나리오에서, 샵핑의 보고에 따르면, 이전에 75분이 걸렸던 그들의 CI에서의 ESLint 실행 시간이 이제는 10초로 단축되었습니다.

쉐이프쇼의 닷넷 및 Preact 창시자인 재슨 밀러의 의견:

oxlint은 샵핑에서 엄청난 성과를 가져왔습니다. 저희 이전 린트 설정은 75분이 걸렸기에, CI에서 40개 이상의 워커에 나누어 실행해야 했죠.

반면, oxlint은 단일 워커에서 동일한 코드베이스를 약 10초 만에 린트할 수 있고, 출력 내용도 해석하기 쉬워졌습니다.

마이그레이션할 때 기존 설정에서는 숨겨졌거나 건너뛴 몇 가지 버그도 발견할 수 있었습니다!

대부분의 성능 향상은 성능을 위해 의도적으로 설계되었으며, 루스트와 병렬 처리를 핵심 요소로 활용했기 때문입니다.

정확성 중심 린팅

Oxlint은 기본적으로 잘못된, 중복되거나 혼란스러운 코드를 식별하도록 설정되어 있으며, perf, suspicious, pedantic, style 등으로 분류되는 불필요한 세부 규칙은 기본적으로 비활성화되어 있습니다. 이는 정확성에 초점을 맞추기 위함입니다.

사용 편의성

새로운 자바스크립트/타입스크립트 코드베이스를 설정하는 것은 점점 더 복잡해지고 있습니다.
도구 간 호환성 문제에 직면할 가능성은 매우 높으며, 이로 인해 수시간의 시간 낭비가 발생할 수 있습니다.

이러한 이유로 우리는 oxlint을 기본적으로 초기 설정 없이 바로 사용 가능하도록 설계했습니다. 노드.js 역시 필수 요구사항이 아닙니다.
대부분의 조정은 명령줄을 통해 가능하며, ESLint 설정 파일 읽기 기능은 현재 개발 중입니다.

향상된 진단 정보

린터 메시지를 이해하는 것은 종종 어렵습니다.
Oxlint은 이를 단순화하기 위해 근본 원인을 정확히 지목하고, 유용한 메시지를 제공하여, 긴 규칙 문서를 읽어야 할 필요성을 제거하고, 소중한 시간을 절약합니다.

vscode 저장소에서 oxlint -D perf를 실행한 결과:

통합된 규칙

현재까지, Oxlint은 플러그인 시스템을 제공하지 않지만, 타입스크립트, 리액트, 젝스트, 유니콘, JSX-a11y, 임포트 등의 인기 플러그인에서 나오는 규칙들을 적극적으로 통합하고 있습니다.

우리는 자바스크립트 생태계에서 플러그인의 중요성을 인식하고 있으며, 또한 플러그인 시스템을 위해 DSL 기반 접근 방식을 검토 중입니다.

하지만 한 가지를 강조하고 싶습니다 — 독립형 린터라는 점에서, 플러그인 의존성 목록을 관리할 필요 없이,
호환성 문제를 해결하거나,
버전 제약으로 인해 수정된 플러그인을 사용해야 하는 상황을 피할 수 있다는 점에서 큰 장점이 있습니다.


좋은 린팅 경험과 즐거운 연휴 보내세요!

시작하려면 설치 가이드를 따라가세요,
oxc 프로젝트에 대해 더 알아보세요,
또는 허커티뉴스에서 논의해 보세요.