Skip to content

Packages overview

The workspace is split into small packages, each usable on its own. None is published to npm yet: build them from the repository.

Package Role Depends on
nexdk The SDK: createSdk, defineResource, defineDriver, resolveHeaders and the types. See the API reference. nothing
@nexdk/http REST toolkit: request, createRequest, HttpError, toQuery, splitId, encodeId. nexdk (peer)
@nexdk/hooks useResourceForm (Vue forms with Zod). nexdk, vue, zod 3 or 4 (peers)
@nexdk/driver-lomkit Laravel + Lomkit (search, mutate, delete). nexdk, @nexdk/http (peers)
@nexdk/driver-nhost Hasura GraphQL and subscriptions. nexdk (peer)
@nexdk/driver-supabase Supabase queries and postgres_changes. nexdk, @supabase/supabase-js (peers)
@nexdk/driver-nest Conventional REST CRUD (NestJS). nexdk, @nexdk/http (peers)
@nexdk/driver-symfony Symfony / API Platform (Hydra). nexdk, @nexdk/http (peers)
@nexdk/driver-pocketbase PocketBase records API. nexdk, @nexdk/http (peers)
@nexdk/driver-strapi Strapi v5 REST. nexdk, @nexdk/http (peers)
@nexdk/driver-firebase Cloud Firestore REST. nexdk, @nexdk/http (peers)

The nexdk core depends on nothing: no validator, no event library, no mock engine. @nexdk/hooks is the one exception, because it reads Zod internals.

Extensions peer-depend on nexdk only: you bring the SDK, they do not bundle it.

beepr, shamock and dialectr live in their own repositories. nexdk depends on none of them. See Ecosystem.

Official drivers are @nexdk/driver-*. Community drivers are nexdk-driver-*. See Writing a driver.