Skip to content

Architecture ​

Goal ​

The module reduces duplication between a Nuxt application and its Feathers backend. In embedded mode, Feathers runs in Nitro. In remote mode, Nuxt keeps the same client model and connects to an external backend.

Responsibilities ​

Nuxt ​

Vue UI, SSR, client plugins, composables, and application configuration.

Nitro and H3 ​

Nuxt server hosting, lifecycle, infrastructure middleware, HTTP-specific integration, and @vevedh/feathers-nitro wiring.

Feathers ​

Business services, standard and custom methods, hooks, authentication, authorization, events, REST, and Socket.IO.

Zod ​

Data validation and schema description when schema: zod is selected.

Feathers-first API ​

ts
const result = await app.service('articles').find({
  query: { $limit: 20 },
})

The Nuxt client uses the same service path through useService('articles'). NFZ Builder features follow the same rule through nfz/* services.

Runtime instance ​

The 6.5.x line maintains a typed default runtime instance with initializing, ready, failed, closing, and closed states. Bridges wait for the readiness promise.

Runtime secrets ​

MongoDB and Keycloak secrets are resolved at runtime and are not serialized into generated templates or public runtime configuration.

Legacy Nitro compatibility ​

console.legacyNitroRoutes: true keeps deprecated /api/nfz/** facades. New applications should use false and consume Feathers nfz/* services.

nuxt-feathers-zod user documentation