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

@glideapps/uapi

v2.0.0

Published

CLI tool for managing local development of unified API services

Readme

@glideapps/uapi

CLI tool for managing local development of unified API services.

Installation

Install globally from npm

npm install -g @glideapps/uapi

Install from source

# From the packages/uapi directory
npm install
npm run build
npm link

Commands

Service Management

| Command | Description | |---------|-------------| | uapi services:list | List all available services | | uapi services:register | Register new service with full integration setup | | uapi services:add-routes <service> | Add new routes to existing service | | uapi services:deregister <service> | Deregister service from configuration |

API Operations

| Command | Description | |---------|-------------| | uapi api:start | Start the Envoy API proxy | | uapi api:stop | Stop the Envoy API proxy | | uapi api:regenerate | Regenerate API configuration and routes | | uapi api:restitch | Merge OpenAPI specifications into unified spec |

Quick Start Examples

# List all available services
uapi services:list

# Register a new service (full onboarding workflow)
uapi services:register

# Start the API gateway
uapi api:start

# Stop the API gateway
uapi api:stop

# Add routes to existing service
uapi services:add-routes my-service

# Regenerate API configuration after changes
uapi api:regenerate

# Merge OpenAPI specs into unified specification
uapi api:restitch

Service Registration Workflow

The uapi services:register command provides a complete onboarding experience:

  1. Service Configuration: Prompts for repository, routes, build/run commands, and local development settings
  2. OpenAPI Spec Fetching: Automatically downloads the service's OpenAPI specification
  3. Unified Spec Generation: Merges all service specs into a unified OpenAPI specification
  4. Route Configuration: Updates API gateway routes and Envoy configuration
  5. GitHub Integration: Sets up GitHub workflows for automatic OpenAPI spec updates
  6. Pull Request: Automatically creates PR with unified API integration changes

Configuration

Services are configured in services.yaml. The tool automatically searches for this file in the current directory or any parent directory.

Example Service Configuration

services:
  my_service:
    repository: https://github.com/org/my-service
    openapi_spec: openapi.yaml
    service_owner: org/team-name
    routes:
      - /api/v1/my-service
      - /my-service
    development:
      build_command: npm install    # Optional
      run_command: npm run dev
    hosts:
      localhost:
        host: host.docker.internal
        port: 8080
        timeout: 30s
        health_check_path: /health

Key Features

  • Complete Service Onboarding: Single command setup from registration to PR creation
  • Automatic OpenAPI Integration: Fetches, merges, and unifies API specifications
  • GitHub Workflow Integration: Automatically sets up workflows for spec synchronization
  • Route Management: Add and manage service routes with conflict detection
  • Configuration Management: Regenerate API gateway configuration and routing

OpenAPI Integration

  • Individual Specs: Service OpenAPI specs are stored in openapi/{service-name}.yml
  • Unified Spec: Combined specification available at openapi/unified-spec.yml
  • Automatic Merging: Specs are automatically merged when services are registered or updated
  • Swagger UI: Use the provided Swagger server to view unified API documentation

Development

# Install dependencies
npm install

# Run in development mode
npm run dev -- services:list

# Build for distribution
npm run build

# Test built version
node dist/cli.js services:list

License

MIT