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 🙏

© 2024 – Pkg Stats / Ryan Hefner

dependent-tree

v0.0.4

Published

CLI utility which builds a dependent tree for your package to find out where it is used. The 'dependent tree' is the inverse of a package's dependency tree - it's a tree of all packages depending on a given package. This utility works on a per-organizatio

Downloads

7

Readme

Dependent Tree

CLI utility which builds a dependent tree for your package to find out where it is used. The 'dependent tree' is the inverse of a package's dependency tree - it's a tree of all packages depending on a given package. This utility works on a per-organization basis : it doesn't search all of npm, just your organization.

Note* : this util uses the github API which by default only searches master branches of repositories. I currently don't have a way to modify this in any way, but I'm accepting PRs :)

Steps :

  • get an oauth token from github so dependent-tree can access the github api
  • set up your environment variables
  • clone all the package jsons for your organization (WARNING! this takes a second if you have a lot of packages)
  • update package jsons as needed
  • query dependent-tree for a given package
  • dependent-tree will output a pretty-printed tree describing all the places your package is installed

Setup :

yarn global add dependent-tree
npm install dependent-tree --global

As I mentioned above, you need to head to github and generate an oauth token for yourself : https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/ Once you've done that, configure the following settings in your .env file. The .env file lives at the root of the dependent-tree project...

DEPENDENT_TREE_ORG=my_org
DEPENDENT_TREE_OAUTH=github_personal_access_token_goes_here
LOG_LEVEL=info

... Alternately you can export these from a global config (like your .profile or .bash_profile) like :

export DEPENDENT_TREE_ORG=my_org

Usage :

dependent-tree -u

Update the dependent tree package list. You should use this command sporadically to ensure you have up to date info on each of your packages. WARNING! This step can take a second!

dependent-tree -p package-name

Build the dependent tree for a given package. This will not work if you haven't run the update command first (see below).

log levels

  • error
  • warn
  • info
  • trace

Trace has the highest amount of output, it's actually handy for the update command and will show you every request being made.