
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
grunt-semantic-release
Advanced tools
Using this plugin it is possible to release a new version with just grunt release
.
This will
Here is an example release.
grunt release
: suggests correct versiongrunt release:patch
: 0.0.1 => 0.0.2grunt release:minor
: 0.0.2 => 0.1.0grunt release:major
: 0.1.0 => 1.0.0grunt release --setversion=4.12.3-alpha.19
: 1.0.0 => 4.12.3-alpha.19If 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-semantic-release --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-semantic-release');
This task comes with a setup script. You should be good to go after running this.
./node_modules/.bin/setup
In your project's Gruntfile, add a section named release
to the data object passed into grunt.initConfig()
.
Example configuration:
grunt.initConfig({
release: {
bump: {
commitMessage: 'Released v%VERSION%'
},
email: 'stephan@boennemann.me',
name: 'Stephan Bönnemann',
payload: function(payload, cb) {
payload.body += '\nvery release'
payload.body += '\n such consistent'
payload.body += '\n much information'
payload.body += '\nwow'
cb(payload);
}
}
})
Type: Array<String>
required
The email used for git commits.
Type: Array<String>
required
The name used for git commits.
Type: Object
optional
Default value:
bump: {
commitMessage: 'chore(release): v%VERSION%',
files: ['package.json', 'bower.json', 'component.json'],
commitFiles: ['-a'],
pushTo: 'origin master'
}
The options object that gets (partly) forwarded to the grunt-bump task.
The task relies on some options for grunt-bump, but there shouldn't be a need to configure this anyways. E.g. when there is a bower.json
file present in the file system it is added to the files array automatically.
Type: Array<String>
optional
Default value: ['changelog']
A list of tasks that prepare files for the release commit. Per default the changelog is generated here, but you can do other stuff like minifying a distribution build, generating a list of contributors – basically everything you could imagine and find useful.
Type: Function
optional
function(payload, cb) {
getAwesomeContextualGif(function(url) {
payload.body += '';
cb(payload);
})
}
You can use this function to manipulate the payload for the GitHub release. For example you could search the internet for an amazing gif and append it to the message body.
The payload
object already contains information about the repo
, owner
and tag_name
; the body
is set to the current changelog.
This grunt tasks is extracted from hood.ie's release process and thus tightly coupled to the tools, conventions and needs of hoodie. Extracting this into it's own general purpose task is the first of several steps to make this more universally applicable.
Currently it is required to:
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Copyright (c) 2014 Stephan Bönnemann. Licensed under the MIT license.
FAQs
release your package without breaking stuff
The npm package grunt-semantic-release receives a total of 11 weekly downloads. As such, grunt-semantic-release popularity was classified as not popular.
We found that grunt-semantic-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.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.