diff --git a/lib/internal/bootstrap/switches/is_embedded_env.js b/lib/internal/bootstrap/switches/is_embedded_env.js index 491fff0dcb2192c..f3816128d15e9ec 100644 --- a/lib/internal/bootstrap/switches/is_embedded_env.js +++ b/lib/internal/bootstrap/switches/is_embedded_env.js @@ -6,7 +6,7 @@ // Set up globalThis.require and globalThis.import so that they can // be easily accessed from C/C++ -/* global path, primordials */ +/* global path, primordials, process, GetLinkedBinding, GetInternalBinding */ const { globalThis, ObjectCreate } = primordials; const CJSLoader = require('internal/modules/cjs/loader'); diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index ac3a680ff51e562..744cc2174393384 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -903,16 +903,16 @@ napi_status NAPI_CDECL napi_create_environment(napi_platform platform, auto path = v8::String::NewFromUtf8(emb_env->setup()->isolate(), env->exec_path().c_str()) .ToLocalChecked(); - std::vector> params = {env->primordials_string(), - env->process_string(), - env->require_string(), - env->path_string()}; - std::vector> args = {env->primordials(), - env->process_object(), - env->native_module_require(), - path}; + + std::vector> bootstrap_args = { + env->process_object(), + env->builtin_module_require(), + env->internal_binding_loader(), + env->primordials(), + path}; + auto ret = node::ExecuteBootstrapper( - env, "internal/bootstrap/switches/is_embedded_env", ¶ms, &args); + env, "internal/bootstrap/switches/is_embedded_env", &bootstrap_args); if (ret.IsEmpty()) return napi_pending_exception; ret = node::LoadEnvironment(env, main_script); diff --git a/src/node_builtins.cc b/src/node_builtins.cc index 0ca360ddf1ef6f7..9235d6e921b61cb 100644 --- a/src/node_builtins.cc +++ b/src/node_builtins.cc @@ -370,12 +370,13 @@ MaybeLocal BuiltinLoader::LookupAndCompile( } else if (strncmp(id, "internal/bootstrap/", strlen("internal/bootstrap/")) == 0) { - // internal/bootstrap/*: process, require, internalBinding, primordials + // internal/bootstrap/*: process, require, internalBinding, primordials, path parameters = { FIXED_ONE_BYTE_STRING(isolate, "process"), FIXED_ONE_BYTE_STRING(isolate, "require"), FIXED_ONE_BYTE_STRING(isolate, "internalBinding"), FIXED_ONE_BYTE_STRING(isolate, "primordials"), + FIXED_ONE_BYTE_STRING(isolate, "path"), }; } else { // others: exports, require, module, process, internalBinding, primordials