gulp-shell
    Overview
    Documentation
    Tutorials
    Chat
    Insights
    Code
    Dependencies
    Contributors
    Jobs

gulp-shell

A handy command line interface for gulp

0.7.1  •  Updated 1 years ago  •  by Sun Zheng'an  •  MIT License

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.

Popularity

Maintenance

Development

Last ver 1 year ago
Created 6 years ago
Last commit 4 months ago
20 days between commits

Technology

Node version: 12.4.0
14.5K unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

14 contributors
Sun Zheng'an
Maintainer, 162 commits, 15 merges
Antoine Bolvy
6 commits, 1 PRs
Works at Lead at LaBelleAssiette
MikeMac
4 commits, 1 PRs
Works at ARM Treasure Data
light
2 commits, 1 PRs
tugberkugurlu
2 commits, 1 PRs
Works at Deliveroo
Byron Sommardahl
2 commits, 2 PRs
Works at Acklen Avenue

Tags

gulpplugin
gulp
shell
command
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
FacebookTwitterLinkedIn
© 2020 Devstore, Inc.