forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrun_main_module.js
More file actions
25 lines (18 loc) · 841 Bytes
/
run_main_module.js
File metadata and controls
25 lines (18 loc) · 841 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';
const { RegExpPrototypeExec } = primordials;
const {
prepareMainThreadExecution,
markBootstrapComplete,
} = require('internal/process/pre_execution');
prepareMainThreadExecution(true);
markBootstrapComplete();
require('internal/process/esm_loader').init();
// Necessary to reset RegExp statics before user code runs.
RegExpPrototypeExec(/^/, '');
// Note: this loads the module through the ESM loader if the module is
// determined to be an ES module. This hangs from the CJS module loader
// because we currently allow monkey-patching of the module loaders
// in the preloaded scripts through require('module').
// runMain here might be monkey-patched by users in --require.
// XXX: the monkey-patchability here should probably be deprecated.
require('internal/modules/cjs/loader').Module.runMain(process.argv[1]);