ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

fs.watchの続き/chokidar #41

今日やったこと

fs.watchの挙動を確認

yurufuwa-tech.hatenablog.com

この記事で作った、Node.jsを利用したファイル変更検知スクリプト

何故かrenameしか検知しなかったのを直していきます。…というつもりだったのですが。

公式ドキュメントに実は書いてて

Note that on most platforms, ‘rename’ is emitted whenever a filename appears or disappears in the directory.

なるほど…。

困りましたねぇ。

と思っていたらnodejsのissueにこんなものが。

Mac: fs.watch() not detecting changes to file from git operation · Issue #5039 · nodejs/node · GitHub

この中で紹介されているchokidarというライブラリがかなり良さげ。

github.com

ぐぐったらそこそこヒットしたのでまぁ割りとメジャーなライブラリなのかな?

というわけで使ってみる。

chokidar

これがすごかった。

ワンライナーでファイル変更検知するだけならこんな感じ。

const chokidar = require('chokidar')

chokidar.watch('./src').on('all', (event, path) => {
  console.log(event, path)
})

素敵すぎる…。取るイベントを指定したり、無視するファイルを指定したりできます。完璧すぎる…。

実際に上記コードを動かすとこうなる

f:id:uutarou:20170624233709g:plain

神か?

fs.watchとは違い互換性など気にしなくていいみたいなのでコレであるものを作ってみたいと思います。

その話はまた今度。

今日のサンプルコードも上げておいたのでどうぞ。(ほぼ公式丸写しなのでそちらをご覧ください笑)

github.com

雑談

今日はサポーターズの逆求人イベントに参加していました。

いろいろな企業のエンジニアの方と話して、意外な自分のやってみたいことに気が付かされたり発見が多かったなぁというのが個人的な感想です。

2年後?、納得の行く会社で働ける日を夢見て。明日からも頑張りましょう。

とりあえず今日は軽めの記事になっちゃましたが許して。