Publishing a beta or alpha version to NPM

Take advantage of NPM tags

Most software has a beta version before it gets released — a version that hasn’t yet reached production readiness because it contains some experimental features.

It is quite common to have some beta test user group that uses this version, tests it, reports issues and other findings.

The same process also occurs when we develop an NPM module. So how do we deploy beta versions with NPM?

How to deploy a beta version

After we have implemented our new feature the first thing we do is to bump the version as we would also do for a regular release.

It is crucial that we add beta.0 at the end of your version. The .0 indicates which beta version it is. When we publish a new fix as beta, we will increment the .0 to .1 and so on.

So our version should, for example, look like this: 3.1.0-beta.0.

Next we will go ahead and commit all your changes.

In addition to the commit it is always a good practice to add a git tag to our beta version. We can add a tag with git tag 3.1.0-beta.0

You can run npm version 3.1.0-beta.0 to update package.json and create a git tag in one go (see

Now it is time to publish our beta version.

Publishing a beta or alpha version is quite similar to publish a final version. The only difference is the —-tag flag in the publish command.

To publish the beta version just run the following command;

npm publish --tag beta

Follow me on Twitter or medium to get notified about my newest blog posts!🐥

Inspect tags with NPM Info

npm info is a handy command that allows us to inspect the published versions and the tags of a package.

We can see that there is a stable version 3.0.0 that is associated with the latest tag.

Additionally, we have just created a new beta tag and linked version to 3.1.0.beta.0 it. As you can see, there is also already an alpha version, 4.0.1-alpha.0.

Great! We have created some tags but what now?

NPM install with tags

Consumers usually install our library by running the standard npm install command:

npm install —-save libraryname

This command will fetch the version associated with the latest tag.

Only the version labeled to latest is shown on

But there’s also the possibility to install a version based on a tag. Beta users can install the brand new version with

npm install — save libraryname@beta.


Tags offer a great way to publish prereleases that can then be used by a test group.

Those prereleases offer a great way to gain experience and feedback with the new version of a library.

🙏 Please give some claps by clicking on the clap 👏🏻 button below if you enjoyed this post.‍‍🧞

Claps help other people finding it and encourage me to write more posts

Feel free to check out some of my other articles about Front End development.

Passionate freelance frontend engineer. ❤️ Always eager to learn, share and expand knowledge.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store