recursive-installer

2.1.0 • Public • Published

Purpose

The recursive installer is a tool to recursively install npm dependencies in modules.

Behavior

It uses either npm or yarn (depending on the tool option passed to the library) for installing and 'act-on-modules' project to find modules (recursively traversing directories and stopping whenever it finds a package.json file).

Usage

Signature

const recursiveInstaller = require('recursive-installer');
recursiveInstaller([<Strings of paths containing modules to install npm dependencies on>], <options>) //Returns a promise

<options> is an object that can be passed (optionally), the following keys:

  • arguments: Arguments to pass to the install command (can be a string or array or strings)

  • maxBuffer: Maximum size allocated to stdout/stderr subprocesses (in bytes)

  • tool: Tool that should perform the module install. Currently, the library supports 'npm' and 'yarn'. Npm is the default if this option is omitted.

  • lock: Useful if you expect several process to try npm install in the same folder concurrently. In this case, setting this option to true will causes the processes to try generate a 'installation_lock' file before installing and not try to install in the same folder concurrently.

Example

const recursiveInstaller = require('recursive-installer');
recursiveInstaller(['/home/eric/app', '/home/eric/nodeJsModules'], {
    arguments: '--production',
    maxBuffer: 5*1024*1024, //5 MB
    tool: 'yarn'
}).then(() => {
    console.log('all done');
});

Running Tests

Run npm test

Installation

Run npm install recursive-installer

Requirements

To run the yarn test or generally to run the library with the 'yarn' tool option, you need to have yarn installed.

Also, the yarn part of the tests will fail if yarn is not installed.

Readme

Keywords

none

Package Sidebar

Install

npm i recursive-installer

Weekly Downloads

6

Version

2.1.0

License

MIT

Last publish

Collaborators

  • magnitus