summaryrefslogtreecommitdiff
path: root/lib/internal/process/esm_loader.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/internal/process/esm_loader.js')
-rw-r--r--lib/internal/process/esm_loader.js18
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/internal/process/esm_loader.js b/lib/internal/process/esm_loader.js
index f81053a1c3..0b7f1be6ff 100644
--- a/lib/internal/process/esm_loader.js
+++ b/lib/internal/process/esm_loader.js
@@ -1,8 +1,6 @@
'use strict';
const {
- setImportModuleDynamicallyCallback,
- setInitializeImportMetaObjectCallback,
callbackMap,
} = internalBinding('module_wrap');
@@ -15,16 +13,16 @@ const {
ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING,
} = require('internal/errors').codes;
-function initializeImportMetaObject(wrap, meta) {
+exports.initializeImportMetaObject = function(wrap, meta) {
if (callbackMap.has(wrap)) {
const { initializeImportMeta } = callbackMap.get(wrap);
if (initializeImportMeta !== undefined) {
initializeImportMeta(meta, wrapToModuleMap.get(wrap) || wrap);
}
}
-}
+};
-async function importModuleDynamicallyCallback(wrap, specifier) {
+exports.importModuleDynamicallyCallback = async function(wrap, specifier) {
if (callbackMap.has(wrap)) {
const { importModuleDynamically } = callbackMap.get(wrap);
if (importModuleDynamically !== undefined) {
@@ -33,10 +31,7 @@ async function importModuleDynamicallyCallback(wrap, specifier) {
}
}
throw new ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING();
-}
-
-setInitializeImportMetaObjectCallback(initializeImportMetaObject);
-setImportModuleDynamicallyCallback(importModuleDynamicallyCallback);
+};
let loaderResolve;
exports.loaderPromise = new Promise((resolve, reject) => {
@@ -45,13 +40,12 @@ exports.loaderPromise = new Promise((resolve, reject) => {
exports.ESMLoader = undefined;
-exports.setup = function() {
+exports.initializeLoader = function(cwd, userLoader) {
let ESMLoader = new Loader();
const loaderPromise = (async () => {
- const userLoader = require('internal/options').getOptionValue('--loader');
if (userLoader) {
const hooks = await ESMLoader.import(
- userLoader, pathToFileURL(`${process.cwd()}/`).href);
+ userLoader, pathToFileURL(`${cwd}/`).href);
ESMLoader = new Loader();
ESMLoader.hook(hooks);
exports.ESMLoader = ESMLoader;