name: Publish Package to npmjs
on:
  release:
    types: [created]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      # Setup .npmrc file to publish to npm
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
          registry-url: 'https://registry.npmjs.org'
      - run: yarn install --frozen-lockfile
      - run: npm run pre-pub
        # check if the release was a prerelease
      - if: github.event.release.prerelease == true
        run: |
          sed -i -E "s/\"version\": \".+\",/\"version\": \"${{github.event.release.tag_name}}\",/g" package.json
          npm publish --tag ${{github.event.release.target_commitish}}
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
      - if: github.event.release.prerelease == false
        run: |
          sed -i -E "s/\"version\": \".+\",/\"version\": \"${{github.event.release.tag_name}}\",/g" package.json
          npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
