File Prompt
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
- Study behavior of
git add -i
- Studied redux, introduced by a coworker, to manage application state
- Replicate the behavior of
git add -i
in JS - 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.