summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsupahgreg <supahgreg@users.noreply.github.com>2025-10-12 15:30:47 +0000
committersupahgreg <supahgreg@users.noreply.github.com>2025-10-12 15:30:47 +0000
commitd770f209cb5ce1fccf685611aaea98b5fc244cd8 (patch)
tree426bc904cf8a48fefaf647a7a1768b12e3311f96
parent51b83ed39d3266d88cc5d617bf8771ca0aa7a6e3 (diff)
Add a 'JavaScript Code Quality' GitHub workflow.
-rw-r--r--.github/workflows/javascipt-code-quality.yml62
1 files changed, 62 insertions, 0 deletions
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