jsdoc2md / jsdoc-api

A programmatic interface for jsdoc3 with a few extra features
MIT License
61 stars 15 forks source link

`EMFILE: too many open files` when not using --no-cache #17

Open straub opened 5 years ago

straub commented 5 years ago

If the number of files in this.inputFileSet.files is large enough, readCache() reaches the user's limit and rejects with an error. The error is swallowed in getOutput(), which manifests in a very strange message: Error: Cannot find module 'collect-all', even though that package is installed. (This seems to be the next time something tries to access the filesystem.)

Is there any interest in exploring graceful-fs here or in another module to solve caching for very large numbers of files? Or any other suggested solutions? For now, my workaround is to use --no-cache, which works, but costs more time.

I'd be happy to throw a PR together, either way.

75lb commented 5 years ago

Hi, sorry for the delay.. which OS are you on? How many input files roughly causes the exception to be thrown? Obviously the error message Cannot find module 'collect-all' is highly misleading..

75lb commented 2 months ago

Hi, if you get time could you check if this is still an issue in v9.1.0 please. The codebase has been cleaned up and the sync functions abolished so I'm hoping this is no longer an issue. I have not been able to reproduce the issue locally.