grunt-call-npm
v0.0.2
Published
run npm commands (like install or update) from grunt.
Downloads
87
Readme
grunt-call-npm
run npm commands (like install
or update
) from grunt.
This plugin is a fork of grunt-npm-command (archived repository)
Reason: https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2
content
Usage (see further down this page)
Developers
getting started
This guide assumes, that you are familiar with the use of
npm and
grunt.
The plugin can be installed by the following command:
npm install grunt-call-npm --save-dev
Once installed, the plugin may be loaded from within your gruntfile:
grunt.loadNpmTasks( "grunt-call-npm" );
Setup the task configuration as described below (see usage) and run the task:
grunt call_npm
Of cause, the task can be integrated into any complex build process.
usage
The following examples assume that the grunt plugin 'load-grunt-config' is used. Alternatively, the code can of course be integrated into the 'gruntfile.js' file.
// file call_npm.js
module.exports = function ( grunt, options ) {
return {
options: {
opts: { // options passed to nodes 'child_process::spawn'
// Note: this is a default option and can be omitted!
shell: true, // required as of https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2 (default! not required)
// Note: this is a default option and can be omitted!
quiet: true // will execute 'npm help' silently
// Note: this is a default option which defaults to 'false'; it can be omitted.
// ... // any other option that can be passed to 'child_process::spawn' 'opts'
}
},
always: { // this target 'always' of grunt multitask 'call_npm'
options: {
cmd: "help", // will run 'npm help'
args: [ ], // will append any arguments to 'npm help'
cwd: "./path/to/pkg", // will become the working directory of command 'npm help'
dryrun: true // will NOT run 'npm help' but print out the 'npm help' command that would have been run
// opts: {...} // define 'opts' to override 'opts' in default 'options' (s.a.)
}
}
};
};
For 'npm <command>' and matching command line arguments see npm Docs