name: ESLint

permissions:
  contents: read

on:
    pull_request:
        paths:
            - '**/*.js'
            - '**/*.jsx'
            - '**/*.ts'
            - '**/*.tsx'
            - '.eslintrc*'
            - 'package.json'
            - 'yarn.lock'
            - 'pnpm-lock.yaml'
            - 'package-lock.json'

jobs:
    Linter:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout code
              uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

            - name: Set up Node.js
              uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
              with:
                node-version: '22'

            - name: Install dependencies
              run: npm ci

            - name: Create build file
              run: npm run set:oss

            - name: Run ESLint
              run: npx eslint . --ext .js,.jsx,.ts,.tsx
