バージョニング方針
Oxlint は、アップグレード時に明確さと予測可能性を提供することを目的として、セマンティックバージョニングに従います。
以下の変更は 破壊的変更 とみなされます:
- 既存のワークフローを破壊する可能性のある CLI インターフェースの変更。
- 既存の設定を破壊する可能性のある構成ファイル(
.oxlintrc.json)の変更。 - ルールの名前の変更または削除。
以下の変更は 非破壊的変更 とみなされます:
- 新しいルールの追加。
- ルールのデフォルト構成の変更。
- ルールの説明や診断メッセージの改善。
- 既存のルールに新しい構成オプションの追加。
- 元の ESLint ルールの動作にさらに整合性を持たせるようにルールの動作を修正した場合。
- 構成ファイルへの新しいフィールドの追加。
セマンティックバージョニングの対象外となる機能
以下の機能は 実験的 であり、セマンティックバージョニングの対象ではありません。パッチ版やマイナーバージョンでも、いつでも破壊的変更が導入される可能性があります:
- 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 # 1つのプルリクエストずつeslint-plugin-oxlint を使用している場合は、Oxlint と一緒に更新することを確認して、互換性の問題を回避してください。
