name: "Code Scanning - Action"

on:
  push:
    branches:
      - main
  pull_request:
    # The branches below must be a subset of the branches above
    branches:
      - main
  schedule:
    - cron: '0 17 * * 5'

permissions:
  actions: read
  contents: read
  security-events: write

jobs:
  codeQL:
    # CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          # Must fetch at least the immediate parents so that if this is
          # a pull request then we can checkout the head of the pull request.
          # Only include this option if you are running this workflow on pull requests.
          fetch-depth: 2

      # If this run was triggered by a pull request event then checkout
      # the head of the pull request instead of the merge commit.
      # Only include this step if you are running this workflow on pull requests.
      - run: git checkout HEAD^2
        if: ${{ github.event_name == 'pull_request' }}

      # Initializes the CodeQL tools for scanning.
      - name: Initialize CodeQL
        uses: github/codeql-action/init@v4
        # Override language selection by uncommenting this and choosing your languages
        with:
          languages: 'javascript-typescript'

      - run: |
          npm install
          npm run all

      - name: Perform CodeQL Analysis
        uses: github/codeql-action/analyze@v4
