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

@shopify/component-stats

v0.2.0

Published

[About this repo](#about-this-repo) | [Project board](#project-board) | [How to use this repo](#how-to-use-this-repo)

Readme

Component Stats

About this repo | Project board | How to use this repo

About this repo

This tool tracks progress against the project to update Shopify/web to remove duplicate components in favor of a single, extensible component and remove use of polaris-next.

The tool generates usage statistics for a target directory.

| Current status | Owner | Help | | -------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------ | | ongoing | @polaris-team | #core-deliver-global-components |

Project board

World class admin components

Usage

While this package can be globally installed we recommend executing the CLI directly with npx.

npx @shopify/component-stats --type [stat type] [target directory]

Run npx @shopify/component-stats --help for detailed usage descriptions.

Examples

Note: The following commands assume you have Shopify/web cloned and have navigated to it's directory in your terminal.

Generate a single SCSS stats file for the target directory.

npx @shopify/component-stats --type scss ./web

Generate historical SCSS stats files for the target directory.

npx @shopify/component-stats --type scss --historical ./web/packages/@Shopify/polaris-next

Generate a CSS stats file for the target directory.

For the following command to work in @Shopify/web you must first run yarn build to generate the css assets. Be aware, this process takes 30+ minutes.

npx @shopify/component-stats --type css ./web

Note: The above commands will output the generated stats in the current working directory unless overridden by the --output-dir flag or OUTPUT_DIR environment variable.

Local Development

To run the script on an existing Shopify repository, make sure you have that repository cloned to your computer.

Make sure Git and Node.js are installed on your computer. You should be on Node version 14+. Run the following commands in your terminal to get started:

$ git clone https://github.com/Shopify/component-stats    # git clone repository
$ cd component-stats                                      # access the files
$ npm install                                             # install dependencies
$ npm run cli -- --type [stat type] [target directory]    # run locally

Note: npm run cli -- allows us to pass additional flags to the underlying ts-node src/cli.ts command. See the npm documentation for more information.