Skip to content

Frontend usage

This page documents the frontend composables (useService, useFeathers, useProtectedService, useAuth), its configuration contract and the recommended usage pattern for application developers.

Purpose

The frontend composables (useservice, usefeathers, useprotectedservice, useauth) helps keep the Nuxt module configuration, Feathers runtime, generated services, TypeScript client and CLI workflow aligned.

When to use this option

Use this page when you need to:

  • configure the frontend composables (useService, useFeathers, useProtectedService, useAuth);
  • document the decision in a starter or application;
  • validate the setup with a CLI command;
  • avoid drift between configuration, generated files and runtime behavior.

Configuration example

ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-feathers-zod'],

  feathers: {
    client: { mode: 'embedded', pinia: true },
    servicesDirs: ['services'],
  }
})

CLI example

bash
bunx nuxt-feathers-zod add service messages --adapter memory --schema zod --force

Runtime example

ts
const service = useService('messages')

const result = await service.find({
  query: {
    $limit: 10,
    $sort: { createdAt: -1 },
  },
})

Practical advice

  • Keep runtime-affecting options explicit in nuxt.config.ts.
  • Prefer CLI-generated services so manifests and generated types stay synchronized.
  • Run bunx nuxt-feathers-zod doctor after structural changes.
  • Use --dry before write operations on an existing project.

nuxt-feathers-zod module documentation