🥤

AWS CodeArtifactにnpmパッケージを登録してみた

2022/01/06に公開

AWS CodeArtifactに自作のパッケージを登録して、それを利用してみる

リポジトリの作成

CodeArtifactのリポジトリを作成

  • リポジトリ名 hello-world-repo
  • パブリックアップストームリポジトリ なし
  • ドメイン このアカウント
  • ドメイン名 my-domain

リポジトリに登録

登録するパッケージ作成

sample-pkg $ npm init -y
sample-pkg $ touch index.js
sample-pkg $ tree
.
├── index.js
└── package.json

0 directories, 2 files
package.json
{
  "name": "sample-pkg",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
index.js
const hello = () => {
  console.log("Hello world npm package")
};

module.exports = hello;
module.exports.default = hello;

リポジトリに接続

hello-world-repoリポジトリを選択して、接続手順の表示をクリックし、npmを選択

aws codeartifact login --tool npm --repository hello-world --domain hoge --domain-owner xxxxxxx

#設定内容確認 registryに設定されている
npm config ls -l 

バージョン上げる

同じバージョンはアップできないので、毎回バージョンアップしてからupする

# v1.0.1
sample-pkg $ npm version patch
# v1.1.0
sample-pkg $ npm version minor
# v2.0.0
sample-pkg $ npm version major

AWSにup

sample-pkg $ npm publish

リポジトリから使用する

使用するパッケージ作成

use-sample $ npm init -y
use-sample $ touch index.js
use-sample $ tree
.
├── index.js
└── package.json

0 directories, 2 files

use-sample $ npm install sample-pkg@2.0.0

index.js
const  hello = require('sample-pkg');

hello();

実行

use-sample $ node index.js               
Hello world npm package!

デフォルトのnpmレジストリに戻す

npm config set registry https://registry.npmjs.com/

Discussion