CDKのアップデート

CDKのアップデートがいつもよくわからなくなるのでメモ。

参考リンク

CDK CLIのアップデート

npm-check-updatesを導入する。

npm install -g npm-check-updates

GlobalにインストールされているCDKのアップデートをチェックする。

$ ncu -g aws-cdk
[====================] 1/1 100%

 aws-cdk  2.1.0  →  2.2.0

ncu itself cannot upgrade global packages. Run the following to upgrade all global packages: 

npm -g install aws-cdk@2.2.0

アップデートする。

npm -g install aws-cdk@2.2.0
# 以下でもたぶん結果は同じ
# npm -g install aws-cdk
# npm -g update aws-cdk

プロジェクトのCDKの依存性のアップデート

  • npm outdatedは古いパッケージを教えてくれる
  • npm updateは更新を行うが、package.jsonを更新してくれない
  • npm update^付きのバージョン指定(互換性のあるバージョン指定)の場合にメジャーバージョンアップをしない
  • npm audit fix脆弱性のあるときしか使えないが、package.jsonは更新してくれるが、メジャーバージョンアップをしない
  • npm audit fix --force脆弱性のあるときしか使えないが、package.jsonは更新してくれ、メジャーバージョンアップもする

いずれも完全ではないので、npm-check-updatesを使う方がよい。

更新をチェックする。

ncu

package.jsonを書き換える。特定のパッケージのみだけ書き換えたいときは引数でパッケージ名を指定する。

ncu -u

書き換えたpackage.jsonをもとにパッケージをインストールする。

npm install

不要になった依存性の削除

depcheckをインストールする。

npm install -g depcheck

不要な依存性をチェックする。

$ depcheck
Unused devDependencies
* @types/node
* ts-node

不要なものはuninstallする。