2.0.0 • Published 3 years ago
gulp-spawn v2.0.0
gulp-spawn
Plugin to spawn a CLI program for piping with gulp. Uses spawn.
Usage
gulp-spawn options follow
child_process.spawn
conventions.
Not all CLI programs support piping. In fact, many newer ones don't. Some programs require that you pass certain arguments if you intend to use stdin and/or stdout. Please check the documentation of the program you intend to use to ensure piping is supported.
The following example pipes image files to ImageMagick's convert. In the case
of convert, you must specify a - before arguments and after arguments if
you wish to use stdin and stdout, respectively.
import spaw from "gulp-spawn";
// example using ImageMagick's convert
// setting "buffer: false" optional but recommended for heavy I/O
gulp
.src("./src/images/*.{jpg,png,gif}", { buffer: false })
.pipe(
spawn({
cmd: "convert",
args: ["-", "-resize", "50%", "-"],
// optional
opts: { cwd: "." },
filename: function (base, ext) {
return base + "-half" + ext;
},
})
)
.pipe(gulp.dest("./dist/images/"));The UNIX Pipe Philosophy
If you write spawn programs please consider taking the time to support stdin & stdout. Piping is one of the many reasons UNIX systems have endured the test of time.