npm-dist-tag
A small tool to find the appropriate npm distribution tag when publishing a new version of your package.
$ npx npm-dist-tag
Installation
This is a Node.js module available through the npm registry. Before installing, download and install Node.js. Node.js 18 or higher is required.
Installation is done using the npm install command:
$ npm install --save-dev npm-dist-tag
Usage
This tool fetches data about a package from the npm registry and compares its new version with those already published. By default the package name and new version will be loaded from package.json
in the current working directory. The tool can be used via its command line interface or Node.js API and will return one of three values:
-
"next"
if the new version is greater than the latest version on the registry and has a pre-release identifier. -
"latest"
if the new version is greater than the latest version on the registry. -
"v{major}-maintenance"
if the new version is older than the latest version on the registry.
Command line interface
When the command runs successfully it will write the distribution tag to stdout
. If the command fails it will exit with a non-zero code and write the error message to stderr
.
The package name and version can be provided to the tool as options:
$ npx npm-dist-tag --package "<name>" --version "<semver>"
Node interface
This package provides one function which returns a promise. The promise will either resolve with the distribution tag when successful or reject with an error if it fails:
The package
name and new version
can be provided as options:
const npmDistTag = require('npm-dist-tag')
npmDistTag({
package: '<name>',
version: '<semver>'
})
.then((tag) => {
console.log(tag)
})
.catch((error) => {
console.error(error)
})
Example
To ensure the npm publish
command is only run when a valid distribution tag can be found you can use the following shell script:
DIST_TAG=$(npx npm-dist-tag)
if [[ $DIST_TAG ]]; then
npm publish --dist-tag=$DIST_TAG;
fi
License
This package is MIT licensed.