Package Dependency Graph

How packages and peer dependencies relate.

#How the packages relate

@void-snippets/core
  — no runtime dependencies
  — published as its own package
  — used by: client, react, and your app directly

@void-snippets/client
  — depends on: core (for types), axios (peer)
  — works in any JavaScript environment (Node, browser, Deno)
  — used by: react, and your app directly

@void-snippets/react
  — depends on: core, client
  — peer deps: react, @tanstack/react-query, socket.io-client (optional), react-router (optional)
  — used by: your React app only

#Why three separate packages?

Progressive adoption. A Vue or Svelte project can use core and client without pulling in React-specific code.

Smaller bundles. If your app only needs HTTP types without the hook factories, install just core and client.

Independent versioning. core stays at 0.3.0 while react ships 0.6.0 — a hook API improvement does not force a major bump on the foundation types.