In abstract terms, a task runner takes some input, works with that, and produces an output. That output could then be used for further processing. For example, a JavaScript file could be the input, a minifying job could be the process (that is making your JavaScript unreadable, but very compact), and the minified JavaScript would be the output. Now, the minified JavaScript could be input to a new test process, which would have some report as its output. Gulp does exactly this. Gulp is a little different from other task runners in a way that it keeps intermediate results in memory instead of writing them to disk.
Installing Gulp is as easy as doing npm install. We also want the Gulp CLI for easy use:
npm install gulp --save-dev
npm install gulp-cli -g
The next thing we need is a so-called gulpfile. In the root of your project, Chapter06, in the book's GitHub repository...