gulp-install
v1.1.0
Published
Automatically install npm, bower, tsd, and pip packages/dependencies if the relative configurations are found in the gulp file stream respectively
Downloads
68,790
Maintainers
Readme
gulp-install
Automatically install npm, bower, tsd, typings, composer and pip packages/dependencies if the relative configurations are found in the gulp file stream respectively
| File Found | Command run|
| --- | --- |
|package.json
| npm install
|
|bower.json
| bower install
|
|tsd.json
| tsd reinstall --save
|
|typings.json
| typings install
|
|composer.json
| composer install
|
|requirements.txt
| pip install -r requirements.txt
|
It will run the command in the directory it finds the file, so if you have configs nested in a lower directory than your slushfile.js
/gulpfile.js
, this will still work.
NOTE since v1.0.0
gulp-install requires at least NodeJS v6.
Primary objective
Used as the install step when using slush
as a Yeoman replacement.
Installation
For global use with slush
Install gulp-install
as a dependency:
npm install --save gulp-install
For local use with gulp
Install gulp-install
as a development dependency:
npm install --save-dev gulp-install
Usage
In your slushfile.js
:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install());
In your gulpfile.js
:
var install = require("gulp-install");
gulp.src(['./bower.json', './package.json'])
.pipe(install());
API
inject([options] [, callback])
| Param | Type | Description |
| --- | --- | --- |
| options | Object
| Any option |
| callback | Function
| Called when install is finished (not on failures) |
Options
To not trigger the install use --skip-install
as CLI parameter when running slush
or gulp
.
options.<command>
Type: Array|String|Object
Default: null
Use this option(s) to specify any arguments for any command, e.g:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({
npm: '--production', // Either a single argument as a string
bower: {allowRoot: true}, // Or arguments as an object (transformed using Dargs: https://www.npmjs.com/package/dargs)
pip: ['--target', '.'] // Or arguments as an array
}));
options.commands
Type: Object
Default: null
Use this option to add any command to be run for any file, e.g:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({
commands: {
'package.json': 'yarn'
},
yarn: ['--extra', '--args', '--here']
}));
options.production
Type: Boolean
Default: false
Set to true
if npm install
should be appended with the --production
parameter when stream contains package.json
.
Example:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({production: true}));
options.ignoreScripts
Type: Boolean
Default: false
Set to true
if npm install
should be appended with the --ignore-scripts
parameter when stream contains package.json
. Useful for skipping postinstall
scripts with npm
.
Example:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({ignoreScripts: true}));
options.noOptional
Type: Boolean
Default: false
Set to true
if npm install
should be appended with the --no-optional
parameter which will prevent optional dependencies from being installed.
Example:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({noOptional: true}));
options.allowRoot
Type: Boolean
Default: false
Set to true
if bower install
should be appended with the --allow-root
parameter when stream contains bower.json
.
Example:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({allowRoot: true}));
options.args
Type: Array or String
Default: undefined
Specify additional arguments that will be passed to the install command(s).
Example:
var install = require("gulp-install");
gulp.src(__dirname + '/templates/**')
.pipe(gulp.dest('./'))
.pipe(install({
args: ['dev', '--no-shrinkwrap' ]} // npm install --dev --no-shrinkwrap
));