mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 03:31:35 +00:00

The flag is always true and can be determined by isLoaderWorker solely. PR-URL: https://github.com/nodejs/node/pull/48655 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
const { createModuleLoader } = require('internal/modules/esm/loader');
|
|
const { getOptionValue } = require('internal/options');
|
|
const {
|
|
hasUncaughtExceptionCaptureCallback,
|
|
} = require('internal/process/execution');
|
|
const { kEmptyObject, getCWDURL } = require('internal/util');
|
|
|
|
let esmLoader;
|
|
|
|
module.exports = {
|
|
get esmLoader() {
|
|
return esmLoader ??= createModuleLoader();
|
|
},
|
|
async loadESM(callback) {
|
|
esmLoader ??= createModuleLoader();
|
|
try {
|
|
const userImports = getOptionValue('--import');
|
|
if (userImports.length > 0) {
|
|
const parentURL = getCWDURL().href;
|
|
for (let i = 0; i < userImports.length; i++) {
|
|
await esmLoader.import(userImports[i], parentURL, kEmptyObject);
|
|
}
|
|
} else {
|
|
esmLoader.forceLoadHooks();
|
|
}
|
|
await callback(esmLoader);
|
|
} catch (err) {
|
|
if (hasUncaughtExceptionCaptureCallback()) {
|
|
process._fatalException(err);
|
|
return;
|
|
}
|
|
internalBinding('errors').triggerUncaughtException(
|
|
err,
|
|
true, /* fromPromise */
|
|
);
|
|
}
|
|
},
|
|
};
|