Skip to content

Node 24 + dependency upgrade - #9

Merged
dickhardt merged 3 commits into
mainfrom
chore/deps-prune
Sep 6, 2026
Merged

Node 24 + dependency upgrade#9
dickhardt merged 3 commits into
mainfrom
chore/deps-prune

Conversation

@dickhardt

Copy link
Copy Markdown
Member

Stacked branches chore/node24 → chore/deps-latest → chore/deps-prune: engines >=22, Dockerfile node:24-alpine, CI matrix 22+24; jose 6, @fastify/cors 11, formbody 9, mocha 12, fastify 5.12, httpsig 2.3; pkce-challenge replaced by node:crypto; stale overrides dropped. 218/218 tests on every branch, Docker build verified.

No publish — that is a separate release.

🤖 Generated with Claude Code

https://claude.ai/code/session_01APQhTaYTjEoreeUdJdcZWi

dickhardt and others added 3 commits September 6, 2026 13:38
- engines.node ~22 -> >=22 (published package: keep Node 22 consumers working)
- Dockerfile: node:22-alpine -> node:24-alpine; npm ci --only=production -> --omit=dev (npm 11 warns on --only)
- ci.yml: test matrix on Node 22 and 24
- release.yml: test job on Node 24 (publish-npm already was)
- CLAUDE.md: Node version statement

No dependency changes were needed; 218 tests pass on v24.16.0 with no deprecation warnings.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01APQhTaYTjEoreeUdJdcZWi
- jose 5 -> 6: generateKeyPair now returns non-extractable CryptoKey;
  pass { extractable: true } where the private key is exported as a JWK
- @fastify/cors 10 -> 11: default methods narrowed to CORS-safelisted;
  set methods explicitly so PUT/DELETE on /mock and /invite keep working
- @fastify/formbody 8 -> 9, fastify 5.0 -> 5.12, pkce-challenge 4 -> 6,
  mocha 11 -> 12: no code changes
- @hellocoop/httpsig 2.0 -> 2.3: fetch() now auto-covers content-digest;
  test helper passes contentDigest: 'omit' when a test lists its own
  components so uncovered-body tests still exercise the server check
- npm audit fix: fast-uri (transitive). 0 vulnerabilities.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01APQhTaYTjEoreeUdJdcZWi
- pkce-challenge: /authorize only accepts S256, so verification is one
  sha256 + base64url compare on node:crypto. Tests get the same pair from
  test/pkce.js. One fewer runtime dependency in the published package.
- overrides for minimatch/diff: mocha 12 already requires minimatch
  ^10.2.2 and diff ^9; the diff override was pinning mocha's dep down
  to 8.0.3.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01APQhTaYTjEoreeUdJdcZWi
@dickhardt
dickhardt merged commit 88e1c0b into main Sep 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant