README
promake-node-modules
Promake rule for installing node_modules only when necessary. It also prevents install processes from running simultaneously, since that's easy to do accidentally when some targets depend on a node_modules rule.
Usage
npm install --save promake-node-modules
Example in Promake script
#!/usr/bin/env node
// @flow
const Promake = require('promake')
const fs = require('fs-extra')
const nodeModulesRule = require('promake-node-modules')
const promake = new Promake()
const rule = nodeModulesRule({
promake,
projectDir: 'path/to/project', // defaults to process.cwd(),
command: 'yarn', // defaults to npm
})
promake.task('deps', [rule])
promake.cli()
nodeModulesRule(options)
Creates a promake HashRule
for installing node_modules
. The hash is stored in node_modules/.cache/promake-node-modules.md5
.
Arguments
( options.promakePromake
, required)
The instance of Promake
to add the rule to.
( options.projectDirstring
, optional, default: process.cwd()
)
The path to the project directory to install node_modules
in.
( commandstring
, optional, default: 'npm'
)
The command to run to install node_modules
.
( argsstring[]
, optional, default: ['install']
)
The arguments for the install command
.
( additionalFilesstring[]
, optional)
Additional files to include in the hash. You can put lockfiles in here, but be aware that if you run a command that updates the lockfile, it will cause this rule to run again (since the previous hash won't match).