# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages

name: Pull Request Checks

on:
  pull_request:
    branches:
      - main

jobs:
  test-project:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code.
        uses: actions/checkout@v7
      - name: Setup Node.js.
        uses: actions/setup-node@v6
        with:
          node-version: '22.x'
      - name: Install dependencies.
        run: npm ci
      - name: Run lint.
        run: npm run lint -- --ignore-pattern "examples"
      - name: Run project unit tests.
        run: npm run test -- --ignoreProjects examples
#  test-examples:
#    name: Run unit tests for ${{ matrix.example }}.
#    strategy:
#      matrix:
#        example:
#          - react
#          - vanilla
#    runs-on: ubuntu-latest
#    steps:
#      - name: Checkout code.
#        uses: actions/checkout@v7
#      - name: Setup Node.js.
#        uses: actions/setup-node@v6
#        with:
#          node-version: '22.x'
#      - name: Extract version from package.json
#        uses: sergeysova/jq-action@v2
#        id: name
#        with:
#          cmd: 'jq .name package.json -r'
#
#      - name: Install project dependencies.
#        run: npm ci
#      - name: Create a link for ${{ steps.name.outputs.value }}.
#        run: npm link
#      - name: Install ${{ matrix.example }} dependencies.
#        working-directory: ./examples/${{ matrix.example }}
#        run: npm install
#      - name: Linking ${{ steps.name.outputs.value }} to the ${{ matrix.example }} package.
#        working-directory: ./examples/${{ matrix.example }}
#        run: npm link ${{ steps.name.outputs.value }}
#
#      - name: Run lint.
#        working-directory: ./examples/${{ matrix.example }}
#        run: npm run lint --if-present
#      - name: Run unit tests.
#        working-directory: ./examples/${{ matrix.example }}
#        run: npm run test
