From b49d5de5f48c40c4452f3fe22c380a829911d522 Mon Sep 17 00:00:00 2001 From: Nikos Saravanos Date: Tue, 24 Feb 2026 15:59:07 +0200 Subject: [PATCH] add npm publish workflow --- .github/workflows/npm-publish.yml | 28 ++++++++++++++++++++++++++++ package.json | 4 +++- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/npm-publish.yml diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml new file mode 100644 index 0000000..382a3cf --- /dev/null +++ b/.github/workflows/npm-publish.yml @@ -0,0 +1,28 @@ +name: Node.js Package + +on: + release: + types: + - published + workflow_dispatch: + +permissions: + contents: read + id-token: write + +jobs: + publish-npm: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-node@v6 + with: + node-version: 22 + registry-url: https://registry.npmjs.org/ + - run: npm install -g npm@latest + - run: npm ci + - run: npm run build + - run: | + TAG=$(node -p "require('./package.json').version.includes('-') ? 'beta' : 'latest'") + npm publish --provenance --ignore-scripts --tag $TAG + diff --git a/package.json b/package.json index ebe1e58..0f8d3ff 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,9 @@ "pretest": "tslint --project ./ts/ && tslint ./test/**/*.ts && npm run build", "test": "nyc mocha", "deps:up": "docker compose up -d --wait", - "deps:down": "docker compose down" + "deps:down": "docker compose down", + "gh:release": "gh release create v$npm_package_version --generate-notes --verify-tag --target master", + "gh:prerelease": "gh release create v$npm_package_version --prerelease --generate-notes --verify-tag --target master" }, "lint-staged": { "*.{ts,js}": [