はじめに
こんにちは、エンジニアのkeitaMaxです。
今回はGitHubのクイックスタートに沿って自作ライブラリを作成してみようと思います。
GitHubの公式のクイックスタートに従って行っていこうと思います。
NPMに登録
まずは以下に登録します。
公式のクイックスタート
GitHub に新しいリポジトリを作成し、ノードに .gitignore を追加します。 詳しくは、「新しいリポジトリの作成」を参照してください。
ローカル コンピューターにリポジトリを複製します。
まずリポジトリを作成します。
sample_package
という名前で作成し、ローカルにクローンをし、VSCodeでフォルダを開きました。
index.js ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。
こんな感じでindex.js
を作成しました。
console.log("Hello, World!");
npm パッケージを npm init で初期化します。 パッケージ初期化ウィザードで、 @YOUR-USERNAME/YOUR-REPOSITORY の形式で名前を入力し、テスト スクリプトを exit 0 に設定します。 これにより、パッケージの情報が付いた package.json ファイルが生成されます。
以下コマンドを実行し、package.json
ファイルを生成しました。
npm init
nodeをインストールしてなかったら、インストールします。
npm install を実行して package-lock.json ファイルを生成し、変更をコミットして GitHub にプッシュします。
npm install
を実行しました。
.github/workflows ディレクトリを作成します。 そのディレクトリ内に、release-package.yml という名前のファイルを作成します。
.github/workflows
フォルダを作成し、release-package.yml
を作成しました。
name: Node.js Package
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
- run: npm ci
- run: npm test
publish-gpr:
needs: build
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 16
registry-url: https://npm.pkg.github.com/
- run: npm ci
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
package.json ファイルを編集して、publishConfig キーを指定します。
package.json ファイルに以下を追加しました。
"publishConfig": {
"@xxxxx": "https://npm.pkg.github.com" //xxxxxのところはnpmの自分のアカウントの名前を書いてください
}
ローカルで実行
以下コマンドでpublishしてみてください。
npm publish
すると、以下の容易にnpmに作成されています。
おわりに
次回はGitHubActionsを使用してPushした時にpublishしてみようと思います。
この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。
最後まで読んでいただきありがとうございました!
参考