name: Publish to NPM Registry
on:
  release:
    types: [created]
jobs:
  publish:
    name: 'On Main Push - Release version to NPM Registry'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Setup configuration for NPM registry
        uses: actions/setup-node@v3
        with:
          node-version: 18.12.1
          registry-url: 'https://registry.npmjs.org'
          scope: '@dankreiger'

      - name: Install deps and build (with cache)
        uses: bahmutov/npm-install@v1

      - name: Lint
        run: npm run lint

      - name: Build
        run: npm run build

      - name: Create release and publish scoped package
        run: npm run release
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

      - name: Publish unscoped package
        run: |
          sed -ie 's/@dankreiger\///g' package.json
          npm publish
          mv package.jsone package.json
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
