Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
grunt-subgrunt
Advanced tools
Run sub-projects' grunt tasks.
This plugin was inspired by https://gist.github.com/cowboy/3819170.
This plugin requires Grunt 0.4.5
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-subgrunt --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-subgrunt');
For change logs and release notes, see the changelog file.
In your project's Gruntfile, add a section named subgrunt
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
subgrunt: {
options: {
// Task-specific options go here.
},
your_target: {
options: {
// Target-specific options
},
projects: {
// Paths to sub-projects' gruntfiles
}
},
},
})
Type: bool
Default value: true
Determines wether npm install
will be ran for the sub-project (thus installing dev dependencies).
Type: bool
Default value: false
Requires npm >= 1.3.10
When enabled, runs npm prune --production
to clean development dependencies.
Type: string
Default value: 'npm'
The location of the npm
executable. Defaults to 'npm'
as it should be available in the $PATH
environment variable.
Type: bool
Default value: true
When enabled, passes the grunt.options thru to the subgrunt task.
Type: Number
Default value: Number of CPU cores (require('os').cpus().length
) with a minimum of 2
Limit how many sub-grunt projects are launched concurrently.
grunt.initConfig({
subgrunt: {
target0: {
projects: {
// For each of these projects, the specified grunt task will be executed:
'node_modules/module1': 'default',
'node_modules/module2': 'bower:install'
}
},
target1: {
// Without target-specific options, the projects object is optional:
'node_modules/module1': 'default',
'node_modules/module2': 'bower:install'
},
target2: {
// Use an array to run multiple tasks:
'node_modules/module1': [ 'clean', 'test' ]
},
target3: {
// you can use this array to add parameters:
'node_modules/module1': [ 'clean', '--myParam="foobar"', '--verbose' ]
},
target4: [
// Using an array will just execute the 'default' grunt task:
'node_modules/module3',
'node_modules/module4'
],
target5: {
// npm install will not be ran for this target:
options: {
npmInstall: false
},
projects: {
'sub-projects/my-awesome-module': 'build:dist'
}
},
target6: {
// The npm devDependencies will be cleaned out after running the grunt tasks.
options: {
npmClean: true
},
projects: {
'node_modules/module1': [ 'preprocess', 'build' ]
}
},
target7: {
// grunt option flags will not be passed to the subgrunts
options: {
passGruntFlags: false
},
projects: {
'baz': [ 'foo', 'bar' ]
}
}
}
})
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.
╚⊙ ⊙╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
╚═(███)═╝
FAQs
Run sub-projects' grunt tasks.
The npm package grunt-subgrunt receives a total of 428 weekly downloads. As such, grunt-subgrunt popularity was classified as not popular.
We found that grunt-subgrunt 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
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.