Skip to content

chore[notask]: move Holepunch libs to peerDependencies#1905

Merged
yuranich merged 5 commits into
tetherto:mainfrom
yuranich:feat/td-holepunch-peer-deps
May 7, 2026
Merged

chore[notask]: move Holepunch libs to peerDependencies#1905
yuranich merged 5 commits into
tetherto:mainfrom
yuranich:feat/td-holepunch-peer-deps

Conversation

@yuranich

@yuranich yuranich commented May 5, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

@qvac/registry-client, @qvac/rag, and @qvac/registry-schema declared Holepunch singleton libraries (hyperswarm, corestore, hyperdb, hyperblobs, hyperdht) as hard dependencies while the SDK declared them as peerDependencies. Range drift between these declarations (e.g. SDK hyperswarm ^4.12.1 vs registry-client ^4.14.0) caused npm to install duplicate copies of stateful singletons in consumer trees — separate DHT nodes, separate corestores, broken connectivity.

How does it solve it?

  • Reclassify Holepunch singletons as peerDependencies in the three internal packages; mirror in devDependencies so packages still build and test in isolation.
  • Bump SDK peerDependencies.hyperswarm floor ^4.12.1^4.14.0; add hyperblobs (required) and hyperdht (optional) to SDK peers so the SDK manifest is the single source of truth for every Holepunch singleton range.
  • Keep ready-resource as a hard dep — generic base class, not a stateful singleton.
  • Mark hyperdht optional in @qvac/rag (currently unused at runtime; reserved for the unwired replicateWith path).

Skips @qvac/dl-hyperdrive (being phased out, zero in-repo runtime consumers). SDK overrides removal was already done as fallout from QVAC-14392.

Install note

@qvac/sdk consumers and any tooling that auto-installs required peers (npm 7+, pnpm, bun) are unaffected — the peers resolve transparently. Direct standalone consumers of @qvac/registry-client using yarn or legacy-peer-deps=true will see missing-peer warnings and need to add corestore, hyperblobs, hyperdb, and hyperswarm to their own dependencies.

How was it tested?

  • @qvac/registry-client unit tests: 19/19 pass.
  • @qvac/rag unit tests: 104/104 pass.
  • @qvac/sdk bun run typecheck: clean.
  • Phase 4 acceptance: packages/sdk/node_modules contains exactly one copy each of hyperswarm@4.17.0, corestore@7.9.2, hyperdb@4.22.3, hyperblobs@2.11.1, hyperdrive@13.3.2, hyperdht@6.31.0.

yuranich and others added 2 commits May 6, 2026 11:25
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@yuranich yuranich force-pushed the feat/td-holepunch-peer-deps branch from 9dd7a88 to 728d4db Compare May 6, 2026 05:25
@yuranich yuranich changed the title chore[bc|notask]: move Holepunch libs to peerDependencies chore[notask]: move Holepunch libs to peerDependencies May 6, 2026
@yuranich yuranich added verify safe-to-test Reviewer has verified safety of packages & github actions in this PR labels May 6, 2026
@yuranich

yuranich commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

/review

@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor

Tier-based Approval Status

**PR Tier:** TIER1

**Current Status:** ✅ APPROVED

**Requirements:**
- 1 Team Member approval ✅ (1/1)
- 1 Team Lead OR Management approval ✅ (1/1)



---
*This comment is automatically updated when reviews change.*

@yuranich

yuranich commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

/review

@yuranich

yuranich commented May 7, 2026

Copy link
Copy Markdown
Contributor Author

/review

