CDKコンストラクトを社内npmパッケージとして配布する設計
共通インフラパターンをCDKコンストラクトライブラリ化して配布する際の、依存関係設計とバージョン運用の勘所をまとめる。
peerDependenciesの設計
aws-cdk-libとconstructsはdependenciesではなくpeerDependenciesに置く。利用側と二重にバンドルされると型不一致エラーの温床になる。
配布形態の選択
GitHub PackagesやCodeArtifactなどのプライベートレジストリ配布が基本。jsiiでビルドすれば他言語向け配布も視野に入る。
バージョン運用
aws-cdk-libの最低要求バージョンはライブラリが使う機能で決まる。上限は^指定で開け、破壊的変更時のみメジャーを上げる。