name: Code Style (TypeScript) 

on:
  # push trigger not needed for linting, we do not allow direct pushes to master
  pull_request:
    paths:
      - 'webclient/**'
      - '!**.md'
      - '.github/workflows/web-lint.yml'

jobs:
  ESLint:
    runs-on: ubuntu-latest
    
    defaults:
      run:
        working-directory: webclient

    steps:
    - name: Checkout
      uses: actions/checkout@v6

    - name: Setup Node.js
      uses: actions/setup-node@v6
      with:
        cache: 'npm'
        cache-dependency-path: 'webclient/package-lock.json'

    - name: Install ESLint
      run: npm clean-install --ignore-scripts

    - name: Run ESLint
      run: npm run lint
