diff --git a/shell/app/node_main.cc b/shell/app/node_main.cc index 02c176213e841..f23f6f1339dc4 100644 --- a/shell/app/node_main.cc +++ b/shell/app/node_main.cc @@ -172,9 +172,15 @@ int NodeMain(int argc, char* argv[]) { // Parse and set Node.js cli flags. SetNodeCliFlags(); - int exec_argc; - const char** exec_argv; - node::Init(&argc, const_cast(argv), &exec_argc, &exec_argv); + std::vector args(argv, argv + argc); // NOLINT + std::vector exec_args; + std::vector errors; + node::InitializeNodeWithArgs(&args, &exec_args, &errors); + + for (const std::string& error : errors) + fprintf(stderr, "%s: %s\n", args[0].c_str(), error.c_str()); + if (exit_code != 0) + return exit_code; gin::V8Initializer::LoadV8Snapshot( gin::V8Initializer::V8SnapshotFileType::kWithAdditionalContext); @@ -201,9 +207,6 @@ int NodeMain(int argc, char* argv[]) { isolate_data = node::CreateIsolateData(isolate, loop, gin_env.platform()); CHECK_NE(nullptr, isolate_data); - std::vector args(argv, argv + argc); // NOLINT - std::vector exec_args(exec_argv, - exec_argv + exec_argc); // NOLINT env = node::CreateEnvironment(isolate_data, gin_env.context(), args, exec_args); CHECK_NOT_NULL(env);