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

cthulhu-utils-test

v0.0.16

Published

This is a test for the cthulhu-utils to see if we can cleanly separate all of the current functionality

Downloads

68

Readme

Cthulhu-utils

The Cthulhu team will use this repository to put all of their general functions or utilities in a centralised place.
These utilities will be used in every web component that we'll write.
The purpose of this is to keep our web components as clean as possible, as little number of scripts as possible.

scan-css

Represents the functionality that we use to compile our css

css-variables

Create a fallback for each cataloged standalone CSS variables.
Used in index.js which will pass the css tree and the cataloged variables as arguments.
The cataloged variables are passed as a result of the theming functionality.

general-functions

General helper functions

  • replaceString
    • replace an entire piece of a string with something else
    • used in the index.js to replace the old CSS with the newly compiled CSS
  • replaceCharacter
    • replace a single character in a string
    • used in the host-selectors.js to replace a ')' with a blank space

host-selectors

Create a fallback for the :host()- and :host-selectors in our CSS.
Used in index.js which will pass the css tree and the component name as arguments.
Component is passed on through the npm script in the package.json of each component (configured manually).

theming

Provide a solution for our theming problem, all documented in our Confluence.
Used in index.js which will only pass the css tree as argument.

src-watch

General function to watch for changes in our source directory of every web component.
This watcher will kick-off another build that updates our working directory, to make continuous development possible.

update-package

Node script that will dynamically (based on npm script arguments) increase the version of your package and publish it to npm.
Possible arguments are patch/minor/major.

path-replace

Replace the import path of the component (ES5/ES5-IE) in theindex.js file with a node_modules path => necessary for packaging!