GithubHelp home page GithubHelp logo

mikemcelroy / gulp-shell Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sun-zheng-an/gulp-shell

0.0 1.0 0.0 132 KB

A handy command line interface for gulp

License: MIT License

JavaScript 100.00%

gulp-shell's Introduction

gulp-shell

NPM version Build Status Coveralls Status Dependency Status

A handy command line interface for gulp

Installation

npm install --save-dev gulp-shell

Usage

var gulp  = require('gulp')
var shell = require('gulp-shell')

gulp.task('example', function () {
  return gulp.src('*.js', {read: false})
    .pipe(shell([
      'echo <%= f(file.path) %>',
      'ls -l <%= file.path %>'
    ], {
      templateData: {
        f: function (s) {
          return s.replace(/$/, '.bak')
        }
      }
    }))
})

If you just want to execute a series of commands only once, starting the stream with gulp.src('') should do the trick.

Or you can use this shorthand:

gulp.task('shorthand', shell.task([
  'echo hello',
  'echo world'
]))

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

API

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

commands

type: Array or String

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

options.ignoreErrors

type: Boolean

default: false

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

options.quiet

type: Boolean

default: false

By default, it will print the command output.

options.cwd

type: String

default: process.cwd()

Sets the current working directory for the command.

options.templateData

type: Object

The data that can be accessed in template.

options.maxBuffer

type: Number

default: 16MB(16 * 1024 * 1024)

You won't need to set this option unless you encounter a "stdout maxBuffer exceeded" error.

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.

gulp-shell's People

Contributors

dluxemburg avatar jtomaszewski avatar lichunqiang avatar raineorshine avatar sun-zheng-an avatar tugberkugurlu avatar xethorn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.