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

phil-lib

v1.7.0

Published

Blazingly fast TypeScript library for Node.js and the browser.

Readme

phil-lib: A blazingly fast TypeScript library.

A collection of useful odds and ends. Many of these come from stack overflow, but I'm tired of looking them up and adding TypeScript annotations each time I need them.

Release Notes

Version 1.4.0 includes one serious bug fix, several small improvements, and a lot of new features.

This is a collection of items that I've been copying from one project to another.

polarToRectangular() was giving completely incorrect results. I need to find the projects that used bad version, so I don't break them with this upgrade.

API Docs

Build Instructions

Manually bump the package version number in package.json. Then run npm update to copy that version number into package-lock.json.

Then type:

npx tsc
npx typedoc *.ts
git add .
git commit
git push
npm publish

You might have to publish to GitHub then update the documentation one more time then publish that final result to GitHub. That will make sure that the pointers from the documentation back to the source code will point to the correct version on GitHub. This should make no important difference to the npm package.

Test Instructions

NPM Link

I've never gotten this to work quite right.

In this directory: npm link

In the main / test program directory: npm link phil-lib

Special instructions if the main program uses vite: https://stackoverflow.com/questions/67964556/cant-support-npm-link-added-local-package-in-vite-cli

GitHub

Sometimes I push to GitHub, but I don't publish to npm. Then I run npm install https://github.com/TradeIdeasPhilip/phil-lib in the main / test program directory. Then I build and run the main program to test this library.

This means that people who install from the npm repository will only get things that have been tested. But I still have to publish untested code to GitHub.

Local Testing

I like the alternate format, described below, because it allowed me to make changes to the main program and the library at the same time. I could build and test everything locally, before committing, publishing, or otherwise sharing anything. npm link is aimed at local testing, but I have multiple problems trying to use it.

Alternate Format

If you don't like npm see https://github.com/TradeIdeasPhilip/lib.

That package is mostly obsolete. Use npm or one of its modern replacements. Ignore the plethora of older solutions and use a package manager.