Skip to content

다중 파일 분석

다중 파일 분석을 통해 규칙은 각 파일을 따로 보지 않고, 모듈 의존성 그래프처럼 프로젝트 전역 정보를 사용할 수 있습니다.

성능과 구조

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 경로 별칭을 해석합니다.