Skip to content

chore(deps): refresh dependencies and move CI to Bun 1.4.2 - #10

Merged
code-yeongyu merged 1 commit into
mainfrom
chore/deps-refresh-20260924
Sep 24, 2026
Merged

code-yeongyu merged 1 commit into
mainfrom
chore/deps-refresh-20260924

Conversation

@code-yeongyu

@code-yeongyu code-yeongyu commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

Summary

Refresh toolchain and runtime dependencies, move CI to Bun 1.4.2, and land the remaining discardBody drain fallback from #7 (dump feature-detect already merged in #8).

Fixes #9

Version table

package old new
jsdom 29.1.1 30.1.1 (major)
@types/jsdom 28.0.3 30.0.0 (major)
undici 7.28.0 8.11.0 (major)
turndown ^7.2.2 7.2.4
@mozilla/readability 0.6.0 0.6.0
@biomejs/biome 2.4.16 2.5.14
vitest ^4.1.8 5.0.1 (major)
typescript 7.0.2 7.0.2
@types/node ^25.9.2 26.6.2
@typescript/native-preview ^7.0.0-dev.20260610.1 7.0.0-dev.20260707.2
@types/turndown ^5.0.5 5.0.6
@earendil-works/pi-ai (dev) (unpinned peer) 0.87.1
@earendil-works/pi-coding-agent (dev) (unpinned peer) 0.87.1
@earendil-works/pi-tui (dev) (unpinned peer) 0.87.1
typebox (dev) (peer only) 1.3.34
engines.node >=20.19.0 >=22.19.0

Peer dependencies stay @earendil-works/pi-* and typebox at * (never ^0.87) so date-versioned downstream runtimes still resolve. Package version 0.1.2 → 0.1.3 (patch: deps + drain fix).

Majors taken because the full suite passed locally on Bun 1.4.2 (bun run check, bun run test 46 tests) and as an npm consumer (npm ci && npm test).

CI

  • Matrix: ubuntu-latest / macos-latest × Node 22 / 24
  • actions/checkout@v7, actions/setup-node@v7, oven-sh/setup-bun@v2 with bun-version: 1.4.2
  • test: bun install --frozen-lockfile, bun run check, bun run test, npm pack --dry-run
  • npm-consumer (ubuntu, Node 22): npm ci then npm test
  • permissions.contents: read and the existing concurrency block kept
  • Both bun.lock and package-lock.json committed; no packageManager field

PR decisions

Linkedom / senpi

Senpi swapped the DOM layer to linkedom. That swap is not ported here: it is a host-side interop change, not a proven standalone improvement, and the jsdom 30 suite already passes.


Summary by cubic

Refreshes the dependency and toolchain, moves CI to Bun 1.4.2, and lands the discardBody drain fallback from #7 so redirect and oversized-body cleanup can't crash the host or hang when a stream lacks dump(). Fixes #9.

  • Bumps majors jsdom 29→30, @types/jsdom 28→30, undici 7→8, and vitest 4→5; package goes from 0.1.2 to 0.1.3.
  • Discard now drains the stream as a fallback, attaches a quiet error listener before teardown, and aborts on the fetch signal.
  • CI runs on Bun 1.4.2 with a Node 22/24 matrix plus a new npm-consumer job.
  • Peers stay * so date-versioned downstream runtimes still resolve.

Migration

  • Node >=22.19.0 is now required and Node 20 is no longer tested.

Written for commit 5b66cba. Summary will update on new commits.

Review in cubic

Drain redirect/oversized bodies that lack dump(), attach a quiet error
listener before teardown, and abort the drain on the fetch signal.

Co-authored-by: Indosaram <freedomzero91@gmail.com>
@code-yeongyu
code-yeongyu merged commit 169155b into main Sep 24, 2026
7 checks passed
@code-yeongyu
code-yeongyu deleted the chore/deps-refresh-20260924 branch September 24, 2026 06:36
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.

chore: refresh dependencies to latest and move CI to Bun 1.4.2

1 participant