Skip to content

Revamp repo tooling and pass CI on Node 24 - #14

Merged
gabmontes merged 4 commits into
masterfrom
rebump-repo
Jun 8, 2026
Merged

Revamp repo tooling and pass CI on Node 24#14
gabmontes merged 4 commits into
masterfrom
rebump-repo

Conversation

@gndelia

@gndelia gndelia commented May 29, 2026

Copy link
Copy Markdown
Contributor

This PR kicks off a small revamp of the repo, with the first goal being to get CI checks passing again on a modern Node.

  • Bump Node to 24 (.nvmrc), the version CI and local development now target.
  • Adopt the hemilabs reusable js-checks workflow, pinned by commit SHA so every underlying action is locked by hash. This replaces the hand-rolled CI_Checks.yml and setup-env composite action.
  • Switch deps:check to knip at the repo root. The previous per-package dependency-check scripts relied on a binary that was never installed, so the check never actually ran. Added a knip.json for the monorepo and exposed the fetch-plus-plus type declarations via a types field (both surfaced by the new check).
  • Bump nock to v14 so the fetch-plus-plus tests pass on Node 24: isomorphic-fetch now resolves to the native global fetch (undici), which nock 13 couldn't intercept — tests were silently hitting the real network.

With these changes the full pipeline (format:check, lint, deps:check, test) passes locally on Node 22 and 24 (33 tests across all 6 packages).

Process checklist

  • Manual tests passed or not applicable.
  • Automated tests added or not applicable.
  • Documentation updated or not required.

Metrics

Actual effort: 1h

gndelia added 4 commits May 29, 2026 12:06
Update .nvmrc from 16 to 24 and regenerate package-lock.json
accordingly.
Replace the hand-rolled CI_Checks.yml and setup-env composite
action with the hemilabs reusable js-checks workflow, pinned by
commit SHA so every underlying action is locked by hash.

Switch deps:check to knip at the repo root: the per-package
dependency-check scripts relied on a binary that was never
installed. Add a knip.json for the monorepo and expose the
fetch-plus-plus type declarations via a "types" field, both
surfaced by the new check.
On Node 24, isomorphic-fetch resolves to the native global fetch
(undici), which nock 13 cannot intercept, so the fetch-plus-plus
tests hit the real network and failed. nock 14 intercepts undici,
restoring all 6 tests.
Test only against Node 22 and 24.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes repository tooling so the monorepo can run checks and tests on newer Node versions, especially Node 24.

Changes:

  • Updates the Node target to 24 and replaces the hand-rolled CI workflow with the reusable hemilabs JS checks workflow.
  • Replaces per-package dependency-check scripts with a root-level knip dependency check configuration.
  • Updates nock and exposes fetch-plus-plus TypeScript declarations via the package types field.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.nvmrc Updates local/CI Node target to Node 24.
.github/workflows/js-checks.yml Adds reusable JS checks workflow running on Node 22 and 24.
.github/workflows/CI_Checks.yml Removes the previous custom CI workflow.
.github/actions/setup-env/action.yml Removes the now-unused composite setup action.
package.json Adds root deps:check, adds knip, and updates nock.
knip.json Adds monorepo dependency-check configuration.
packages/fetch-plus-plus/package.json Publishes TypeScript declarations through the types field.
packages/promise-throttle-bucket/package.json Removes obsolete package-level deps:check.
packages/promise-swr/package.json Removes obsolete package-level deps:check.
packages/promise-stale-if-error/package.json Removes obsolete package-level deps:check.
packages/promise-mem/package.json Removes obsolete package-level deps:check.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gndelia
gndelia requested a review from arielmergen June 5, 2026 19:39
@gndelia
gndelia requested a review from ArturDolzan June 8, 2026 13:05
@gabmontes
gabmontes merged commit 51a7b9a into master Jun 8, 2026
7 checks passed
@gabmontes
gabmontes deleted the rebump-repo branch June 8, 2026 13:42
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.

4 participants