mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
lib: lazy-load deps in modules/run_main.js
So that the file can be snapshotted PR-URL: https://github.com/nodejs/node/pull/45849 Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com> Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
This commit is contained in:
@@ -4,8 +4,7 @@ const {
|
||||
ObjectCreate,
|
||||
StringPrototypeEndsWith,
|
||||
} = primordials;
|
||||
const CJSLoader = require('internal/modules/cjs/loader');
|
||||
const { Module, toRealPath, readPackageScope } = CJSLoader;
|
||||
|
||||
const { getOptionValue } = require('internal/options');
|
||||
const path = require('path');
|
||||
|
||||
@@ -13,6 +12,7 @@ function resolveMainPath(main) {
|
||||
// Note extension resolution for the main entry point can be deprecated in a
|
||||
// future major.
|
||||
// Module._findPath is monkey-patchable here.
|
||||
const { Module, toRealPath } = require('internal/modules/cjs/loader');
|
||||
let mainPath = Module._findPath(path.resolve(main), null, true);
|
||||
if (!mainPath)
|
||||
return;
|
||||
@@ -37,6 +37,7 @@ function shouldUseESMLoader(mainPath) {
|
||||
const userImports = getOptionValue('--import');
|
||||
if (userLoaders.length > 0 || userImports.length > 0)
|
||||
return true;
|
||||
const { readPackageScope } = require('internal/modules/cjs/loader');
|
||||
// Determine the module format of the main
|
||||
if (mainPath && StringPrototypeEndsWith(mainPath, '.mjs'))
|
||||
return true;
|
||||
@@ -79,6 +80,7 @@ function executeUserEntryPoint(main = process.argv[1]) {
|
||||
runMainESM(resolvedMain || main);
|
||||
} else {
|
||||
// Module._load is the monkey-patchable CJS module loader.
|
||||
const { Module } = require('internal/modules/cjs/loader');
|
||||
Module._load(main, null, true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user