diff options
author | Guy Bedford <guybedford@gmail.com> | 2019-09-26 23:20:09 -0400 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-09-29 20:12:24 -0700 |
commit | c42ab995c16a134350078d70e32bc278cd74bc1f (patch) | |
tree | 6672f3ca23f9fca60beebd1660b2935b1fe8f15c | |
parent | 1a3bf4f935f097cd2072fc383518fac873322a68 (diff) | |
download | android-node-v8-c42ab995c16a134350078d70e32bc278cd74bc1f.tar.gz android-node-v8-c42ab995c16a134350078d70e32bc278cd74bc1f.tar.bz2 android-node-v8-c42ab995c16a134350078d70e32bc278cd74bc1f.zip |
module: pass full URL to loader for top-level load
PR-URL: https://github.com/nodejs/node/pull/29736
Reviewed-By: Bradley Farias <bradley.meck@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
-rw-r--r-- | lib/internal/modules/cjs/loader.js | 2 | ||||
-rw-r--r-- | test/fixtures/es-module-loaders/example-loader.mjs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index 341163ef8c..7d9b4a9879 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -1002,7 +1002,7 @@ Module.runMain = function() { // Load the main module--the command line argument. if (experimentalModules) { asyncESM.loaderPromise.then((loader) => { - return loader.import(pathToFileURL(process.argv[1]).pathname); + return loader.import(pathToFileURL(process.argv[1]).href); }) .catch((e) => { internalBinding('errors').triggerUncaughtException( diff --git a/test/fixtures/es-module-loaders/example-loader.mjs b/test/fixtures/es-module-loaders/example-loader.mjs index d8e0ddcba3..ed5b0d9be5 100644 --- a/test/fixtures/es-module-loaders/example-loader.mjs +++ b/test/fixtures/es-module-loaders/example-loader.mjs @@ -15,11 +15,11 @@ export function resolve(specifier, parentModuleURL = baseURL /*, defaultResolve format: 'builtin' }; } - if (/^\.{0,2}[/]/.test(specifier) !== true && !specifier.startsWith('file:')) { + if (/^\.{1,2}[/]/.test(specifier) !== true && !specifier.startsWith('file:')) { // For node_modules support: // return defaultResolve(specifier, parentModuleURL); throw new Error( - `imports must begin with '/', './', or '../'; '${specifier}' does not`); + `imports must be URLs or begin with './', or '../'; '${specifier}' does not`); } const resolved = new url.URL(specifier, parentModuleURL); const ext = path.extname(resolved.pathname); |