Skip to content

Oxlint v0.10 마이그레이션 가이드

이 마이그레이션 가이드는 오래된 Oxlint 버전을 위한 것입니다. 최신 안정판 v1.0 릴리스에 대한 정보는 Oxlint v1.0 안정판 발표를 참조하세요.

Oxlint v0.10.0가 출시되었습니다! 이번 릴리스에는 구성 파일에 대한 여러 개선 사항을 포함한, 많은 흥미로운 기능이 포함되어 있습니다.

새로운 기능

새로운 규칙

이 릴리스에는 다음의 새로운 규칙이 포함됩니다:

  • promise/no-callback-in-promise
  • react/iframe-missing-sandbox
  • node/no-new-require

또한 자동 수정/제안 기능이 추가된 항목:

  • eslint/no-plusplus

카테고리별 규칙 활성화/비활성화

이제 구성 파일 내의 categories 필드를 사용하여 규칙의 전체 카테고리를 활성화하거나 비활성화할 수 있습니다.

이제 다음과 같은 명령어를 실행하는 대신:

sh
oxlint -D correctness -W suspicious -c oxlint.json

oxlint.jsoncategories 필드를 추가할 수 있습니다.

jsonc
{
  "categories": {
    "correctness": "deny", 
    "suspicious": "warn", 
  }, 
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

-D-W 플래그를 제거할 수 있습니다.

구성 파일에서 plugins 지원

구성 파일은 이제 ESLint v8 구성에서 제공하는 plugins 배열을 지원합니다. 이로 인해 커맨드라인 인수 없이도 플러그인을 활성화할 수 있게 되었으며, 이를 통해 VSCode에서도 플러그인을 사용할 수 있게 되었습니다.

jsonc
{
  "plugins": ["import"], 
  "categories": {
    "correctness": "deny",
    "suspicious": "warn",
  },
  "rules": {
    "react/jsx-uses-react": "off",
    "react/react-in-jsx-scope": "off",
  },
}

categories와 잘 어울립니다. 활성화/비활성화된 카테고리는 플러그인에도 영향을 미칩니다.

jsonc
{
  "plugins": ["import"],
  // `categories`는 모든 활성화된 플러그인에 영향을 줍니다
  "categories": {
    "correctness": "allow",
    "suspicious": "warn",
  },
  "rules": {
    "no-const-assign": "error",
    "import/no-cycle": "error",
  },
}

파괴적 변경 사항 및 마이그레이션 가이드

CLI vs 구성 파일 규칙 우선순위

이전에는 구성 파일이 커맨드라인 인수에서 설정된 규칙을 덮어쓰는 방식이었습니다. 예를 들어, 다음과 같은 명령어를 실행했을 경우:

sh
oxlint -A correctness -c oxlintrc.json

이 구성 파일과 함께

jsonc
{
  "rules": {
    "no-const-assign": "error",
  },
}

결과적으로 no-const-assign 하나의 규칙만 에러 수준으로 활성화되고, 다른 모든 규칙은 비활성화(즉, "allow"로 설정됨)됩니다.

지금은 커맨드라인 인수가 구성 파일을 덮어씁니다. 동일한 명령어와 동일한 구성 파일을 사용하면 모든 규칙이 비활성화됩니다. 이전과 동일한 동작을 얻으려면 커맨드라인 인수 대신 구성 파일에서 카테고리를 활성화/비활성화해야 합니다.

sh
oxlint -c oxlint.json
jsonc
{
  "categories": {
    "correctness": "allow", 
  }, 
  "rules": {
    "no-const-assign": "error",
  },
}