TypeScriptやJavaScriptのリポジトリでちょっとしたスクリプトを書くならまぁNode.jsで動かすのが素直だと思う。
package.json
に開発用の依存関係を入れればよいわけだし。
先日は「リポジトリ内の画像ファイルをガーっと処理したい」と思ってディレクトリ走査してみたのだけれど、少ないコード量で書けてなかなか便利だった。
File system | Node.js v20.5.0 Documentation
import { readdir } from "node:fs/promises"; const sourceDir = "./"; // 指定したディレクトリ配下のエントリの情報が全部返る // 画像を処理したいなら後は拡張子で filter などすればよい const files = await readdir(sourceDir, { withFileTypes: true, recursive: true, });
再帰的に取得するオプションはかなり最近の追加(v20.2/v18.17かな)だったようだ。
それ以前はいちいちディレクトリをたどらなくてはならなかったらしい。面倒くさい。実にラッキー。
しかし、withFileTypes
オプションの有無で返却値の型が変わるのはいかがなものか。恐ろしい世界だ。