src/eval.js
function _runScript(config, options) {
  const useSandbox = ((isFunction(config.useSandbox)) ? _config.useSandbox(_config) || false : config.useSandbox);
  const module = new Module(config);
  const scopeParams = _getScopeParams(config, module, config.scope);
  const script = _createScript(config, options, config.scope);

  try {
    if (useSandbox) {
      script.runInContext(_createSandbox(config), options)(...scopeParams);
    } else {
      script.runInThisContext(options)(...scopeParams);
    }
  } catch(error) {
    if (config.squashErrors) cache.delete(options.filename);
    if (!config.squashErrors) {
      if (_runError(error, module)) throw error;
    } else {
      throw error;
    }
  }

  return module;
}
function _runScript(config, options) {
  const useSandbox = ((isFunction(config.useSandbox)) ? _config.useSandbox(_config) || false : config.useSandbox);
  const module = new Module(config);
  const scopeParams = _getScopeParams(config, module, config.scope);
  const script = _createScript(config, options, config.scope);

  try {
    if (useSandbox) {
      script.runInContext(_createSandbox(config), options)(...scopeParams);
    } else {
      script.runInThisContext(options)(...scopeParams);
    }
  } catch(error) {
    if (config.squashErrors) cache.delete(options.filename);
    if (!config.squashErrors) {
      if (_runError(error, module)) throw error;
    } else {
      throw error;
    }
  }

  return module;
}
function _runScript ( config , options ) { const useSandbox = ( ( isFunction ( config . useSandbox ) ) ? _config . useSandbox ( _config ) || false : config . useSandbox ) ; const module = new Module ( config ) ; const scopeParams = _getScopeParams ( config , module , config . scope ) ; const script = _createScript ( config , options , config . scope ) ; try { if ( useSandbox ) { script . runInContext ( _createSandbox ( config ) , options ) ( ... scopeParams ) ; } else { script . runInThisContext ( options ) ( ... scopeParams ) ; } } catch ( error ) { if ( config . squashErrors ) cache . delete ( options . filename ) ; if ( ! config . squashErrors ) { if ( _runError ( error , module ) ) throw error ; } else { throw error ; } } return module ; }
Run the given script in the given sandbox, according to the given config and options.

@private
@param {Object} config           Config to use.
@param {Object} options          Options for running.
@returns {Module}                The module created.
Run the given script in the given sandbox according to the given config and options .