M-Zuber / npm-watch

run npm scripts when files change
MIT License
323 stars 38 forks source link

npm-watch does not stop the last server before running the updated one #84

Open mlarabi opened 3 years ago

mlarabi commented 3 years ago

I first thought that it was a nodemon issue but it seems that it is not the case. Basically when the server restart, the port is still used by the last running server.

Here is a repository so you can reproduce the error: https://github.com/mlarabi/nodemon-restart-issue

https://user-images.githubusercontent.com/75162562/125233505-fcfd2e00-e2de-11eb-928f-33a6bf7e7920.mp4

It does not seem to be a nodemon issue because when I use nodemon directly to the entry point, it works fine.

https://user-images.githubusercontent.com/75162562/125233567-25852800-e2df-11eb-8f72-c1bcb32c020b.mp4

abahrisd commented 3 years ago

I got same problem, can we somehow kill previous process before running new one?

mlarabi commented 3 years ago

@abahrisd I use kill-port for now until the bug is fixed. Just before running the server I wrote killPort(3000, 'tcp').then(() => server.listen(3000, () => console.log("hello world"))). Be careful into not sending this code in prod.

M-Zuber commented 3 years ago

When you used nodemon directly was it the same version that npm-watch was using?

mlarabi commented 3 years ago

No it's a more recent one. The latest probably as I always upgrade my packages when I can.

andreashauschild commented 2 years ago

Hi all, i hadthe same problem with my node red server. I want to restart it after every change. Thx to @mlarabi i could find a valid solution for me: