gulp-shell
    TypeScript icon, indicating that this package has built-in type declarations

    0.8.0 • Public • Published

    gulp-shell

    NPM version Build Status Coveralls Status Dependency Status Downloads

    A handy command line interface for gulp

    Installation

    npm install --save-dev gulp-shell

    Usage

    const gulp = require('gulp')
    const shell = require('gulp-shell')
     
    gulp.task('example', () => {
      return gulp
        .src('*.js', { read: false })
        .pipe(shell(['echo <%= file.path %>']))
    })

    Or you can use this shorthand:

    gulp.task('greet', shell.task('echo Hello, World!'))

    You can find more examples in the gulpfile of this project.

    WARNING: Running commands like gulp.src('').pipe(shell('whatever')) is considered as an anti-pattern. PLEASE DON'T DO THAT ANYMORE.

    API

    shell(commands, options) or shell.task(commands, options)

    commands

    type: string or Array<string>

    A command can be a template which can be interpolated by some file info (e.g. file.path).

    WARNING: Using command templates can be extremely dangerous. Don't shoot yourself in the foot by passing arguments like $(rm -rf $HOME).

    options.cwd

    type: string

    default: process.cwd()

    Sets the current working directory for the command. This can be a template which can be interpolated by some file info (e.g. file.path).

    options.env

    type: object

    By default, all the commands will be executed in an environment with all the variables in process.env and PATH prepended by ./node_modules/.bin (allowing you to run executables in your Node's dependencies).

    You can override any environment variables with this option.

    For example, setting it to { PATH: process.env.PATH } will reset the PATH if the default one brings your some troubles.

    options.shell

    type: string

    default: /bin/sh on UNIX, and cmd.exe on Windows

    Change it to bash if you like.

    options.quiet

    type: boolean

    default: false

    By default, it will print the command output.

    options.verbose

    type: boolean

    default: false

    Set to true to print the command(s) to stdout as they are executed

    options.ignoreErrors

    type: boolean

    default: false

    By default, it will emit an error event when the command finishes unsuccessfully.

    options.errorMessage

    type: string

    default: Command `<%= command %>` failed with exit code <%= error.code %>

    You can add a custom error message for when the command fails. This can be a template which can be interpolated with the current command, some file info (e.g. file.path) and some error info (e.g. error.code).

    options.templateData

    type: object

    The data that can be accessed in template.

    Changelog

    Details changes for each release are documented in the release notes.

    Install

    npm i gulp-shell

    DownloadsWeekly Downloads

    83,533

    Version

    0.8.0

    License

    MIT

    Unpacked Size

    14.5 kB

    Total Files

    7

    Last publish

    Collaborators

    • sun-zheng-an