diff options
author | Michaël Zasso <targos@protonmail.com> | 2019-11-02 12:10:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2019-11-09 09:30:36 +0100 |
commit | 8bb83f4d3d29506c9153ff8e025b076531648e1d (patch) | |
tree | 465d51926e41a7745e52d808827611b45834ef49 /test | |
parent | 0356746f50189368172d389ea1b69d8876cf329b (diff) | |
download | android-node-v8-8bb83f4d3d29506c9153ff8e025b076531648e1d.tar.gz android-node-v8-8bb83f4d3d29506c9153ff8e025b076531648e1d.tar.bz2 android-node-v8-8bb83f4d3d29506c9153ff8e025b076531648e1d.zip |
esm: exit the process with an error if loader has an issue
Previously, this would trigger an unhandled rejection that the user
cannot handle.
Fixes: https://github.com/nodejs/node/issues/30205
PR-URL: https://github.com/nodejs/node/pull/30219
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/message/esm_loader_not_found.mjs | 3 | ||||
-rw-r--r-- | test/message/esm_loader_not_found.out | 18 | ||||
-rw-r--r-- | test/message/esm_loader_syntax_error.mjs | 3 | ||||
-rw-r--r-- | test/message/esm_loader_syntax_error.out | 9 |
4 files changed, 33 insertions, 0 deletions
diff --git a/test/message/esm_loader_not_found.mjs b/test/message/esm_loader_not_found.mjs new file mode 100644 index 0000000000..fd6f29ac53 --- /dev/null +++ b/test/message/esm_loader_not_found.mjs @@ -0,0 +1,3 @@ +// Flags: --experimental-modules --experimental-loader i-dont-exist +import '../common/index.mjs'; +console.log('This should not be printed'); diff --git a/test/message/esm_loader_not_found.out b/test/message/esm_loader_not_found.out new file mode 100644 index 0000000000..87161cdff5 --- /dev/null +++ b/test/message/esm_loader_not_found.out @@ -0,0 +1,18 @@ +(node:*) ExperimentalWarning: The ESM module loader is experimental. +(node:*) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time +internal/modules/esm/default_resolve.js:* + let url = moduleWrapResolve(specifier, parentURL); + ^ + +Error: Cannot find package 'i-dont-exist' imported from * + at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:*:*) + at Loader.resolve (internal/modules/esm/loader.js:*:*) + at Loader.getModuleJob (internal/modules/esm/loader.js:*:*) + at Loader.import (internal/modules/esm/loader.js:*:*) + at internal/process/esm_loader.js:*:* + at Object.initializeLoader (internal/process/esm_loader.js:*:*) + at runMainESM (internal/bootstrap/pre_execution.js:*:*) + at Function.Module.runMain (internal/modules/cjs/loader.js:*:*) + at internal/main/run_main_module.js:*:* { + code: 'ERR_MODULE_NOT_FOUND' +} diff --git a/test/message/esm_loader_syntax_error.mjs b/test/message/esm_loader_syntax_error.mjs new file mode 100644 index 0000000000..7caad4056e --- /dev/null +++ b/test/message/esm_loader_syntax_error.mjs @@ -0,0 +1,3 @@ +// Flags: --experimental-modules --experimental-loader ./test/fixtures/es-module-loaders/syntax-error.mjs +import '../common/index.mjs'; +console.log('This should not be printed'); diff --git a/test/message/esm_loader_syntax_error.out b/test/message/esm_loader_syntax_error.out new file mode 100644 index 0000000000..9767a9c86c --- /dev/null +++ b/test/message/esm_loader_syntax_error.out @@ -0,0 +1,9 @@ +(node:*) ExperimentalWarning: The ESM module loader is experimental. +(node:*) ExperimentalWarning: --experimental-loader is an experimental feature. This feature could change at any time +file://*/test/fixtures/es-module-loaders/syntax-error.mjs:2 +await async () => 0; +^^^^^ + +SyntaxError: Unexpected reserved word + at Loader.moduleStrategy (internal/modules/esm/translators.js:*:*) + at async link (internal/modules/esm/module_job.js:*:*) |