Have ideas to improve npm?Join in the discussion! »

    gulp-install
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/gulp-install package

    1.1.0 • Public • Published

    gulp-install NPM version Build Status Dependency 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 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
        ));  

    License

    MIT License

    Install

    npm i gulp-install

    DownloadsWeekly Downloads

    25,137

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • avatar