v0.23.0
Pre-releaseVerikit now supports Vue.
This release introduces @verikit/vue, bringing the resource-driven forms, tables, relationships, schema layouts, queries, and UI components available in @verikit/react to Vue applications.
It also expands @verikit/ui-core so React and Vue can share framework-independent behavior while keeping their framework integrations native.
Vue support
@verikit/vue
Added the new Vue package with support for:
VerikitProvideranduseVerikitClient- TanStack Vue Query integration
- Resource queries and mutations
- Resource table composables
- Schema-driven forms
- Resource forms and tables
- Filtering, sorting, and pagination
- Relationship fields
- Schema-tree layout rendering
- Field registration and overrides
- Conditional field handling
- Optimistic updates
- Loading and error states
Resource forms
Vue applications can now build schema-driven forms using the same Verikit resource definitions used by the server and other framework integrations.
The Vue implementation includes:
ResourceForm- Field resolution and registry
- Field shells
- Text inputs
- Textareas
- Selects
- Checkboxes
- Relationship fields
- Validation states
- Schema-driven layouts
Resource tables
Added Vue resource-table support including:
ResourceTableuseResourceTable- Filtering
- Sorting
- Pagination
- Resource actions
- Filter panels
- Query integration
This provides both a ready-to-use table component and a headless composable for applications that need custom presentation.
Schema-driven layouts
Vue now supports rendering Verikit schema trees, including:
- Fields
- Sections
- Grids
- Tabs
- Wizards
- Repeaters
- Actions
- Relationships
This brings Vue's schema-driven rendering capabilities in line with the existing React integration.
Relationships
Added Vue relationship components, including BelongsToRelationshipField, with resource querying and form integration.
Relationship composables are initialized during component setup rather than render, preventing duplicate queries and watchers during reactive updates.
Vue UI primitives
Added Vue component primitives built on Reka UI, including:
- Button
- Label
- Input
- Textarea
- Checkbox
- Select
- Dialog
These provide accessible interaction primitives while allowing Verikit to retain control over its component API and styling.
Shared UI core
@verikit/ui-core now includes shared field-resolution behavior used by framework adapters.
@verikit/react has been updated to consume this shared implementation, reducing duplicated form logic between React and Vue.
The architecture now follows:
@verikit/core
│
@verikit/ui-core
│
┌────┴────┐
│ │
React Vue
Framework-independent behavior lives in ui-core, while React and Vue retain native framework APIs and rendering.
Quality
The Vue implementation includes comprehensive coverage across:
- Fields
- Relationships
- Queries
- Layout rendering
- Resource forms
- Resource tables
- Component primitives
- Public package exports
The Vue package reaches feature parity with the existing React implementation while preserving the shared architecture introduced in v0.22.0.
Upgrade
This release does not intentionally introduce breaking changes to existing @verikit/react applications.
Existing React integrations can continue using Verikit as before. Vue applications can now adopt the new @verikit/vue package.
Full Changelog: v0.22.0...v0.23.0