Skip to content

Use as Nuxt Module

This package is configured directly in nuxt.config.ts through the openapi key.

Minimal configuration

ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-openapi-hyperfetch'],
  openapi: {
    input: './swagger.yaml',
  },
})

That is enough to generate:

  • the OpenAPI SDK into ./openapi
  • useFetch composables
  • useAsyncData composables

Typical configuration

ts
// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-openapi-hyperfetch'],
  openapi: {
    input: './swagger.yaml',
    output: './openapi',
    baseUrl: 'https://api.example.com',
    generators: ['useFetch', 'useAsyncData', 'nuxtServer', 'connectors'],
    serverRoutePath: 'server/routes/api',
    enableBff: false,
    enableDevBuild: true,
    enableProductionBuild: true,
    enableAutoGeneration: false,
    enableAutoImport: true,
    connectors: {
      enabled: true,
      strategy: 'manual',
    },
  },
})

When generation runs

  • enableDevBuild: true generates files before nuxt dev starts building.
  • enableProductionBuild: true generates files before nuxt build.
  • enableAutoGeneration: true watches the input file in development and regenerates when it changes.

Module options

OptionTypeRequiredDefaultDescription
inputstringYes-Path to the local OpenAPI document consumed by the module.
outputstringNo./openapiRoot directory for the generated SDK and composables.
baseUrlstringNo-Base URL injected into generated client composables.
generatorsArray<'useFetch' | 'useAsyncData' | 'nuxtServer' | 'connectors'>No['useFetch', 'useAsyncData']Select which outputs to generate.
serverRoutePathstringNoserver/routes/apiOutput directory for generated nuxtServer routes.
enableBffbooleanNofalseEnables BFF helpers for nuxtServer generation.
connectorsobjectNo-Advanced connector configuration for manual or hybrid strategies.
createUseAsyncDataConnectorsbooleanNofalseBackward-compatible flag that also triggers connector generation.
enableDevBuildbooleanNotrueGenerate before development builds.
enableProductionBuildbooleanNotrueGenerate before production builds.
enableAutoGenerationbooleanNofalseRegenerate when the input file changes in development.
enableAutoImportbooleanNotrueAuto-import generated composables and connectors in Nuxt.

Generator selection notes

  • connectors depends on useAsyncData. If connectors are requested, useAsyncData is added automatically.
  • nuxtServer writes route handlers into serverRoutePath; it does not place them inside openapi/.
  • If you only want the SDK plus one composable family, keep generators small.

Released under the Apache-2.0 License.