Skip to main content

api-openapi

@rtorcato/api-openapi generates ready-to-serve HTML pages from an OpenAPI spec object — either Swagger UI or Scalar. It has no framework dependency; use it directly or via an adapter like @rtorcato/api-openapi-express.

Install

pnpm add @rtorcato/api-openapi

generateSwaggerHtml

Returns a self-contained Swagger UI HTML string.

import { generateSwaggerHtml } from '@rtorcato/api-openapi'

const html = generateSwaggerHtml(spec, { title: 'My API' })

Options

OptionDefault
title'API Reference'
cssCdnUrlhttps://unpkg.com/swagger-ui-dist/swagger-ui.css
jsCdnUrlhttps://unpkg.com/swagger-ui-dist/swagger-ui-bundle.js

generateScalarHtml

Returns a self-contained Scalar API Reference HTML string.

import { generateScalarHtml } from '@rtorcato/api-openapi'

const html = generateScalarHtml(spec, { title: 'My API', theme: 'deepSpace' })

Options

OptionDefault
title'API Reference'
theme— (uses Scalar default)
cdnUrlhttps://cdn.jsdelivr.net/npm/@scalar/api-reference

Available themes: default, alternate, moon, purple, solarized, bluePlanet, deepSpace, saturn, kepler, mars, none.