✨
CodeCommitのリポジトリをnpmパッケージとして使う
はじめに
業務でCodeCommitにあるリポジトリを別のリポジトリで使いたい場面がありました。
今回はリポジトリをnpmパッケージとして利用する方法を書きます。
他に、git submoduleとして利用する方法もあります。
CodeCommitとは?
AWSが提供するバージョン管理サービスです。
類似サービスには、GitHubやBitbucketなどがあります。
前提条件
npm installしたいリポジトリ内のpackage.jsonのmainにモジュールの指定がある。
package.json | npm Docs
npm installする
AWSサポートに問い合わせたところ、HTTPS接続の場合は下記のようにすればOKとのことです。
npm install git+https://<username>:<password>@git-codecommit.ap-northeast-1.amazonaws.com/v1/hoge
今回はCodeCommitのリポジトリのため、usernameとpasswordにはAWSのIAMから作成できるGit認証情報を指定します。
CodeCommit への HTTPS 接続用の Git 認証情報を作成する
また、npm install関連の公式ドキュメントにも記載がありました。
npm install | npm Docs
ドキュメントによると、git remote URLによるインストールは下記の形式で指定できるようです。
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
つまり、SSHでもいいですし、GitHubやBitbucketなど他のサービスでも利用可能です。
おわりに
記事を書くにあたり、初めてnpmのドキュメントを読みました。
普段はnpmに登録されているパッケージをとりあえずinstallして使うだけでしたが、npm installの挙動の理解が深まりました。
困った時はやっぱり公式ドキュメント。
Discussion