From d770f209cb5ce1fccf685611aaea98b5fc244cd8 Mon Sep 17 00:00:00 2001 From: supahgreg Date: Sun, 12 Oct 2025 15:30:47 +0000 Subject: [PATCH] Add a 'JavaScript Code Quality' GitHub workflow. --- .github/workflows/javascipt-code-quality.yml | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/javascipt-code-quality.yml diff --git a/.github/workflows/javascipt-code-quality.yml b/.github/workflows/javascipt-code-quality.yml new file mode 100644 index 000000000..a6a9e10eb --- /dev/null +++ b/.github/workflows/javascipt-code-quality.yml @@ -0,0 +1,62 @@ +name: JavaScript Code Quality + +on: + pull_request: + paths: + - 'js/**.js' + - 'plugins/**.js' + - 'package.json' + - 'package-lock.json' + - '.eslintrc.*' + - 'eslint.config.*' + - '.github/workflows/javascript-code-quality.yml' + # Allow manual triggering + workflow_dispatch: + # Allow other workflows (e.g. Publish) to invoke this one. + workflow_call: + + +env: + fail-fast: true + + +permissions: + contents: read + + +jobs: + eslint: + name: ESLint + runs-on: ubuntu-latest + + steps: + - name: Check out code + uses: actions/checkout@v5 + + - name: Set up Node.js + uses: actions/setup-node@v5 + with: + node-version: lts/* + + - name: Restore Node.js dependencies cache + uses: actions/cache/restore@v4 + id: cache-restore + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install dependencies + if: steps.cache-restore.outputs.cache-hit != 'true' + run: npm install + + - name: Save Node.js dependencies cache + if: steps.cache-restore.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: node_modules + key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} + + - name: Run ESLint + run: npx eslint js plugins