Firebase initとかcreate-react-appとかめちゃくちゃ便利だなーと思ったのと、CLIツールってどうやって作られてるのか知らなかったため今日はcreate-react-appを参考にCLIで自分のやりたいことができるようになったのでその共有です。
create-react-appというReactの開発環境を一瞬で作れるCLIツールが有るのですがそちらのpackage.jsonを見てみます。
create-react-app
この中のパッケージを使っているのかな(puppeteerもあるけれどどこで使っているんだろうか)
meow
https://github.com/sindresorhus/meow
CLIとのやり取りをするときに便利になるツール
react-dev-utilsというものがよく使われていて、基本的なCLIとのやり取りはここで行われていそうreact-dev-utilsはlernaでモノレポ管理されているみたいCLIとのやり取りはこのcross-spawnでやり取りしてそう
node-cross-spawn
firebase-tools
firebase init
promptからrequireしたソースコードを使用している、60行ほどのソースコードでpromptクラスとpromptOnceという関数の2つをエクスポートしている
Inquirer
https://github.com/SBoudrias/Inquirer.js/
対話型のシェルを作るためのライブラリ