Missing useful debug information for Dynamic Import errors
Hello there,
Node: v9.10.1 Platform: Darwin MACLTUS44977 15.6.0 Darwin Kernel Version 15.6.0
// problem.mjs
const foo = () => {
await bar()
}
So "problem.mjs" has an issue, which is that it is using the "await" keyword inside a non "async" function.
If you try to run this file as an entry in node or regular import, a very helpful error is thrown as expected:
// "node --experimental-modules problem.mjs" or "import problem from './problem.mjs'"
file:///Users/ctsuser1/Desktop/projects/problem.mjs:2
await bar()
^^^^^
SyntaxError: Unexpected reserved word
at translators.set (internal/loader/Translators.js:27:13)
at <anonymous>
But... if you try to "dynamically" import "problem.mjs", it throws a completely useless error:
SyntaxError: Unexpected reserved word
at translators.set (internal/loader/Translators.js:27:13)
at <anonymous>
Is this a bug? How can this be resolved? It's impossible to debug this way. Thanks in advance!