npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details


  • User packages



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.


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




A set of default eslint configurations from formidable






A composable set of ESLint configurations.

Build Status npm

This project is based on eslint-config-walmart. It is eslint@2+-compatible and maintained by Formidable.


Install this config package and ESLint:

$ npm install --save-dev [email protected] eslint-config-formidable


Full Configurations

This package includes the following complete and ready to use configurations:

  • formidable - ES6 config
  • formidable/configurations/off - Disable all rules (ESLint's default at 1.0.0+)
  • formidable/configurations/es5-browser - ES5 + browser
  • formidable/configurations/es5-node - ES5 + node < 4.x
  • formidable/configurations/es5-test - ES5 + test
  • formidable/configurations/es5 - ES5 config
  • formidable/configurations/es6-browser - ES6 + browser
  • formidable/configurations/es6-node - ES6 + node 4.x
  • formidable/configurations/es6-react-test - ES6 + react + test
  • formidable/configurations/es6-react - ES6 + react
  • formidable/configurations/es6-test - ES6 + test
  • formidable/configurations/es6 - ES6 config

To consume and extend a config in ESLint just add the extends attribute to your .eslintrc. For more details about how shareable configs work, see the ESLint documentation.

  - "formidable"
  - "formidable/configurations/es6-browser"

Piecemeal Configurations

ESLint configuration is broken apart in ./rules containing ESLint's rules and rules for specific ESLint plugins. The full set of ESLint rules (./rules/eslint) are broken into categories that mirror ESLint's documentation. Under each rule type there are sets of configuration as well as an off.js file which turns off every rule in the category.

  - "formidable/rules/eslint/best-practices/on",
  - "formidable/rules/eslint/es6/off"
  - "formidable/rules/eslint/node/off"

  "phantom": true


Due to an issue with ESLint, config extension cannot be called from a globally installed (npm install -g eslint) eslint. It can however be run properly using eslint installed directly to your package's node_modules. This can be done by either calling it directly (./node_modules/.bin/eslint .) or from within an npm script since they automatically check local node_modules first. This will be tracked in issue #43.

This package tracks config in the following versions:


This project defines a huge number of very contentious config variables. In order to prevent issues/PRs from being eternal bikeshedding pits of doom we would like to ask that you simply upvote or downvote a rule. If you need to explain something please use concrete and reproducible evidence or statistics. Please try not to post assertions of preference, authority, aesthetic beauty (it's in the eye of the beholder), minimal key presses, cognitive load or any other subjective measures of code style.

And A Special Thanks To


MIT License