pinojs / thread-stream

A streaming way to send data to a Node.js Worker Thread
MIT License
229 stars 23 forks source link

Import Errors Hidden by `real-require` Retry #156

Open hhanesand opened 3 months ago

hhanesand commented 3 months ago

In the start function, the error.code === undefined condition in the path which leads to real-require can hide errors which are useful to throw. We had an issue in the file which was imported which resulted in a ReferenceError being thrown. This error has no code value, and therefore the start function tries to require the file. Since the file is a es module, it fails with the ERR_REQUIRE_ESM error. The only way to figure out the real error is to insert a console.log or try to load the module directly.

I am happy to submit a PR. Would one which removes this error.code === undefined condition be accepted? Any suggestions to what kinds of tests should be added?

mcollina commented 3 months ago

Absolutely if you add some tests.