diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 0b5f6579..99291835 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -1,4 +1,4 @@
-name: Node.js
+name: Legacy Node.js
 
 on:
   pull_request:
@@ -10,17 +10,14 @@ on:
 jobs:
   test:
     runs-on: ${{ matrix.os }}
-
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest, macos-latest]
         node-version: [18, 20, latest]
-
     steps:
       - uses: actions/checkout@v4
         with: { submodules: true }
-      - name: Use Node.js ${{ matrix.node-version }}
-        uses: actions/setup-node@v4
+      - uses: actions/setup-node@v4
         with:
           node-version: ${{ matrix.node-version }}
       - run: npm ci
@@ -37,3 +34,36 @@ jobs:
         with: { node-version: 20 }
       - run: npm ci
       - run: npm run lint
+
+  node-16:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        node-version: ['16.0', '16']
+    steps:
+      - uses: actions/checkout@v4
+        with: { submodules: true }
+      - uses: actions/setup-node@v4
+        with:
+          node-version: ${{ matrix.node-version }}
+      - run: npm ci
+      - run: npm install --no-save rollup@3
+      - run: npm test
+      - run: npm run test:dist
+
+  node-14:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        node-version: ['14.18', '14']
+    steps:
+      - uses: actions/checkout@v4
+        with: { submodules: true }
+      - uses: actions/setup-node@v4
+        with:
+          node-version: ${{ matrix.node-version }}
+      - run: npm install --global npm@7
+      - run: npm ci
+      - run: npm install --no-save rollup@3
+      - run: npm test
+      - run: npm run test:dist