다중 파일 분석
다중 파일 분석을 통해 규칙은 각 파일을 따로 보지 않고, 모듈 의존성 그래프처럼 프로젝트 전역 정보를 사용할 수 있습니다.
성능과 구조
ESLint는 파일 단위로 규칙을 평가하며 내장 프로젝트 그래프를 제공하지 않습니다. eslint-plugin-import 같은 플러그인은 ESLint 코어 밖에서 모듈 해석과 모듈 그래프를 다시 구축해야 합니다. 원본 import/no-cycle 규칙은 수십 초, 더 큰 저장소에서는 일 분 넘게 걸린다는 보고가 있습니다.
Oxlint는 다중 파일 분석을 코어 엔진에 구현합니다. 파일을 린트하면서 모듈 그래프를 병렬로 만들고, 파싱·해석을 규칙 간에 공유하며, 비슷한 import/no-cycle 검사를 보통 몇 초 안에 끝냅니다.
import 플러그인 켜기
다중 파일 분석을 쓰려면 import 플러그인을 켜고 최소 한 개 이상의 import/* 규칙을 설정해야 합니다. 예시는 다음 섹션의 설정 파일을 참고하세요.
import/no-cycle로 순환 감지
import/no-cycle 를 켜면 순환 의존성을 찾을 수 있습니다.
import 순환은 다음 문제를 일으킵니다:
- 의존 방향을 불분명하게 함
- 리팩터링을 어렵게 함
- 평가 순서 때문에 가져온 값이
undefined일 수 있음
json
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["import"],
"rules": {
"import/no-cycle": ["error", { "maxDepth": 3 }]
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
plugins: ["import"],
rules: {
"import/no-cycle": ["error", { maxDepth: 3 }],
},
});TypeScript 경로 별칭
import/* 규칙을 실행할 때 Oxlint는 tsconfig.json을 자동으로 찾아 compilerOptions.paths 같은 TypeScript 경로 별칭을 해석합니다.