Empower your NPM packages using distribution tags

Franco Voisard
3 min readJan 14, 2023

--

Card boxes

Hello there! Are you developing or using npm packages? So this post might be of your interest .
Probably you might have heard of something called “distribution tags.” But what are they, and why do they matter?

First off, let’s talk about what a distribution tag is. When you publish a package to a NPM registry (which is a big library of packages), you can attach a “tag” to it. This tag is just a label that you can use to indicate what kind of version of your package someone is getting.

The most common tags are latest , beta, alphaand next. The latest tag is applied to the most recent version of a package that has been released, if any other tag was specified. When publishing a package, you can specify the tag using the--tagoption.

Example:

> npm publish --tag mytag | A package will be published with mytag tag.

> npm publish | The package will be published with the latesttag by default.

When someone installs a package using:

> npm install your_awesome_package

They will get the version with the latest tag, so it’s the same as doing:

> npm install your_awesome_package@latest

On the other hand, the beta and next tags are commonly used for versions that are not yet ready for production use but are close. This way users can test the new features and provide feedback, also developers can catch and fix bugs.

There’s also an alpha tag, which is intended for even more experimental versions. These versions are likely to have bugs and may be unstable, so use with caution.

Additionally, you can also create custom tags for your own use, like “testing” or “production”. It’s up to you how you want to use them.

To check which tags are available for a package you can do that using:

> npm dist-tags your_package

The result will be something like this:

> npm dist-tags your_package
> latest: 1.3.0
> beta: 1.4.0–5

You can imagine tags as different assembly lines, where each line produces a type of package depending on their tag.

So, why do tags matter? Well, if you’re using a package in your own project, it can be helpful to know which version you’re getting. For example, if you’re building a production app and you want to make sure you’re using a stable version of a package, you might want to stick to the latest tag. On the other hand, if you want to test out the latest features, you might want to use the beta or alpha tag.

Another important thing to note is that you can also use tags to specify the version of the package you want to install. For example if you run npm install [package name]@latest you'll get the version of the package with the latest tag, and if you run npm install [package name]@beta you'll get the latest version of the package with the beta tag.

In summary, distribution tags are labels that indicate the version of a package, they are commonly “latest”, “beta”, “alpha” and “next”, but you can also create custom tags. They allow you to specify which version of a package you want to install and help you understand the stability of the package you are using.

If this content was useful you can share it or leave a comment if you want :)

--

--

Franco Voisard
Franco Voisard

Written by Franco Voisard

Videogame and Digital Entertainment Producer. Software Engineer at etermax and CTO at Pocket Duck Games

No responses yet