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 🙏

© 2026 – Pkg Stats / Ryan Hefner

npm-extras

v0.1.0

Published

npm cli helpers

Readme

npm-extras

Greenkeeper badge

Run npm commands concurrently in directories that have package.json files.

Install

$ npm install npm-extras -g

npm-do

npm-do runs concurrent npm commands. You can opitonal specify the flag --deep to run npm commands in deeply nested subdirectories that have a package.json file as well. An npm command is the action for npm to execute. For example, when running npm install the command is install.

If no npm command is specified, then npm-do will run npm install.

examples

Consider a directories structure such as

- root/
    - package.json
    - examples
        - bit-bundler
            - package.json
            - babel
                package.json
        - eslint
            - package.json

npm-do install will run npm install in the root directory. If you specify the --deep flag, npm-do will do a deep search for package.json files and will run npm install concurrently. E.g it will run npm install in root, examples/bit-bundler, examples/bit-bundler/babel, and examples/eslint concurrently.

  • The following example will run npm install.
$ npm-do install --deep
  • run "npm update"
$ npm-do update --deep
  • run an npm script called "build"
$ npm-do run build --deep
  • install a couple of modules in all sub directories as dev dependencies
$ npm-do install bit-bundler eslint --save-dev --deep

npm-subdir

npm-subdir will run npm commands concurrently in all subdirectories (deeply nested) with package.json files; excluding root. Given the sample structure in npm-do, npm-subdir install will run npm install in examples/bit-bundler, examples/bit-bundler/babel, and examples/eslint.

npm-deep

npm-deep will run npm commands in the root directory as well as subdirectories (deeply nested) with package.json files. This is an alias for npm-do --deep. Given the sample structure in npm-do, npm-deep install will run npm install in root, examples/bit-bundler, examples/bit-bundler/babel, and examples/eslint.

npm-release

This is a helper command that will:

  1. Update the package.json version based on the input
  2. Create a git tag
  3. Push changes related to the release to git, including the tag
  4. Publish new version of the npm module to the npm registry

options

  • deep. This flag will be used to determine if sub directories should also be processed. Defaults to false.

  • message. This is the message used when creating the git tag.

  • version. This is the version for updating the packge.json file. This value is handed off to npm version, so it will be helpful to take a look here for more details. This defaults to "minor".

examples

  • Publishing with all defaults. version is minor and the message is in the format of "Release v%s" where "%s" is the new version generated.
$ npm-release
  • Updating the version to patch
$ npm-release patch
  • Updating the version to major with a tag message
$ npm-release major -m "Major update with breaking changes"
  • Alternatively, you can choose to supply the version as an option
$ npm-release --version 3.1.2

npm-pkg

Command to print to console one or more fields from package.json files. npm-pkg also supports pacakge.json file in sub directories via the --deep flag.

Examples

  • Print the version of the package.json in the current directory.
$ npm-pkg version
  • Print the version of package.json files in the current and sub directories.
$ npm-pkg version --deep
  • Print the name, dependencies, and scripts in the current and sub directories
$ npm-pkg name dependencies scripts --deep