Skip to content

Publish Package to NPM #15

Publish Package to NPM

Publish Package to NPM #15

Workflow file for this run

name: Publish Package to NPM
on:
push:
tags:
- '*'
jobs:
build-and-publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
registry-url: 'https://registry.npmjs.org/'
- name: Install dependencies
run: npm install
- name: Build the project
run: npm run build
- name: Update version in package.json
run: |
jq --arg version "${GITHUB_REF#refs/tags/}" '.version = $version' package.json > temp.json
mv temp.json package.json
- name: Prepare package.json
run: |
jq 'del(.scripts, .devDependencies)' package.json > temp.json && mv temp.json package.json
- name: Add Node shebang and make executable
run: |
echo '#!/usr/bin/env node' | cat - dist/server/index.mjs > temp.mjs
mv temp.mjs dist/server/index.mjs
chmod +x dist/server/index.mjs
- name: Create npm package
run: npm pack
- name: Publish to npm
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# - name: Create GitHub Release
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: ${{ github.ref }}
# release_name: Release ${{ github.ref }}
# body_path: CHANGELOG.md