내장 플러그인
Oxlint에는 많은 인기 ESLint 플러그인 규칙 세트가 내장되어 있습니다. recommended 설정의 규칙 대부분이 이미 구현되어 있어 추가 설정 없이도 유용한 결과를 얻을 수 있습니다.
Oxlint는 ESLint 호환 API로 작성된 JavaScript 플러그인도 지원합니다. JS 플러그인을 참고하세요.
Oxlint에서의 플러그인 의미
플러그인은 이름이 붙은 규칙 묶음입니다. 플러그인을 켜면 해당 규칙을 사용할 수 있게 되고, 카테고리 플래그로 어떤 규칙을 어떤 심각도로 켤지 제어합니다.
ESLint에서 넘어오는 경우 import, react, jsx-a11y, jest, unicorn 등 이미 알고 있는 생태계와 대응된다고 보면 됩니다.
플러그인 켜기
설정 파일로 플러그인을 켜는 것을 강력히 권장합니다. 프로젝트에서 관리·공유하기 훨씬 쉽습니다.
설정 파일에서 켜기
설정 파일의 plugins 필드로 플러그인을 켤 수 있습니다:
{
"plugins": ["import"]
}import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["import"],
});plugins를 설정하면 기본 플러그인 집합을 덮어씁니다. 켜고 싶은 플러그인은 모두 목록에 넣어야 합니다.
CLI에서 켜기
--<플러그인-이름>-plugin 형태의 CLI 플래그로도 플러그인을 켤 수 있습니다.
예: import 플러그인 켜기:
oxlint --import-plugin켠 뒤에는 카테고리 플래그로 무엇을 켤지 결정합니다.
예: import 플러그인에서 correctness는 오류, suspicious는 경고:
oxlint --import-plugin -D correctness -W suspiciousCorrectness 규칙은 기본으로 켜져 있습니다.
팁: oxlint --help로 플래그 전체 목록을 확인하세요.
기본 플러그인 끄기
설정 파일에서 기본 플러그인 끄기
설정 파일에서 모든 기본 플러그인을 끄려면 plugins를 빈 배열로 두세요:
{
"plugins": []
}import { defineConfig } from "oxlint";
export default defineConfig({
plugins: [],
});기본 플러그인이 모두 꺼지고 기본 규칙 세트만 사용합니다.
CLI에서 기본 플러그인 끄기
여러 플러그인이 기본으로 켜져 있습니다. --disable-<플러그인-이름>-plugin으로 끌 수 있습니다.
예: unicorn 끄기:
oxlint --disable-unicorn-plugin끄기는 기본 플러그인만 지원합니다. 기본이 아닌 플러그인은 아예 목록에 넣지 않으면 됩니다.
지원 플러그인
내장 플러그인과 출처는 아래 표와 같습니다.
| 플러그인 이름 | 기본 | 출처 |
|---|---|---|
eslint | 예 | ESLint 코어 규칙 |
typescript | 예 | typescript-eslint 규칙(일명 @typescript-eslint/plugin). 타입 인식 모드로 타입 인식 규칙 사용 가능. |
unicorn | 예 | eslint-plugin-unicorn |
react | 아니오 | eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-react-refresh |
react-perf | 아니오 | eslint-plugin-react-perf |
nextjs | 아니오 | @next/eslint-plugin-next |
oxc | 예 | Oxc 전용 규칙 및 deepscan에서 이식한 일부 규칙 |
import | 아니오 | eslint-plugin-import(eslint-plugin-import-x와 동등) |
jsdoc | 아니오 | eslint-plugin-jsdoc |
jsx-a11y | 아니오 | eslint-plugin-jsx-a11y |
node | 아니오 | eslint-plugin-n |
promise | 아니오 | eslint-plugin-promise |
jest | 아니오 | eslint-plugin-jest |
vitest | 아니오 | @vitest/eslint-plugin(eslint-plugin-vitest) |
vue | 아니오 | 스크립트 태그와 함께 동작하는 eslint-plugin-vue 규칙 |
규칙 커버리지 현황은 린터 제품 계획 이슈를, 프레임워크·파일 형식 지원은 호환성 표를 참고하세요.
새 플러그인 추가
Oxlint는 내장 플러그인과 ESLint 호환 JavaScript 플러그인으로 생태계 지원에 집중합니다. 기존 내장 플러그인에 규칙을 추가하는 기여를 권장합니다.
규칙 세트를 내장 플러그인으로 구현해야 한다고 생각되면 먼저 GitHub Discussion을 열어 주세요.