
Product
Announcing Socket Fix 2.0
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
grunt-npm-release
Advanced tools
Grunt plugin for automating the release steps of a node project to npm. It will also push the new version and tags to Github.
Fork of geddski/grunt-release
grunt release
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-npmrelease --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-npmrelease');
Patch Release:
grunt npmrelease
or
grunt npmrelease:patch
Minor Release:
grunt npmrelease:minor
Major Release:
grunt npmrelease:major
Pre-release
grunt npmrelease:prerelease
prerelease
will just update the number after MAJOR.MINOR.PATCH
(eg: 1.0.0-1
)
If you want to add an alphanumeric identifier, you will need to add it by hand.
Example: add -alpha.0
to get something like 1.0.0-alpha.0
. Calling grunt npmrelease:prerelease
will just update the last number to 1.0.0-alpha.1
.
Releasing Unstable/Beta Versions
Sometimes it is useful to publish an 'unstable' or 'beta' version to npm
, while leaving your last stable release as the default that gets installed on an npm install
.
npm
accomplishes this using the --tag myUnstableVersion
flag. You can enable this flag in grunt-npmrelease either by setting the npmtag
option:
npmrelease: {
options: {
npmtag: 'canary',
}
}
or by passing the CLI arg:
grunt npmrelease --npmtag canary
NOTE: If the tag you pass is true, then the tag will be the new version number after the bump. Otherwise it will be the string you provided.
Dry Run:
To see what npmrelease does, without really changing anything, use --no-write
option.
grunt npmrelease --no-write
You'll see something like:
>> -------RELEASE DRY RUN-------
>> created new npm version: npm version patch -m "release %s"
>> pushed to remote git repo
>> pushed new tag patch to remote git repo
>> published version patch to npm with a tag of "test"
Done, without errors.
The following are all the release steps, you can disable any you need to:
npmrelease: {
options: {
bump: false, //default: true
file: 'component.json', //default: package.json
push: false, //default: true
pushTags: false, //default: true
npm: false, //default: true
npmtag: true, //default: no tag
folder: 'folder/to/publish/to/npm', //default project root
commitMessage: 'check out my release <%= version %>', //default: 'release <%= version %>'
}
}
MIT
FAQs
Release a new version of your Node-based project
We found that grunt-npm-release demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.
Product
Socket’s new Tier 1 Reachability filters out up to 80% of irrelevant CVEs, so security teams can focus on the vulnerabilities that matter.