Skip to content

Repository files navigation

gulp-install NPM versionBuild StatusDependency Status

Automatically install npm, bower, tsd, typings, composer and pip packages/dependencies if the relative configurations are found in the gulp file stream respectively

File FoundCommand run
package.jsonnpm install
bower.jsonbower install
tsd.jsontsd reinstall --save
typings.jsontypings install
composer.jsoncomposer install
requirements.txtpip 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:

varinstall=require("gulp-install");gulp.src(__dirname+'/templates/**').pipe(gulp.dest('./')).pipe(install());

In your gulpfile.js:

varinstall=require("gulp-install");gulp.src(['./bower.json','./package.json']).pipe(install());

API

inject([options] [, callback])

ParamTypeDescription
optionsObjectAny option
callbackFunctionCalled 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:

varinstall=require("gulp-install");gulp.src(__dirname+'/templates/**').pipe(gulp.dest('./')).pipe(install({npm: '--production',// Either a single argument as a stringbower: {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:

varinstall=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:

varinstall=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:

varinstall=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:

varinstall=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:

varinstall=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:

varinstall=require("gulp-install");gulp.src(__dirname+'/templates/**').pipe(gulp.dest('./')).pipe(install({args: ['dev','--no-shrinkwrap']}// npm install --dev --no-shrinkwrap));

License

MIT License

About

Automatically install npm and bower packages if package.json or bower.json is found in the gulp file stream respectively

Resources

Stars

104 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages