Справочник
Архитектура
useForm
│
├── Нормализация схемы (json / zod / yup / valibot / openapi)
│ └── FieldDefinition[]
│
├── ConditionEvaluator
│ watchEffect → вычисляет visible / disabled / options для каждого поля
│
├── ValidationEngine
│ синхронные валидаторы → errors Record<path, string[]>
│ асинхронные валидаторы → дебаунс 300мс
│
├── MaskEngine (автономный)
│ applyMask / removeMask / bindMask
│
└── (опционально) UI-подпакеты
FormRenderer [/ui]
TailwindFormRenderer [/ui/tailwind]
ShadcnFormRenderer [/ui/shadcn]
PrimeVueFormRenderer [/ui/primevue]
NaiveFormRenderer [/ui/naive]
useFieldArray [core]
useMultiStepForm [core]
useFormDebug [core]
installFormDevtools [/devtools]Размер бандла и peer-зависимости
| Точка входа | Peer-зависимости | Заметки |
|---|---|---|
vue-form-schema | vue ^3.3 | Базовая часть — headless, без UI |
vue-form-schema/zod | zod ^3 | Опциональный адаптер |
vue-form-schema/yup | yup ^1 | Опциональный адаптер |
vue-form-schema/valibot | valibot ^1 | Опциональный адаптер |
vue-form-schema/openapi | нет | Адаптер стандартной JSON Schema / OpenAPI — без peer-зависимостей |
vue-form-schema/ui | vue ^3.3 | Встроенные компоненты в стиле BEM |
vue-form-schema/ui/tailwind | vue ^3.3, Tailwind CSS | Компоненты на utility-классах Tailwind |
vue-form-schema/ui/shadcn | vue ^3.3, Tailwind CSS | Tailwind-разметка в стиле shadcn/ui (см. заметку выше — не обёртка компонентов shadcn-vue) |
vue-form-schema/ui/primevue | vue ^3.3, primevue ^4 | ^5 | Настоящие обёртки компонентов PrimeVue |
vue-form-schema/ui/naive | vue ^3.3, naive-ui ^2.38 | Настоящие обёртки компонентов Naive UI |
vue-form-schema/devtools | @vue/devtools-api ^6 | ^7 | ^8 | Инспектор Vue DevTools + таймлайн, только для dev |
Все точки входа — tree-shakeable ESM + CJS сборки.
Лицензия
MIT