npm-publish-latest-tag
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

npm GitHub release (latest by date)

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 current
version is 2.3.4
Publishing new major version latest 3.0.0latest
Publishing minor/patch to current major release latest 2.4.0latest
Publishing minor/patch to old major release latest-X where X is the major version 1.4.5latest-1
Publishing pre-release/alpha/beta/etc latest-X-Y where X is the major
version and Y is the first pre-release section
3.0.0-betalatest-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");
//...

Contributing

This library is not in the top-level directory of its repository; it can be found in the ./core directory.

License (ISC)

Copyright (c) 2021, Toby Smith tobysmith568@hotmail.co.uk

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Install

npm i npm-publish-latest-tag

DownloadsWeekly Downloads

20

Version

1.0.1

License

ISC

Unpacked Size

17.4 kB

Total Files

19

Last publish

Collaborators

  • tobysmith568