M-Zuber / npm-watch

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

MaxListenersExceededWarning when running many watches #59

Closed dobesv closed 3 years ago

dobesv commented 5 years ago

I run a handful of watches and I get these warnings:

(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unpipe listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 unpipe listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit
(node:15779) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 finish listeners added. Use emitter.setMaxListeners() to increase limit

When this happens, it doesn't seem to detect changes to files. It's possible this is actually a nodemon issue.

dobesv commented 5 years ago

Upgrading nodemon seems to have helped in terms of detecting changes. However, it still prints these warnings prior to launching any nodemon process. Maybe just need to call emitter.setMaxListeners() somewhere?

To reproduce, just set up a bunch of watch configs.

M-Zuber commented 5 years ago

🤔 I would rather not call setMaxListeners by default.

I will look into adding an option in the config

M-Zuber commented 3 years ago

see #81, there is a release coming soon that will allow this setting