CodeCommitのリポジトリをnpmパッケージとして使う

2021/05/03に公開

はじめに

業務で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