JSPM

@scalar/hono-api-reference

0.7.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 211843
  • Score
    100M100P100Q188469F
  • License MIT

A middleware for using the Scalar API reference in Hono

Package Exports

  • @scalar/hono-api-reference

Readme

Scalar for Hono

Version Downloads License Discord

This middleware provides an easy way to render a beautiful API reference based on an OpenAPI/Swagger document with Hono.

hono-js

Installation

npm install @scalar/hono-api-reference

Usage

Set up Zod OpenAPI Hono and pass the configured URL to the apiReference middleware:

import { apiReference } from '@scalar/hono-api-reference'

app.get(
  '/reference',
  apiReference({
    url: '/doc',
  }),
)

The Hono middleware takes our universal configuration object, read more about configuration in the core package README.

CORS middleware

We recommend to allow requests from other domains to your API definition. That makes it easier to use your API with our free web client for example.

You just need to add the official Hono CORS middleware to the route of your OpenAPI document:

import { cors } from 'hono/cors'

// Recommended: Allows cross-origin requests (from other domains) to your OpenAPI document
app.use('/doc', cors())

Themes

The middleware comes with a custom theme for Hono. You can use one of the other predefined themes (alternate, default, moon, purple, solarized) or overwrite it with none. All themes come with a light and dark color scheme.

import { apiReference } from '@scalar/hono-api-reference'

app.get(
  '/reference',
  apiReference({
    theme: 'purple',
    url: '/doc',
  }),
)

Custom page title

There’s one additional option to set the page title:

import { apiReference } from '@scalar/hono-api-reference'

app.get(
  '/reference',
  apiReference({
    pageTitle: 'Hono API Reference',
    url: '/doc',
  }),
)

Custom CDN

You can use a custom CDN ,default is https://cdn.jsdelivr.net/npm/@scalar/api-reference.

You can also pin the CDN to a specific version by specifying it in the CDN string like https://cdn.jsdelivr.net/npm/@scalar/api-reference@1.25.28

You can find all available CDN versions here

import { apiReference } from '@scalar/hono-api-reference'

app.use(
  '/reference',
  apiReference({
    cdn: 'https://cdn.jsdelivr.net/npm/@scalar/api-reference@latest',
    url: '/doc',
  }),
)

Community

We are API nerds. You too? Let’s chat on Discord: https://discord.gg/scalar

License

The source code in this repository is licensed under MIT.