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 🙏

© 2026 – Pkg Stats / Ryan Hefner

therma-energy-api-gateway

v2025.9.18-0

Published

The Therma Energy API Gateway is a service that sits in the Energy cluster. This service is responsible for proxying requests made from the Therma-client web application.

Readme

Therma Energy API Gateway

Overview

The Therma Energy API Gateway is a service that sits in the Energy cluster. This service is responsible for proxying requests made from the Therma-client web application.

Getting Started

To get started, we need to do the following:

  1. Install Node.js on your system
  2. Get the local development JWT Secret
  3. Install dependencies
  4. Start locally

Install Node.js on your system

You need Node.js v16 to for this project. Recommend using nvm to manage Node.js versions on your system.

Get the local development JWT Secret

This service is exposed to the "open web", so the only authentication mechanism we are using to authenticate and allow requests inside our energy cluster is by using a JWT token. This is passed in the authorization header. In order to configure this gateway locally, we need to set the MONITORING_JWT_SECRET as an environment variable. You need to get this JWT secret for decrypting JWT tokens from a teammate.

Install Dependencies

Once the previous steps are done, we need to set the correct NPM_TOKEN value for pulling from our private NPM registry. You also need to ask a teammate for this as well, then just export NPM_TOKEN=THE_CORRECT_TOKEN to load the expected NPM token for the given shell you are working in.

Finally, just npm install and we're almost done.

Start locally

To start locally, and assuming all of the previous steps are done, just npm run dev and the app will start on port 4001 by default.

Since this is a proxy service that works specifically with the therma-energy-apis, recommend having that service running locally on port 3000 - which is that service's default port that is uses.

Using the Swagger docs

Located at /docs, we have documentation of every route that the therma-energy-api-gateway proxies to. To use the Swagger docs effectively, you need to "login" with a JWT token. Here's one way to create a jwt for use with the Swagger docs, after installing the jwt-cli:

jwt encode --secret=MONITORING_JWT_SECRET '{ "user": { "uuid": "SOME_USER_UUID", "companyUUID": "MONITORING_COMPANY_UUID", "name
": "John Doe"}, "iat": 1516239022 }'