Skip to content

Commit 0b14f5d

Browse files
committed
wip - actively decorate errors from importing hooks
1 parent 56b7478 commit 0b14f5d

File tree

3 files changed

+32
-15
lines changed

3 files changed

+32
-15
lines changed

lib/internal/modules/esm/worker.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ const defaultLoaderWorker = {
101101

102102
const userModule = esmLoader.ESMLoader.importWrapped(workerData.loaderHREF).catch(
103103
(err) => {
104-
// console.error({err})
104+
const { decorateErrorStack } = require('internal/util');
105+
decorateErrorStack(err);
105106
internalBinding('errors').triggerUncaughtException(
106107
err,
107108
true /* fromPromise */

test/message/esm_loader_not_found.out

+18-11
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1-
(node:*) ExperimentalWarning: The ESM module loader is experimental.
21
(node:*) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
3-
internal/modules/esm/resolve.js:*
4-
let url = moduleWrapResolve(specifier, parentURL);
5-
^
2+
(node:*) ExperimentalWarning: The ESM module loader is experimental.
63

4+
events.js:*
5+
throw er; // Unhandled 'error' event
6+
^
77
Error: Cannot find package 'i-dont-exist' imported from *
8-
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:*:*)
8+
at defaultResolve (internal/modules/esm/resolve.js:*:*)
9+
at Object.resolveImportURL (internal/modules/esm/loader.js:*:*)
910
at Loader.resolve (internal/modules/esm/loader.js:*:*)
1011
at Loader.getModuleJob (internal/modules/esm/loader.js:*:*)
11-
at Loader.import (internal/modules/esm/loader.js:*:*)
12-
at internal/process/esm_loader.js:*:*
13-
at Object.initializeLoader (internal/process/esm_loader.js:*:*)
14-
at runMainESM (internal/modules/run_main.js:*:*)
15-
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:*:*)
16-
at internal/main/run_main_module.js:*:* {
12+
at Loader.importWrapped (internal/modules/esm/loader.js:*:*)
13+
at internal/modules/esm/worker.js:*:*
14+
at NativeModule.compileForInternalLoader (internal/bootstrap/loaders.js:*:*)
15+
at nativeModuleRequire (internal/bootstrap/loaders.js:*:*)
16+
at MessagePort.<anonymous> (internal/main/worker_thread.js:*:*)
17+
at MessagePort.emit (events.js:*:*)
18+
Emitted 'error' event on Worker instance at:
19+
at Worker.[kOnErrorMessage] (internal/worker.js:*:*)
20+
at Worker.[kOnMessage] (internal/worker.js:*:*)
21+
at MessagePort.<anonymous> (internal/worker.js:*:*)
22+
at MessagePort.emit (events.js:*:*)
23+
at MessagePort.onmessage (internal/worker/io.js:*:*) {
1724
code: 'ERR_MODULE_NOT_FOUND'
1825
}
+12-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
(node:*) ExperimentalWarning: The ESM module loader is experimental.
21
(node:*) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time
3-
file://*/test/fixtures/es-module-loaders/syntax-error.mjs:2
2+
(node:*) ExperimentalWarning: The ESM module loader is experimental.
3+
4+
events.js:*
5+
throw er; // Unhandled 'error' event
6+
^
7+
file:///*/test/fixtures/es-module-loaders/syntax-error.mjs:2
48
await async () => 0;
59
^^^^^
6-
710
SyntaxError: Unexpected reserved word
811
at Loader.moduleStrategy (internal/modules/esm/translators.js:*:*)
912
at async link (internal/modules/esm/module_job.js:*:*)
13+
Emitted 'error' event on Worker instance at:
14+
at Worker.[kOnErrorMessage] (internal/worker.js:*:*)
15+
at Worker.[kOnMessage] (internal/worker.js:*:*)
16+
at MessagePort.<anonymous> (internal/worker.js:*:*)
17+
at MessagePort.emit (events.js:*:*)
18+
at MessagePort.onmessage (internal/worker/io.js:*:*)

0 commit comments

Comments
 (0)