Skip to content

ESLint

ESLint #952

Workflow file for this run

name: ESLint
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
schedule:
- cron: "25 21 * * 4"
jobs:
eslint:
name: Run ESLint Scanning
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
actions: read
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Detect package manager
id: detect-package-manager
run: |
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
echo "manager=yarn" >> $GITHUB_OUTPUT
echo "install-command=install" >> $GITHUB_OUTPUT
echo "runner=yarn" >> $GITHUB_OUTPUT
exit 0
elif [ -f "${{ github.workspace }}/package-lock.json" ]; then
echo "manager=npm" >> $GITHUB_OUTPUT
echo "install-command=ci" >> $GITHUB_OUTPUT
echo "runner=npx" >> $GITHUB_OUTPUT
exit 0
else
echo "Unable to determine package manager"
exit 1
fi
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: ${{ steps.detect-package-manager.outputs.manager }}
- name: Install dependencies
run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.install-command }}
- name: Run ESLint
run: |
${{ steps.detect-package-manager.outputs.runner }} eslint . --ext .ts,.tsx