An Interest In:
Web News this Week
- March 20, 2024
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
- March 14, 2024
Publish to NPM using GitHub Actions
I recently needed to find a way to publish packages to NPM automatically and since all my projects are hosted on GitHub I thought why not using GitHub actions? In this article I explain how to do that in 3 simple steps!
Pssst... you can also check some real life examples:
Generate a new token on NPM
First of all you need to create a new NPM token that will be used to publish packages to NPM.
From NPM dashboard open main menu and select "Access token", then click on "Generate new token"
select "Automation" token to bypass two-factor authentication when publishing
then copy your token, it will be used as a GitHub secret as explained in the next section
Store your token as a GitHub secret
GitHub Actions can access your GitHub secrets, so that's the perfect place where to store your token!
Under "Settings" -> "Secrets" click on "New repository secret" and add your NPM Token your previously copied (in this example I use NPM_TOKEN
label to identify it)
Now it's time to write some code and create a new action to publish your package!
Write your action
Create a new GitHub Action publish.yml
inside your project under .github/workflows
.
name: Publish to NPMon: release: types: [created]jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup Node uses: actions/setup-node@v2 with: node-version: '14.x' registry-url: 'https://registry.npmjs.org' - name: Install dependencies and build run: npm install && npm run build - name: Publish package on NPM run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
This action should run only when you create a new release on GitHub
on: release: types: [created]
The steps it executes are really clear:
- Checkout code
- Setup Node.js environment (using Node.js 14.x here)
- Install dependencies and build your package (if needed)
- Publish to NPM! As you can see this step uses our
NPM_TOKEN
secret to initializeNODE_AUTH_TOKEN
env variable
- name: Publish package to NPM run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Create a new release
In order to see your action running, you need to create a new release on GitHub.
After that your package will be successfully published to NPM
Original Link: https://dev.to/astagi/publish-to-npm-using-github-actions-23fn
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To