Requirements and Peer Dependencies
Supported React, Node, TypeScript, Zod, and React Hook Form versions.
Peer dependencies
Prism declares its library dependencies as peer dependencies, it adapts the versions already in your project rather than bundling its own copies.
| Package | Peer dependency | Required range |
|---|---|---|
@prismrepo/forms | react | ^18.0.0 || ^19.0.0 (type inference only, not imported at runtime) |
@prismrepo/react | react, react-dom | ^18.0.0 || ^19.0.0 |
@prismrepo/adapter-rhf | react, react-dom | ^18.0.0 || ^19.0.0 |
@prismrepo/adapter-rhf | react-hook-form | ^7.52.0, the first version with React 19 support |
@prismrepo/adapter-zod | react-hook-form | ^7.55.0, matching @hookform/resolvers's own floor |
@prismrepo/adapter-zod | zod | ^4.0.0 |
Zod 4 is required
createZodResolver's type constraint is built against Zod 4's ZodType<Output, Input> shape.
A Zod 3 schema (ZodType<Output, Def, Input>) does not satisfy it and will not compile. If
you're on Zod 3, upgrade before adopting @prismrepo/adapter-zod.
Node.js
All six packages declare "engines": { "node": ">=22.12.0" }.
TypeScript
Prism's declaration files have been verified to compile cleanly against both TypeScript 5 and TypeScript 7 in a real external consumer project. There is no minimum TypeScript version enforced by the packages themselves; use whatever version your project already targets.
Next.js
Prism has no dependency on Next.js. @prismrepo/react and @prismrepo/adapter-rhf both export
client-only code (the "use client" directive is emitted at the bundle's entry point), so they
work in any Next.js App Router project without additional configuration, as well as in a plain
Vite, Create React App, or other React setup.