
Security News
Meet Socket at Black Hat Europe and BSides London 2025
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.
grunt-git-describe-plus
Advanced tools
Describes git commit and push status. Based on grunt-git-describe with addition to detect if locally unpushed changes exist.
This plugin requires Grunt ~0.4.0
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-git-describe-plus --save-dev
One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-git-describe-plus');
In your project's Gruntfile, add a section named git-describe to the data object passed into grunt.initConfig().
grunt.initConfig({
"git-describe": {
"options": {
// Task-specific options go here.
},
"your_target": {
// Target-specific file lists and/or options go here.
},
},
})
Note that since this is a multi-task you have to have at least one target defined for
git-describe(otherwise the task won't run)
Type: String
Default value: '.'
A string value that is used to do set the current working directory when spawning the git command
Type: String
Default value: undefined
A string value that is used as commitish for git. Default is to use HEAD.
Type: String
Default value: {%=tag%}-{%=since%}-{%=object%}{%=dirty%}
A string value used to format the result of this task
Type: boolean
Default value: true
A boolean that allows Grunt to keep going if there's an error in this task. This is useful if your build isn't guaranteed to always be run from within a Git repo.
If you would like to save or otherwise use the retun value, use grunt.event.emit. Here is an example:
grunt.registerTask('saveRevision', function() {
grunt.event.once('git-describe', function (rev) {
grunt.log.writeln("Git Revision: " + rev);
grunt.option('gitRevision', rev);
});
grunt.task.run('git-describe');
});
The rev object returned makes several specific properties available, in addition to the full toString description.
grunt.event.once('git-describe', function (rev) {
grunt.log.writeln("Git rev tag: " + rev.tag);
grunt.log.writeln("Git rev since: " + rev.since);
grunt.log.writeln("Git rev object: " + rev.object); // The 6 character commit SHA by itself
grunt.log.writeln("Git rev dirty: " + rev.dirty); // A flag denoting whether all local changes are committed
grunt.log.writeln("Git rev unpushed: " + rev.unpushed); // A flag denoting whether there are unpushed local changes
});
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.
2.3.2 - Support CLI options
2.3.1 - Externalize common code to separat modules
2.3.0 - Added support for templated parameters
2.2.0 - Removed support for callback and prop (use grunt.event.emit instead)
2.1.0 - Added support for callback and template and deprecated dirtyMark
2.0.0 - Updated version for grunt ~0.4.0
1.0.0 - First release, compatible with grunt ~0.3.0
FAQs
Describes git commit and push status
We found that grunt-git-describe-plus 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
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.