What problem does it solve?
Maintaining consistent unit and type tests across seven framework wrappers (Angular, Preact, React, React Native, Solid, Svelte, Vue) of the Formisch form library is error-prone, since each framework has different reactivity models, testing libraries, and adapter APIs.
Core Features & Use Cases
- Canonical test conventions: Enforces React as the reference implementation with identical describe/test names, schemas, and expected outputs ported to every other framework.
- Per-framework adapter guidance: Provides concrete rules for hooks (useForm/createForm/injectForm), field APIs, DOM event firing, renderHook helpers, and async handling with vi.waitFor for each framework.
- Type test patterns: Standardizes *.test-d.ts files using expectTypeOf, with framework-specific wrappers like ReadonlySignal for Preact and Signal for Angular.
- Use Case: When adding tests for a new useField feature, apply the React test names exactly, then port to Solid, Vue, Svelte, Preact, Angular, and React Native using the adapter tables and gotcha notes.
Quick Start
Write unit and type tests for the useField hook in frameworks/svelte following the repo's cross-framework testing conventions.