npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@confytome/swagger

v2.0.9

Published

Standalone Swagger UI generator - creates interactive, self-contained Swagger UI documentation from OpenAPI specs with responsive design.

Readme

@confytome/swagger

Build npm version Downloads License

Interactive Swagger UI generator for confytome. Generates self-contained Swagger UI documentation from OpenAPI specifications with responsive design and embedded assets.

✨ Features

  • 🎨 Interactive Swagger UI - Full-featured API explorer interface
  • 📱 Responsive Design - Works on desktop, tablet, and mobile devices
  • 🎯 Self-contained - Single HTML file with all assets embedded (~1.9MB)
  • 🔒 Documentation Mode - Displays spec without making actual API calls
  • 🌍 Unicode Support - Supports international characters and languages
  • 🔗 Deep Linking - Direct links to specific endpoints
  • Fast Loading - Optimized bundle with minimal dependencies

📦 Installation

# Global installation
npm install -g @confytome/swagger

# Or use with npx (no installation)
npx @confytome/swagger --help

🚀 Usage

Standalone Usage (Recommended)

# Use existing OpenAPI spec - No additional dependencies required
npx @confytome/swagger --spec ./path/to/your-api-spec.json --output ./docs

With confytome.json Configuration

# Generate from API code - Requires @confytome/core
npx @confytome/swagger --config ./confytome.json --output ./api-docs

⚙️ Options

| Option | Short | Description | Default | |--------|-------|-------------|---------| | --config | -c | Path to confytome.json config file | ./confytome.json | | --output | -o | Output directory for generated files | ./docs | | --spec | | Path to existing OpenAPI spec file | | | --version | -V | Show version number | | | --help | -h | Show help information | | | --no-brand | | Exclude confytome branding from documentation | |

🎯 Two Usage Scenarios

✅ Scenario 1: Standalone with Existing Spec

Perfect when you already have an OpenAPI specification file.

npx @confytome/swagger --spec ./my-api-spec.json
  • No additional dependencies
  • Works immediately
  • Perfect for CI/CD pipelines

⚙️ Scenario 2: Generate from Code

When you need to generate the OpenAPI spec from your API code first.

npx @confytome/swagger --config ./confytome.json
  • ⚠️ Requires @confytome/core for spec generation
  • Full workflow from code to documentation
  • Automatic spec generation

If @confytome/core is not installed, you'll see helpful guidance:

💡 You have two options:
   1. Install @confytome/core:
      npm install -g @confytome/core
   2. Provide existing OpenAPI spec:
      npx @confytome/swagger --spec path/to/spec.json

📁 Generated Output

Creates api-swagger.html in the specified output directory - a self-contained interactive Swagger UI interface with:

  • Complete OpenAPI specification embedded
  • Professional Swagger UI styling and responsive layout
  • Interactive interface for exploring endpoints
  • Deep linking support for easy navigation
  • Try-it-out interface (disabled for static documentation)

Generated File Structure

docs/
├── api-swagger.html
├── api-spec.json

Content Features

  • Endpoint Explorer - Expandable sections for each API endpoint
  • Schema Browser - Interactive data model exploration
  • Response Examples - Sample responses for each endpoint
  • Parameter Documentation - Detailed input requirements
  • Authentication Info - Security scheme documentation

🔧 Dependencies

  • commander: CLI argument parsing
  • swagger-ui-dist: Official Swagger UI distribution

When using --spec option: No additional dependencies required When using --config option: Requires @confytome/core for OpenAPI spec generation

💡 Examples

Basic Usage

# Simple generation with existing spec
npx @confytome/swagger --spec ./docs/api-spec.json --output ./public

CI/CD Integration

#!/bin/bash
# Generate Swagger UI documentation in CI
npx @confytome/swagger \\
   --spec ./build/api-spec.json \\
   --output ./dist/docs

Multiple Environments

# Production docs
npx @confytome/swagger \\
   --spec ./specs/prod-api.json \\
   --output ./docs/prod

# Staging docs
npx @confytome/swagger \\
   --spec ./specs/staging-api.json \\
   --output ./docs/staging

🛠️ Troubleshooting

Common Issues

Large file size (~1.9MB)

The generated HTML file includes the complete Swagger UI bundle for offline usage. This is intentional for self-contained documentation.

"Specified OpenAPI spec file not found"

# Check file path exists
ls -la ./path/to/your-spec.json

# Use absolute path if needed
npx @confytome/swagger --spec $(pwd)/api-spec.json

"OpenAPI spec not found, generating it first"

This means you're using config mode but don't have @confytome/core installed.

# Option 1: Install core
npm install -g @confytome/core

# Option 2: Use existing spec instead
npx @confytome/swagger --spec ./path/to/existing-spec.json

🌟 Part of confytome Ecosystem

@confytome/swagger is part of the confytome documentation ecosystem:

📄 License

MIT License - see the LICENSE file for details.


Generate beautiful Swagger UI documentation from OpenAPI specifications in seconds.