Reputation: 1795
This is my nodemon.json
{
"watch": ["src/**/*.ts"],
"exec": "node out/index.js"
}
I run the nodemon by executing:
nodemon
In root nodejs directory
This is output:
% nodemon
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: src/**/*.ts
[nodemon] starting node out/index.js
Yay! Started app!
But when I edit any ts file in src nodemon doesn't restart the app.
UPDATE
Running nodemon --watch src/index.ts --exec 'node out/index.js'
Works and reloads the app on modifying index.ts
However, running with wildcard
nodemon --watch 'src/**/*.ts' --exec 'node out/index.js'
or
nodemon --watch src --exec 'node out/index.js'
Doesn't reload the app.
Upvotes: 25
Views: 24625
Reputation: 1029
I didn't have any luck with src/ watching either. I'm watching files via nodemon --watch '**/*'
this will finds any changes in the nested files
Upvotes: 0
Reputation: 10957
Use single quotation
for multi-value args like `--exec' in the package.json script.
e.g. I changed "nodemon --exec npm run build-langs"
to "nodemon --exec 'npm run build-langs'"
and worked.
Upvotes: -1
Reputation: 1795
Solved!
By running nodemon in verbose mode I have discovered that by default it watches only *.js files, regardless of what wildcard you are watching. Therefore adding -e ts
to the command fixes the problem:
nodemon --watch src/ --exec 'node out/index.js' -e ts
If someone uses nodemon.json
here is mine after fix:
{
"watch": ["src"],
"exec": "tsc && node out/index.js" ,
"ext": "js, json, ts, proto"
}
Upvotes: 76