Skip to content

db-developer/grunt-call-npm

grunt-call-npm

run npm commands (like install or update) from grunt.

npm version License: MIT jsdoc Built with Grunt codecov Build Status dependencies

This plugin is a fork of grunt-npm-command (archived repository)
Reason: https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2

content

Changelog

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

About

run npm commands (like install or update) from grunt

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published