on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      # Checkout repository
      - uses: actions/checkout@v3

      # Set up Node.js and cache dependencies
      - uses: actions/setup-node@v3
        with:
          node-version: 20.18.0
          registry-url: 'https://registry.npmjs.org'
          cache: 'npm'

      # Install production dependencies only
      - run: |
          export NODE_ENV=production
          npm ci --legacy-peer-deps
        name: Install production dependencies

      # Build the project
      - run: npm run build
        name: Build project

      # Publish to npm
      - run: npm publish
        name: Publish package
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
