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

@a6kme/create-npm-package

v1.0.7

Published

CLI tool to create an NPM package using ES5/ ES6/ TypeScript

Readme

CLI tool to create npm package (Currently Work In Progress. Not published to NPM.)

lerna

Why?

Often I had to create NPM packages, and I found myself creating the same boilerplate code again and again. For very simple and tiny CommonJS modules, I had to configure webpack differently than a library which I had to compile for UMD. TypeScript configuration and devDependencies were different than that of ES6. So, I figured better to create a CLI, which takes care of all that out of the box. Just answer few propmts, and the initial setup is done.

NOTE: You might not need it altogether, if you do not plan to use TypeScript or unsupported NodeJs features, like ES6 import. You can simply create your files in JavaScript, and publish it directly to NPM, without using any bundler or compiler.

It is needed when you are planning to expose the library as a <script> tag in browser, since you would want to use bundler to output one file which you can include in your HTML file. Or using experimental NodeJs features, and would want to use Babel compiler to convert it into more widely supported JavaScript.

How?

  • npm install -g @a6kme/create-npm-package
  • Run create-npm-package <YOUR_PACKAGE_NAME> command, and answer some prompts to create a folder with your package name.

After doing npm login in the terminal window, you can directly run npm publish --access public. It will test and build the package, and publish it on npm repository.

What?

Currently, the CLI tool is highly opinionated about the choice of tools it uses. It uses webpack for bundling, jest for testing, eslint for linting. It does the following for you

  • Sets up the package directory with name of your package
  • Creates package.json, with standard fields, like repository path, package name, and scripts for testing, linting etc.
  • Initializes the git repository with .gitignore file
  • Sets git remote origin with https://github.com/<YOUR_GIT_USERNAME>/<YOUR_PACKAGE_NAME>.git
  • Adds eslint configuration file with appropriate parser
  • Adds webpack builder configuration file

Check out my blog post about how to use this CLI at https://a6k.me/articles/how-to-create-and-publish-an-npm-package/