name: Lint (JS/TS) on: pull_request: jobs: lint: runs-on: alpine container: node:20-alpine steps: - name: Checkout uses: actions/checkout@v4 - name: Install tools run: | apk add --no-cache \ git - name: ESLint run: | if [ -n "$(find . -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" -o -name "*.mjs" -o -name "*.cjs" -print -quit)" ]; then if [ -f package.json ]; then npm install --no-audit --no-fund fi if [ -f eslint.config.js ] || [ -f eslint.config.mjs ] || [ -f eslint.config.cjs ] || [ -f .eslintrc ] || [ -f .eslintrc.js ] || [ -f .eslintrc.cjs ] || [ -f .eslintrc.json ] || [ -f .eslintrc.yaml ] || [ -f .eslintrc.yml ]; then if ! npx --yes eslint .; then echo "::warning::eslint reported issues" fi else echo "No eslint config found" fi else echo "No JS/TS files found" fi