Skip to content

maxleiko/exec-npm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

exec-npm

Executes npm within a child_process spawn in order to prevent npm to take too much memory in the current one.
This module has been created to free the Kevoree Node.js runtime from npm's heavy memory usage.

** ⚠️ This module needs to be able to access the npm executable in the PATH (if you have npm installed globally, then it should be ok)**

Installation

npm i exec-npm --save

Usage

var execNpm = require('exec-npm');

// arguments to give to npm client
// this is equivalent to a call to:
//  $ cd /where/to/install/modules
//  $ npm install minimist async express
var cmd = [ 'install', 'minimist', 'async', 'express', '--prefix=/where/to/install/modules' ];

execNpm(cmd, function (err) {
  if (err) {
    console.log('Something went wrong: '+err.message);
  } else {
    console.log('Success');
  }
});

NB. When you specify a prefix, npm will always append to it the node_modules folder.

API

execNpm(args, options, callback): Function

  • args: Array - command-line arguments to give to the npm client (see npm's help)
  • options (optional): Object - child_process spawn options
  • callback: Function - a function to be called when the process is done (first parameter is the error, if any)

About

Executes npm commands within a child_process fork in order to prevent npm to take too much memory

Resources

License

Stars

Watchers

Forks

Packages

No packages published