Skip to content

fix Windows CI: add @tapjs/clock devDependency, build tap plugins before tests - #413

Open
fitzyracing1 wants to merge 3 commits into
isaacs:mainfrom
fitzyracing1:fix/tapjs-clock-devdep
Open

fitzyracing1 wants to merge 3 commits into
isaacs:mainfrom
fitzyracing1:fix/tapjs-clock-devdep

Conversation

@fitzyracing1

Copy link
Copy Markdown

CI on main has had all 4 Windows jobs red since 2026-04-20. Three separate problems, each hidden behind the one before it:

  1. .taprc loads the @tapjs/clock plugin, but the package isn't in devDependencies. On Windows tap can't resolve it from the auto-installed .tap/plugins and aborts with "'@tapjs/clock' does not appear to be a tap plugin". Added @tapjs/clock@^3.3.10, which matches the peer @tapjs/core@4.5.8 that tap 21.7.4 uses.
  2. On Windows the first tap run, which builds the plugin set, exits 1 even when every test passes. Later runs exit 0. pretest now runs tap build after prepare, so the test run starts with plugins already built.
  3. Coverage was 99.96% on Windows: the autopurge re-arm path from 0b0a77e (index.ts:1641) is only reached through timer drift. Added test/ttl-autopurge-rearm.ts, which uses a frozen perf clock so the timer fires before the entry is stale and gets re-armed every time.

Verified: CI on my fork is green on all 8 jobs (ubuntu, macOS, Windows bash, Windows powershell × Node 24 and 25) at this branch's head commit 5f4a2e3: https://github.com/fitzyracing1/node-lru-cache/actions/runs/38201310520. The full suite also passes locally on Linux.

This branch has not been deployed

No deployments
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