Skip to content

v0.23.0

Pre-release
Pre-release

Choose a tag to compare

@iamceeso iamceeso released this 15 Aug 07:47
· 86 commits to main since this release

Verikit 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:

  • VerikitProvider and useVerikitClient
  • 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:

  • ResourceTable
  • useResourceTable
  • 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