Skip to content

Oxlint Import 플러그인 알파 버전

oxlint --import-plugin의 알파 릴리스를 발표하게 되어 기쁩니다. 이는 eslint-plugin-import의 포트입니다.

이 포트는 eslint-plugin-import와 관련된 모든 알려진 문제를 해결하는 것을 목표로 합니다:

이번 릴리스에는 무엇이 포함되나요?

이 알파 릴리스는 프로젝트가 ESM (ECMAScript Modules) 형식일 경우 작동할 것으로 예상됩니다.

tsconfig.compilerOptions.paths를 통해 경로 별칭(예: @/foo)이 필요한 경우, --tsconfig 옵션을 사용할 수 있습니다:

npx oxlint@latest --tsconfig ./tsconfig.json --import-plugin

npx oxlint@latest --import-plugin를 통해 기본적으로 활성화되는 규칙은 다음과 같습니다:

npx oxlint@latest --import-plugin -D rule-name를 통해 선택적으로 활성화할 수 있는 규칙은 다음과 같습니다:

또한 이러한 규칙에 대한 개선도 이루어졌습니다. 예를 들어 no-cycle 규칙의 진단 메시지가 향상되었습니다:

 ⚠ eslint-plugin-import(no-cycle): 종속성 주기 감지됨
   ╭─[apps/web/playwright/lib/fixtures.ts:13:42]
12 │ import { createPaymentsFixture } from "../fixtures/payments";
13 │ import { createBookingPageFixture } from "../fixtures/regularBookings";
   ·                                          ─────────────────────────────
14 │ import { createRoutingFormsFixture } from "../fixtures/routingForms";
   ╰────
 도움말: 다음 경로들이 주기를 형성합니다:
       -> ../fixtures/regularBookings - apps/web/playwright/fixtures/regularBookings.ts
       -> ./users - apps/web/playwright/fixtures/users.ts
       -> ../lib/testUtils - apps/web/playwright/lib/testUtils.ts
       -> ./fixtures - apps/web/playwright/lib/fixtures.ts

이번 릴리스는 기능 목록이 길지 않지만, 현재 생태계의 복잡성 때문에 이러한 규칙을 구현하고 제대로 동작하도록 보장하는 데 상당한 노력이 필요합니다.

지난 6개월간 우리는 여가 시간을 활용해 --import-plugin가 정상적으로 작동하기 위한 모든 사전 조건을 성공적으로 완료했습니다:

  • 모듈 해석을 위한 해결기
  • 처리 대상 파일들을 최대한 병렬로 처리하기 위한 작은 "런타임"
  • 가져오기/내보내기 정보를 저장하기 위한 ModuleRecord 데이터 구조 및 그에 해당하는 빌더

어떻게 도와줄 수 있나요?

프로젝트 유지보수자(즉, 설정 엔지니어)이고, ESLint 및 모든 플러그인을 업데이트하는 데 시간이나 에너지가 부족하다면, @brooooooklyn의 예를 따라 자신의 모든 프로젝트에서 ESLint을 oxlint으로 교체할 수 있습니다. (napi-rs/napi-rs/pull/2032)

오픈소스 열정가이며 도움을 주고 싶으시다면, discord에서 우리와 이야기하거나, 라인터 제품 계획 및 진행 현황 이슈를 확인하거나, 미뤄진 새로운 규칙 제안을 통해 도움을 줄 수 있습니다.

엔지니어링 매니저이거나, 인프라 비용 절감을 위해 330개 이상의 규칙을 갖춘 oxlint으로 프로젝트를 마이그레이션하려는 의향이 있으시다면, 후원을 고려해주시기 바랍니다. 이를 통해 저희가 귀하의 프로젝트 우선순위를 높일 수 있습니다.

기억하세요, oxlint는 현재 커뮤니티 중심으로 개발되고 있으며, 충분한 자원이 확보된다면 다음 몇 달 내에 --import-plugin를 일반 공개할 수 있다고 믿습니다.


oxlint 사용을 시작하려면 설치 안내서를 따르거나, oxc 프로젝트에 대해 더 알아보세요.