LoginSignup
3
2

JavaScriptの自作ライブラリをGitHubのクイックスタートに沿って作成する①

Posted at

はじめに

こんにちは、エンジニアのkeitaMaxです。

今回はGitHubのクイックスタートに沿って自作ライブラリを作成してみようと思います。

GitHubの公式のクイックスタートに従って行っていこうと思います。

NPMに登録

まずは以下に登録します。

公式のクイックスタート

GitHub に新しいリポジトリを作成し、ノードに .gitignore を追加します。 詳しくは、「新しいリポジトリの作成」を参照してください。

ローカル コンピューターにリポジトリを複製します。

まずリポジトリを作成します。

sample_packageという名前で作成し、ローカルにクローンをし、VSCodeでフォルダを開きました。

スクリーンショット 2024-03-30 14.07.03.png

index.js ファイルを作成し、「Hello world!」を表示する基本的なアラートを作成します。

スクリーンショット 2024-03-30 14.09.06.png

こんな感じでindex.jsを作成しました。

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を作成しました。

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に作成されています。

スクリーンショット 2024-03-31 23.38.41.png

おわりに

次回はGitHubActionsを使用してPushした時にpublishしてみようと思います。

この記事での質問や、間違っている、もっといい方法があるといったご意見などありましたらご指摘していただけると幸いです。

最後まで読んでいただきありがとうございました!

参考

次の記事

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2