버전 정책
Oxlint는 의미적 버전 관리(semver)를 따르며, 업그레이드 시 예측 가능성을 목표로 합니다.
호환성 깨짐(브레이킹) 으로 보는 변경:
- 기존 워크플로를 깨뜨리는 CLI 변경
- 기존 설정을 깨뜨리는 설정 파일(
.oxlintrc.json) 변경 - 규칙 이름 변경 또는 규칙 제거
비브레이킹 으로 보는 변경:
- 새 린트 규칙 추가
- 규칙의 기본 설정 변경
- 규칙 설명이나 진단 메시지 개선
- 기존 규칙에 새 설정 옵션 추가
- 원본 ESLint 규칙 동작에 더 맞추기 위한 규칙 동작 수정
- 설정 파일에 새 필드 추가
Semver 적용 대상이 아닌 기능
다음 기능은 의미적 버전 관리 대상이 아닙니다. 패치·마이너에서도 예고 없이 호환성 깨짐이 들어올 수 있습니다:
- JavaScript 사용자 정의 플러그인 — 플러그인 API와 동작이 통지 없이 바뀔 수 있음
- 타입 인식 린팅 — 기능이 진화하면서 타입 인식 규칙과 동작이 바뀔 수 있음
새 린트 오류가 브레이킹인가?
Oxlint 새 버전이 코드에서 추가 이슈를 보고하는 것은 정상입니다. 이는 프로젝트가 깨졌다기보다 Oxlint 분석이 나아졌다는 뜻이며, 새 오류는 더 강한 분석을 반영합니다.
새 버전에서 기대할 수 있는 것
- 패치(1.0.x): 버그 수정, 성능 개선, 내부 리팩터링. 항상 안전하게 올려도 됩니다.
- 마이너(1.x.0): 새 규칙, 진단 개선, 새 기능. 코드베이스에 새 오류가 생겨도 브레이킹으로 보지 않습니다.
- 메이저(x.0.0): CLI나 설정 형식의 브레이킹 변경용으로 예약합니다.
Renovate Bot 사용 시
아래 스니펫을 Renovate 설정에 넣으면 Oxlint를 자동으로 최신으로 유지할 수 있습니다.
json
{
"extends": ["config:recommended"],
"packageRules": [
{
"matchPackageNames": ["oxlint"],
"groupName": "oxlint",
"automergeType": "branch",
"stabilityDays": 1
}
]
}eslint-plugin-oxlint를 쓰는 경우 Oxlint와 함께 올려 호환 문제를 피하세요.
Dependabot 사용 시
아래 스니펫을 Dependabot 설정에 넣으면 Oxlint를 자동으로 최신으로 유지할 수 있습니다.
yaml
version: 2
updates:
- package-ecosystem: "npm"
directory: "/" # package.json 위치
schedule:
interval: "daily"
groups: # Oxlint 관련 업데이트를 묶음
oxlint:
patterns:
- "oxlint"
commit-message: # 기록을 깔끔하게
prefix: "chore"
include: "scope"
ignore: # 선택: 향후 메이저 무시
- dependency-name: "oxlint"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 1 # 한 번에 하나의 PReslint-plugin-oxlint를 쓰는 경우 Oxlint와 함께 올려 호환 문제를 피하세요.