• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3// User passed `-e` or `--eval` arguments to Node without `-i` or
4// `--interactive`.
5
6const {
7  globalThis,
8} = primordials;
9
10const {
11  prepareMainThreadExecution,
12  markBootstrapComplete,
13} = require('internal/process/pre_execution');
14const { evalModule, evalScript } = require('internal/process/execution');
15const { addBuiltinLibsToObject } = require('internal/modules/cjs/helpers');
16
17const { getOptionValue } = require('internal/options');
18
19prepareMainThreadExecution();
20addBuiltinLibsToObject(globalThis, '<eval>');
21markBootstrapComplete();
22
23const source = getOptionValue('--eval');
24const print = getOptionValue('--print');
25const loadESM = getOptionValue('--import').length > 0;
26if (getOptionValue('--input-type') === 'module')
27  evalModule(source, print);
28else
29  evalScript('[eval]',
30             source,
31             getOptionValue('--inspect-brk'),
32             print,
33             loadESM);
34