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

@egjiri/node-kit

v2.6.0

Published

TypeScript/Javascript Utilities

Readme

A collection of useful Node.js utility functions that can be used across projects. Written in TypeScript.

  • 🚀 Node.js Only (not for DOM/browsers)
  • 📦 Zero Dependencies - No runtime dependencies

Installation

The library is available as an npm package. To install the package using your favorite package manager run:

| Package Manager | Command | |-----------------|---------| | npm | npm install @egjiri/node-kit | | pnpm | pnpm add @egjiri/node-kit | | yarn | yarn add @egjiri/node-kit | | bun | bun add @egjiri/node-kit |

Usage Examples

import { formatNumber } from '@egjiri/node-kit/numbers'

formatNumber(1234.56, 'currency');
// => $1,234.56
import { removeKeysWithBlankValues } from '@egjiri/node-kit/objects'

removeKeysWithBlankValues({
  first: 'first',
  second: null,
  third: undefined,
  fourth: 4
});
// => { first: 'first', fourth: 4 }

Development

  1. Install dependencies: pnpm install
  2. Run tests: pnpm run test
  3. Run tests in watch mode: pnpm run test:watch (tests automatically re-run when TypeScript src files change)
  4. Run code coverage report and open it in the browser pnpm run coverage
  5. Run all checks (lint, build, and coverage): pnpm run all - This is the comprehensive command to run before committing changes
  6. Start Coding!

Setting up GitHub Secrets

The CI GitHub Action requires a BADGE_API_KEY GitHub secret. To fetch this secret from 1Password and set it on GitHub, run the following command locally once. Re-run this command whenever the secret changes.

gh secret set BADGE_API_KEY --repo egjiri/node-kit --body "$(op read 'op://Infrastructure/Badge/BADGE_API_KEY' -n)"

The coverage badge is automatically updated by the CI GitHub Action whenever tests run on the main branch. The badge is generated using the egjiri/badge project and hosted at badge.egjiri.com.

Release

This project uses automated publishing through GitHub Actions. Publishing happens automatically when you create and push a version tag.

How to Release:

  1. Update the version in package.json:

    # For a patch release (1.7.0 → 1.7.1)
    pnpm version patch -m "Upgrade version to %s"
    
    # For a minor release (1.7.0 → 1.8.0)
    pnpm version minor -m "Upgrade version to %s"
    
    # For a major release (1.7.0 → 2.0.0)
    pnpm version major -m "Upgrade version to %s"
  2. Push the tag to trigger the release workflow:

    git push origin main --tags

What happens automatically:

  • 🏷️ GitHub Release is created with the tag name
  • 🏗️ Package is built (TypeScript → CommonJS & ESM with type definitions)
  • 📦 Published to NPM with public access
  • No manual intervention required