npm.io
3.4.2 • Published 7 months ago

nuxt-api-party

Licence
MIT
Version
3.4.2
Deps
11
Size
58 kB
Vulns
0
Weekly
0
Stars
306

Nuxt API Party module

Nuxt API Party

Nuxt module that provides seamless integration with multiple API endpoints. It generates type-safe composables for each API endpoint you configure, offering a familiar developer experience similar to Nuxt's useFetch and $fetch while keeping your API credentials secure and eliminating CORS issues through a server proxy.

Features

Setup

Read the documentation

npx nuxt module add api-party

Basic Usage

Read the documentation

Add the Nuxt API Party to your Nuxt config and prepare your first API connection by setting an endpoint object with the following properties for the apiParty module option:

// `nuxt.config.ts`
export default defineNuxtConfig({
  modules: ['nuxt-api-party'],

  apiParty: {
    endpoints: {
      jsonPlaceholder: {
        url: process.env.JSON_PLACEHOLDER_API_BASE_URL!,
        // Global headers sent with each request
        headers: {
          Authorization: `Bearer ${process.env.JSON_PLACEHOLDER_API_TOKEN}`
        }
      }
    }
  }
})

If you were to call your API jsonPlaceholder, the generated composables are:

Use these composables in your templates or components:

<script setup lang="ts">
const { data, refresh, error, status, clear } = await useJsonPlaceholderData('posts/1')
</script>

<template>
  <h1>{{ data?.title }}</h1>
  <pre>{{ JSON.stringify(data, undefined, 2) }}</pre>
</template>

You can connect as many APIs as you want, just add them to the endpoints object.

Development

  1. Clone this repository
  2. Enable Corepack using corepack enable
  3. Install dependencies using pnpm install
  4. Run pnpm run dev:prepare
  5. Start development server using pnpm run dev

Special Thanks

  • Dennis Baum for sponsoring the initial version of this package.
  • Konkon for his logo pixel art.

License

MIT License 2022-PRESENT Johann Schopplich

MIT License 2025-PRESENT Matthew Messinger

Keywords