
Research
/Security News
9 Malicious NuGet Packages Deliver Time-Delayed Destructive Payloads
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.
extend-grunt-plugin
Advanced tools
Helper method to easily extend a grunt plugin.
Reusing a grunt plugin from inside your own plugin is not as straightforward as expected. This small module takes care of forwarding the configurations from your plugin to whatever other plugin you need to use.
You can install this module using npm:
npm install extend-grunt-plugin --save-dev
Giving that you are actually creating your grunt task as a separate plugin, let's assume that you want to invoke the grunt-bump plugin from inside your task. First of all make sure that you have installed the desired dependency (in this case grunt-bump) locally in your project using npm.
Here is what the setup should look like:
var extendGruntPlugin = require('extend-grunt-plugin');
module.exports = function (grunt) {
grunt.registerMultiTask('my_awesome_task', function () {
var options = this.options({
pushTo: 'origin' // Overrides default value from grunt-bump
});
// Creates "bump" and "bump-only" targets on grunt, that can be run later
// Values that user sets for "my_awesome_task" will be forwarded to these tasks
extendGruntPlugin(grunt, require('grunt-bump'), {
'bump': options,
'bump-only': options // Creates a "bump-only" target
});
// Runs the "bump" subtask :)
grunt.task.run('bump');
});
};
Grunt multi tasks are those that allows you to define different targets. Many grunt plugins are multi-tasks, in order to correctly configure it, always define your options using modulename.target notation. See what it looks like in the example below:
var extendGruntPlugin = require('extend-grunt-plugin');
module.exports = function (grunt) {
grunt.registerMultiTask('my_awesome_task', function () {
var options = {
src: "https://raw.githubusercontent.com/ruyadorno/extend-grunt-plugin/master/index.js",
dest: "testfile.js"
};
// Creates a "curl.getstuff" target on grunt, that can be run later
extendGruntPlugin(grunt, require('grunt-curl'), {
'curl.getstuff' : options
});
// Runs the "curl:getstuff" subtask :)
grunt.task.run('curl:getstuff');
});
};
Released under the MIT License.
FAQs
Helper method to easily extend a grunt plugin.
The npm package extend-grunt-plugin receives a total of 77 weekly downloads. As such, extend-grunt-plugin popularity was classified as not popular.
We found that extend-grunt-plugin 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.

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

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.