MCPcopy Index your code
hub / github.com/fabian-hiller/modular-forms

github.com/fabian-hiller/modular-forms @v0.29.1-qwik

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.29.1-qwik ↗ · + Follow
663 symbols 2,112 edges 661 files 4 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Modular Forms

Modular Forms is a JavaScript library built on SolidJS, Qwik, Preact and React to validate and handle various types of forms. It is type-safe, fast by default and the bundle size is small due to a modular design. Try it out in our playground!

✨ Highlights

  • Small bundle size starting at 3 KB
  • It's fast – DOM updates are fine-grained
  • Type safety with autocompletion in editor
  • Validate everything from emails to files
  • Minimal, readable and well thought out API
  • Progressively enhanced forms with actions
  • Modular design – only use what you need
  • No dependencies – except for the framework
  • It's headless – you define the visual
  • Supports all native HTML form fields

🏔 Mission

The mission of Modular Forms is to gather the latest available experience and knowledge to provide the best possible form library for JavaScript frameworks. We pay special attention to type safety, bundle size, performance and input validation. You can expect that every decision we make during development is well thought out and always takes these main features into account.

🪐 Vision

At the time of the initial development of Modular Forms, there was no form library with comparable type safety, bundle size and performance. However, many of the ideas came from previous open source projects and only the development of the last few years has made a form library in this way possible. The vision of Modular Forms is to shape the future of the web together and to share our knowledge and experience with the open source community.

🙌🏼 Credits

When creating Modular Forms, I took inspiration from React Hook Form and Formik. I also want to thank Ryan Carniato for his inspiring streams with exclusive and deep insights into different technologies. Furthermore, I would like to thank David Di Biase, Miško Hevery and Manu Martínez-Almeida for the support I received during the initial development.

✏️ Feedback

Find a bug or have an idea how to improve the library? Please fill out an issue. Together we can make the library even better!

🔑 License

This project is available free of charge and licensed under the MIT License.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 650
Class 8
Method 4
Interface 1

Languages

TypeScript100%

Modules by API surface

website/src/components/Framework.tsx15 symbols
packages/solid/src/components/Field.tsx12 symbols
packages/solid/src/primitives/createFormStore.ts10 symbols
website/src/contexts/framework.tsx7 symbols
packages/solid/src/components/FieldArray.tsx7 symbols
website/src/contexts/search.tsx5 symbols
packages/qwik/src/utils/getInitialStores.ts5 symbols
packages/preact/src/components/Field.tsx5 symbols
packages/solid/src/methods/move.ts4 symbols
packages/react/src/methods/move.ts4 symbols
packages/react/src/components/Field.tsx4 symbols
packages/qwik/src/methods/move.ts4 symbols

For agents

$ claude mcp add modular-forms \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page