npm-publish-latest-tag
v1.1.3
Published
Library for getting a tag value to supply to the npm publish command so that updates to old major versions don't automatically get given the 'latest' tag
Downloads
18
Maintainers
Readme
npm Publish Latest Tag
A library for getting a tag value to supply to the npm publish
command so that updates to old major versions don't automatically get given the latest
tag.
Why use this?
If you provide no tags to the npm publish
command then npm automatically gives that release the latest
tag. The version with the latest
tag is the one a user will get if they npm install
without specifying a tag or a version.
This library returns a string for you to supply to the npm publish
command with the --tag
flag so that your current major version always keeps the latest
tag.
Updates to older major versions will get a tag that is specific to that major version. Pre-releases/alphas/betas/etc will be tagged as such for their major version, no matter if it's an older, current, or newer major version.
Examples
| Scenario | Outputted tag value | Example where currentversion is 2.3.4 |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------- |
| Publishing new major version | latest
| 3.0.0
➜ latest
|
| Publishing minor/patch to current major release | latest
| 2.4.0
➜ latest
|
| Publishing minor/patch to old major release | latest-X
where X
is the major version | 1.4.5
➜ latest-1
|
| Publishing pre-release/alpha/beta/etc | latest-X-Y
where X
is the majorversion and Y
is the first pre-release section | 3.0.0-beta
➜ latest-3-beta
|
Usage
To use this library, import it and run getLatestTag
, passing in the location of the package.json for the npm package:
var npmPublishLatestTag = require("npm-publish-latest-tag");
// ...
npmPublishLatestTag.getLatestTag("./package.json").then(tagToPublishWith => {
//...
});
import { getLatestTag } from "npm-publish-latest-tag";
// ...
const tagToPublishWith = await getLatestTag("./package.json");
//...
License
npm-publish-latest-tag and npm-publish-latest-tag-github-action are licensed under the ISC License.