## 事象 [[npm-watch]]を使って `src` ディレクトリ配下の `*.ts` が変更されたときに、`build` のscriptを実行したい。`watch`と`script`の内容は以下。 ```json { "watch": { "build": "src/*.ts" }, "scripts": { "build": "node build.mjs", "build:watch": "npm-watch" } } ``` ## 原因 `watch.build`の設定が(たぶん)違うから。 ## 解決方法 stringではなくobjectを指定する。 ```json { "watch": { "build": { "patterns": [ "src" ], "extensions": "ts" } }, "scripts": { "build": "node build.mjs", "build:watch": "npm-watch" } } ``` > [!attention] > > READMEで真っ先に以下の設定があるのでハマリやすい... これがなぜ動かないのか... 動かないとしたらなぜ真っ先に提示されているのかは謎。自分のやり方が悪いのだろうか..? > > ```json > { > "watch": { > "test": "{src,test}/*.js" > }, > "scripts": { > "test": "tape test/*.js", > "watch": "npm-watch" > } > } > ``` ## 参考 - [npm\-watch の使い方 \- ゲーム作るくんのサイト](https://gametsukurukun.com/docs/npm-watch/)