For me, this is probably something I'd be more likely to look to as an example in bringing the functionality into my own project vs using as a separate component. That said, the source is pretty clean and easy to comprehend.
Of note, the package.json license is MIT, but there is no LICENSE file in the project itself.
I think you'd have a hard time describing how exactly Jest is a library and not a framework vs. Mocha in any meaningful way. In what way is running the `jest` command meaninguly different from running the `mocha` command, with the exception that jest provides more magic in terms of wiring code coverage and parallel testing. It does use jasmine2 for the test runner, but does so much more, and would absolutely love to hear how it is a library and not a framework.
Suggestions... for the worker, you don't even need to extend the class, there's no real value here. Remove the class definition and change the exports to...
module.exports = new ThreadWorker(yourFunction, {...})
For the pool, put the emitter on the pool itself, you can extend your initial FixedThreadPool/DynamicThreadPool with the emitter... you can add the emitter to your prototype chain or base class(es).
For the pool, instead of passing event handler options, utilize the event emitter...
pool.on('error', error => ...);
pool.on('ready', () => ...);
You may also want a method that returns a promise bound to your ready event...
await pool.ready();
Otherwise, cool concept.
Interesting app... needs a few improvements though.
* needs radio streams.
* better persistence (sqlite?)
* large local directory add, app blows up
Definitely some potential here.
Can't pull up the site at work, may be down... There's no real point to "Web Safe" color codes these days. If it's referring to sticking to matched color points, which was more important in the days were 256 color displays and graphics controllers were much more common.
Changed the title as this is not "Node Middleware" it is "Express Middleware" ... Node middleware would be something like plugging loaders into require, or things like the `esm` module.