Teaser image of File Prompt

File Prompt

eccentric-j/file-prompt
  • JS

A node JS command-line-interface (CLI) to quickly select files to stream through build pipelines.

Goal

In an early version of our front-end build system we were using browserify which was great but got slower as we added more build files. Before webpack became its successor I built a CLI tool to select files manually and return a stream of them in vinyl format to be compatible with the gulp library. Heavily inspired by git add --interactive.

Process

  1. Study behavior of git add -i
  2. Studied redux, introduced by a coworker, to manage application state
  3. Replicate the behavior of git add -i in JS
  4. Take the selected output and return a stream of vinyl files.

Discoveries

  • First redux project
  • Learned how to write more complex CLI tools
  • Introduced to immutability from working with Redux
  • More stream experience which made building even more complex tooling even easier
  • Learned how to read input with Node’s API.