name: Publish Package to npmjs
on:
  release:
    types: [published]
jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      id-token: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v5
      - name: Get release version
        id: get_version
        run: echo "RELEASE_VERSION=${{ github.event.release.tag_name }}" >> $GITHUB_OUTPUT
      - name: Update package.json
        run: npm version "${{ steps.get_version.outputs.RELEASE_VERSION }}" --no-git-tag-version
      - name: Commit package.json changes
        uses: stefanzweifel/git-auto-commit-action@v7
        with:
          commit_message: "Update package.json version to ${{ steps.get_version.outputs.RELEASE_VERSION }}"
          branch: main
      - name: Set up Node.js
        uses: actions/setup-node@v6
        with:
          node-version: '24.x'
          registry-url: 'https://registry.npmjs.org'
      - name: Install dependencies
        run: npm ci
      - name: Build
        run: npm run build --if-present
      - name: Push to npmjs
        run: npm publish --provenance --access public
