Skip to content

enkot/nuxt-open-fetch

Repository files navigation

Nuxt Open Fetch

Nuxt Open Fetch

npm version License Nuxt

Generate zero-overhead, 100% typed OpenAPI clients for Nuxt.

In other words - $fetch and useFetch on steroids. Uses awesome openapi-typescript generator under the hood.

⚠️ APIs are subject to change. All ideas/suggestions are welcome! :)

Features

  • 🍹  No manual typing of your API
  • 🍋  Supports OpenAPI 3.0 and 3.1 (including advanced features like discriminators)
  • 🌲  Uses runtime-free types that outperform old-school codegen
  • 📡  Load schemas from YAML or JSON, locally or remotely
  • 🥞  Works with Nuxt Layers

Quick Setup

  1. Add nuxt-open-fetch dependency to your project
# Using pnpm
pnpm add -D nuxt-open-fetch

# Using yarn
yarn add --dev nuxt-open-fetch

# Using npm
npm install --save-dev nuxt-open-fetch
  1. Add nuxt-open-fetch to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    'nuxt-open-fetch'
  ]
})

That's it! You can now use nuxt-open-fetch in your Nuxt app ✨

Development

# Install dependencies
pnpm install

# Generate type stubs
pnpm dev:prepare

# Develop with the playground
pnpm dev

# Build the playground
pnpm dev:build

# Run ESLint
pnpm lint

# Run Vitest
pnpm test
pnpm test:watch

# Release new version
pnpm release

License

Made with 💚

Published under the MIT License.