@yuranich yuranich merged commit 2b9a0cb into tetherto:main May 7, 2026
23 of 25 checks passed
yuranich added a commit to yuranich/qvac that referenced this pull request May 13, 2026
Move hyperdb from dependencies to peerDependencies (tetherto#1905). Minor bump
so 0.x ^-ranges don't auto-promote — install contract changed for
standalone yarn-1 / legacy-peer-deps consumers.

Co-authored-by: Cursor <cursoragent@cursor.com>
yuranich added a commit that referenced this pull request May 14, 2026
Move hyperdb from dependencies to peerDependencies (#1905). Minor bump
so 0.x ^-ranges don't auto-promote — install contract changed for
standalone yarn-1 / legacy-peer-deps consumers.
NamelsKing pushed a commit that referenced this pull request May 15, 2026
Move corestore, hyperblobs, hyperdb, hyperswarm from dependencies to
peerDependencies (#1905). Bump @qvac/registry-schema to ^0.2.0 to pull
in its matching peers-cleaned release. Minor bump so 0.x ^-ranges
don't auto-promote — install contract changed for standalone yarn-1 /
legacy-peer-deps consumers.

Co-authored-by: Cursor <cursoragent@cursor.com>
NamelsKing added a commit that referenced this pull request May 15, 2026
Pulls in the peers-cleaned registry-client release (#1905, #2035) so
hyperswarm, corestore, hyperdb, hyperblobs are not duplicated in
consumer apps. Pairs with the @qvac/rag@^0.5.0 bump already on main
from #2011.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Dmytro Medvinskyi <functionsilence@gmail.com>
yuranich added a commit that referenced this pull request May 15, 2026
Move hyperdb from dependencies to peerDependencies (#1905). Minor bump
so 0.x ^-ranges don't auto-promote — install contract changed for
standalone yarn-1 / legacy-peer-deps consumers.

(cherry picked from commit d5f5723)
yuranich added a commit that referenced this pull request May 15, 2026
Move corestore, hyperblobs, hyperdb, hyperswarm from dependencies to
peerDependencies (#1905). Bump @qvac/registry-schema to ^0.2.0 to pull
in its matching peers-cleaned release. Minor bump so 0.x ^-ranges
don't auto-promote — install contract changed for standalone yarn-1 /
legacy-peer-deps consumers.


(cherry picked from commit 9229cdc)

Co-authored-by: Cursor <cursoragent@cursor.com>
Proletter pushed a commit that referenced this pull request May 24, 2026
Move corestore, hyperblobs, hyperdb, hyperswarm from dependencies to
peerDependencies (#1905). Bump @qvac/registry-schema to ^0.2.0 to pull
in its matching peers-cleaned release. Minor bump so 0.x ^-ranges
don't auto-promote — install contract changed for standalone yarn-1 /
legacy-peer-deps consumers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Proletter pushed a commit that referenced this pull request May 24, 2026
Move hyperdb from dependencies to peerDependencies (#1905). Minor bump
so 0.x ^-ranges don't auto-promote — install contract changed for
standalone yarn-1 / legacy-peer-deps consumers.
Proletter pushed a commit that referenced this pull request May 24, 2026
* chore[bc]: move Holepunch libs to peerDependencies

* chore: add hyperblobs and hyperdht to SDK peerDependencies
Proletter pushed a commit that referenced this pull request May 24, 2026
Pulls in the peers-cleaned registry-client release (#1905, #2035) so
hyperswarm, corestore, hyperdb, hyperblobs are not duplicated in
consumer apps. Pairs with the @qvac/rag@^0.5.0 bump already on main
from #2011.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Dmytro Medvinskyi <functionsilence@gmail.com>
Proletter pushed a commit that referenced this pull request May 24, 2026
Move hyperdb from dependencies to peerDependencies (#1905). Minor bump
so 0.x ^-ranges don't auto-promote — install contract changed for
standalone yarn-1 / legacy-peer-deps consumers.

(cherry picked from commit bb5519a)
Proletter pushed a commit that referenced this pull request May 24, 2026
Move corestore, hyperblobs, hyperdb, hyperswarm from dependencies to
peerDependencies (#1905). Bump @qvac/registry-schema to ^0.2.0 to pull
in its matching peers-cleaned release. Minor bump so 0.x ^-ranges
don't auto-promote — install contract changed for standalone yarn-1 /
legacy-peer-deps consumers.


(cherry picked from commit c133b64)

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe-to-test Reviewer has verified safety of packages & github actions in this PR tier1 verify

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants