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

koyeb.js

v4.2.3

Published

An unofficial wrapper for interacting with the Koyeb API.

Readme

Github Repo Size Codacy Badge

An unofficial wrapper for the Koyeb REST API, enabling you to interact with apps, services and more. Designed to have a simple, intuitive syntax using asynchronous functions.

View documentation

Features

  • Service control (resume, pause, re-deploy)
  • Get a list of services and apps
  • Support for multiple apps using classes
  • Get a specific instance, or the latest
  • Execute commands on an instance
  • Deployment & related methods
  • Finish instance & service
  • Metrics
  • Logs
  • Secrets

Install & Import

pnpm add koyeb.js
import * as Koyeb from 'koyeb.js' // ESM
const Koyeb = require('koyeb.js') // CommonJS

Secure your Auth Token

  1. Head to Account ➟ API
  2. Create a new access token and copy the generated string.
  3. Head to your app settings ➟ Environment Variables ➟ Add Variable
  4. Name the variable AUTH_TOKEN and paste your copied token in the 'value' field.
  5. Hit 'Apply'. You can now access your token without exposing it to others!
const token = process.env.AUTH_TOKEN

Initialize an App

const myApp = await new Koyeb.App(token).fromName('appName')

// Alternatively, you can replace fromName with 2 other methods.
.fromID('13j25-4323b2-671f') // The ID of the application.
.fromIndex(0) // The index of the app in your app list.

Service creation and control

// Creating a service from the first in the app list.
const services = await myApp.listServices(),
      service = new Koyeb.Service(services[0].id, token)

// Calls `status()` internally and returns a true if we received 'PAUSED'.
console.log(service.paused()) 
console.log(service.status())
console.log(service.info())

// Each will return true/false if the request succeeded/failed.
// Calling resume/pause when already running/paused will return false.
await service.redeploy()
await service.resume()
await service.pause()

Get an Instance

// Returns the application's current instance.
const myInstance = await new Koyeb.Instance(appID, token).latest()

// Or get a specific instance by its ID.
const myInstance = await new Koyeb.Instance.get(instanceID, token)

Execute commands

// Returns a promise containing the command result.
// This example outputs a list of files & directories on the instance.
const ls = await instance.executeCommand({ command: ['ls'] })
console.log(ls)

// You can also pass 3 optional keys (ttyWidth, ttyHeight, data).
// More info -> https://www.koyeb.com/docs/api#operation/ExecCommand