Skip to content

npm パッケージ名を eslint-plugin-awscdk に変更しました

2025 年 10 月 21 日付で、npm パッケージ名を eslint-cdk-plugin から eslint-plugin-awscdk に変更いたしました。

eslint-plugin-awscdk というパッケージ名を快く譲ってくださった Cory Hall 氏に、心より感謝申し上げます!


変更後も eslint-cdk-plugin は引き続き利用可能ですが、今後の機能の追加を伴う更新は eslint-plugin-awscdk に対して行われます。
(セキュリティやバグ修正の更新は eslint-cdk-plugin にも適用されます)

ユーザーの皆様にはお手数をおかけしますが、eslint-plugin-awscdk への移行をご検討ください。

バージョンについて

  • eslint-cdk-plugin: v3.x.x(最終バージョン)
  • eslint-plugin-awscdk: v4.0.0(新パッケージの初回リリース)

新パッケージは v4.0.0 から開始します。これは、パッケージ名の変更が破壊的変更に該当するため、セマンティックバージョニングに従ってメジャーバージョンを更新したものです。

変更手順

1. 既存パッケージのアンインストール

sh
npm uninstall -D eslint-cdk-plugin
sh
yarn remove eslint-cdk-plugin
sh
pnpm remove -D eslint-cdk-plugin

2. 新パッケージのインストール

sh
npm install -D eslint-plugin-awscdk
sh
yarn add -D eslint-plugin-awscdk
sh
pnpm install -D eslint-plugin-awscdk

3. 設定ファイルの更新

diff
-import cdkPlugin from "eslint-cdk-plugin";
+import cdkPlugin from "eslint-plugin-awscdk";

変更の背景

命名規約からの逸脱

ESLint エコシステムにおいて、プラグインは eslint-plugin- プレフィックスを持つことが慣例となっていますが、、本プロジェクトの旧パッケージ名 eslint-cdk-plugin は、この命名規約から逸脱していました。

初期の命名判断

当初は以下の背景から命名のシンプルさを優先して、非標準的な命名を採用していました

  • eslint-plugin-cdk 及び eslint-plugin-awscdk が既に npm レジストリに存在していた
  • ESLint v9 の Flat Config 形式では、JavaScript モジュールとしてプラグインを読み込むため、プレフィックスの制約が緩和されており、命名の慣例に従わない場合でもユーザーへの影響が少ないと考えた

変更を必要とした要因

1. Oxlint との互換性

Oxlint が ESLint と互換性を持つ高速な Linter として注目されているため、本プロジェクトも Oxlint での使用を可能にすることを考えたが、Oxlint は eslint-plugin-プレフィックスを持つパッケージのみをサポートしており(※1)、本プラグインの利用ができない状況にあった

2. Legacy Config の継続的な使用

当初の予測に反し、ESLint v8 以前の Legacy Config 形式を採用するプロジェクトが依然として多数存在しており、これらの環境では、標準的な命名規約に従わないプラグインは使用できない状況にあった(※2)


上記の状況を総合的に検討した結果、より広範なユーザーベースに対応するため、標準的な命名規約への準拠が不可欠であると判断しました。


※1. 参照: https://oxc.rs/docs/guide/usage/linter/plugins.html

※2. 回避策としてeslint-plugin-awscdk@npm:eslint-cdk-plugin@latestのようなエイリアス設定は可能ですが、追加設定が必要となります

Last updated: