Skip to content

Commit fcda9f0

Browse files
committed
chore(node): move repo tooling to node 24
Align local version markers and GitHub Actions with Node 24, switch the default test entrypoint to the maintained Vitest runner, and replace pnpm-incompatible npm helpers in repo scripts. This also removes the obsolete AVA plus esm path and excludes disabled test fixtures from generic Vitest discovery so CI reflects the supported test surface.
1 parent 747e564 commit fcda9f0

9 files changed

Lines changed: 43 additions & 641 deletions

File tree

.github/workflows/deploy-cloudflare-workers.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,18 @@ jobs:
1414
name: Deploy
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@master
17+
uses: actions/checkout@v6
18+
19+
- name: Use Node.js 24
20+
uses: actions/setup-node@v6
21+
with:
22+
node-version-file: .nvmrc
23+
cache: pnpm
1824

1925
- name: Setup PNPM
20-
uses: pnpm/action-setup@v2
26+
uses: pnpm/action-setup@v4
2127
with:
28+
version: 10.12.1
2229
run_install: false
2330

2431
- name: Write Wrangler configs
Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
2-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
3-
4-
name: Run Ava Tests
1+
# This workflow validates the Node 24 toolchain on GitHub-hosted runners.
2+
name: Run Node 24 Checks
53

64
on:
5+
workflow_dispatch:
76
push:
87
branches: [ master ]
98
pull_request:
@@ -16,18 +15,24 @@ jobs:
1615

1716
strategy:
1817
matrix:
19-
node-version: [14.x, 15.x]
18+
node-version: [24.x]
2019
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
2120

2221
steps:
23-
- uses: actions/checkout@v2
22+
- uses: actions/checkout@v6
23+
- name: Setup PNPM
24+
uses: pnpm/action-setup@v4
25+
with:
26+
version: 10.12.1
27+
run_install: false
2428
- name: Use Node.js ${{ matrix.node-version }}
25-
uses: actions/setup-node@v2
29+
uses: actions/setup-node@v6
2630
with:
2731
node-version: ${{ matrix.node-version }}
32+
cache: pnpm
2833
- run: |
2934
touch .env
3035
echo ${{ secrets.GH_ENV }} >> .env
31-
- run: npm ci
32-
- run: npm run generate
33-
- run: npm test
36+
- run: pnpm install --frozen-lockfile
37+
- run: pnpm build
38+
- run: pnpm test

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v22
1+
v24

ava.config.mjs

Lines changed: 0 additions & 24 deletions
This file was deleted.

helpers/api/static.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fs from 'fs-extra'
22
import axios from 'axios'
3-
import 'dotenv/config'
3+
import 'dotenv/config.js'
44

55
import {
66
// storkVersion,

package.json

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"packageManager": "pnpm@10.12.1",
88
"engines": {
99
"pnpm": "^10.*",
10-
"node": ">=22",
10+
"node": ">=24",
1111
"yarn": "forbidden, this project uses pnpm",
1212
"npm": "forbidden, this project uses pnpm"
1313
},
@@ -29,17 +29,17 @@
2929
"test-listings": "pnpm run with-env vitest ./test/listings",
3030
"test-postbuild-api": "pnpm test-listings",
3131
"test-vitest": "vitest",
32-
"test": "ava --timeout=1m --verbose",
32+
"test": "vitest run",
3333
"dev": "pnpm run dev-astro",
3434
"build": "pnpm run generate-astro",
35-
"build-api": "pnpm run clone-readme && npx vite-node build-lists.js -- --with-api --no-lists",
36-
"build-lists-and-api": "pnpm run clone-readme && npx vite-node build-lists.js -- --with-api",
37-
"generate-dev": "pnpm run generate && npm test",
38-
"download-stork:toml": "npx vite-node scripts/download-stork-toml.js",
39-
"download-stork:executable": "npx vite-node scripts/download-stork-executable.js",
35+
"build-api": "pnpm run clone-readme && pnpm exec vite-node build-lists.js -- --with-api --no-lists",
36+
"build-lists-and-api": "pnpm run clone-readme && pnpm exec vite-node build-lists.js -- --with-api",
37+
"generate-dev": "pnpm build && pnpm test",
38+
"download-stork:toml": "pnpm exec vite-node scripts/download-stork-toml.js",
39+
"download-stork:executable": "pnpm exec vite-node scripts/download-stork-executable.js",
4040
"setup-stork": "pnpm run \"/^download-stork:.*/\" --parallel",
4141
"build-stork-index": "./$npm_package_config_stork_executable build --input $npm_package_config_stork_toml --output $npm_package_config_stork_index",
42-
"build-stork-index-js": "npx vite-node scripts/build-stork-index.js",
42+
"build-stork-index-js": "pnpm exec vite-node scripts/build-stork-index.js",
4343
"stork-search": "./$npm_package_config_stork_executable search --index $npm_package_config_stork_index --query $1",
4444
"stork-index": "pnpm setup-stork && pnpm build-stork-index",
4545
"stork-netlify": "chmod +x scripts/stork-netlify.sh && ./scripts/stork-netlify.sh",
@@ -54,8 +54,8 @@
5454
"scan-new-apps": "pnpm exec vite-node scripts/scan-new-apps.js",
5555
"with-env": "dotenv -e .env -- ",
5656
"cloudflare-deploy": "pnpm run build-api",
57-
"vercel-build": "npx vite-node scripts/vercel-build.js",
58-
"netlify-prebuild:download-sitemaps": "npx vite-node scripts/download-sitemaps.js",
57+
"vercel-build": "pnpm exec vite-node scripts/vercel-build.js",
58+
"netlify-prebuild:download-sitemaps": "pnpm exec vite-node scripts/download-sitemaps.js",
5959
"netlify-prebuild:test-prebuild-functions": "pnpm test-prebuild && pnpm test-api-client && pnpm test-listings",
6060
"netlify-prebuild": "pnpm run \"/^netlify-prebuild:.*/\" && pnpm stork-index",
6161
"netlify-postbuild:test-postbuild-functions": "vitest test/main.test.ts",
@@ -127,14 +127,12 @@
127127
"@astrojs/tailwind": "^6.0.2",
128128
"@vitest/web-worker": "^4.1.0",
129129
"autoprefixer": "^10.0.2",
130-
"ava": "^6.2.0",
131130
"babel-eslint": "^8.2.1",
132131
"cssnano": "^4.1.10",
133132
"dotenv": "^8.2.0",
134133
"dotenv-cli": "^8.0.0",
135134
"eslint": "^8.14.0",
136135
"eslint-plugin-vue": "^8.7.1",
137-
"esm": "^3.2.25",
138136
"fast-xml-parser": "^3.19.0",
139137
"madge": "^5.0.1",
140138
"msw": "^1.2.3",

0 commit comments

Comments
 (0)