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

npm2docker

v1.0.2

Published

Dockerize package from npm registry and push to docker registry

Readme

npm2docker

npm2docker is a tool for developers to build a Docker image of a javascript program and register it in a registry such as dockerhub.

Prerequisites

  • The program must be registered in the npm registry and can be installed with the yarn command.
  • pacakge.json must have a bin attribute that can be executed as a command.

Features

  • No Dockerfile is required
  • Identify the image name and revision tag from the npm repository registration, and assign them automatically
  • Supports npm login

How to use

Installation

Install it in your package with the following command

yarn add --dev npm2docker

Example release scripts

Add the following to scripts in packge.json.

"register-image": "npx npm2docker package-name --latest --push --remove",

If you want to use it against packge that is registered in the npm private repository You will need to run npm login beforehand. Then, specify the URL of the repository in the npm_config_registry environment variable as follows.

"register-image": "npm_config_registry=https://registry.npmjs.org npx npm2docker package-name --latest --push --remove",

If you want to release it, use the following command.

yarn register-image

This script will do the following:

  1. Build an image tagged as package-name:last-release-revision
  2. Push the image to dockerhub
  3. Push same image to dockerhub with latest tag
  4. Delete the image.

Now, If the package name is prefixed with the scope name, the image name will be the one without the scope name. The last revision is the one shown by the "docker view package_name version" command. The CMD of the image will have the key value of the first of the key-values displayed by the "docker view package bin" command.

Add to private repository.

You can specify the destination of the push with --prefix.

To register to a repository in an Organization on dockerhub.

You can use --prefix to add the organization name with suffix "/". For example, to register to "exorg" organization, specify "--prefix exorg/".

To register to a unique registry, use --prefix

To register to a own registry, specify --prefix FQDN:port-number followed by /. For example, if you want to register to reg.example.com:5000, specify "--prefix reg.example.com:5000/".

Other

For other usage, please refer to the help.

npx npm2docker --help