diff --git a/shell/common/node_util.cc b/shell/common/node_util.cc index 57090f8d3c00..448329c430dc 100644 --- a/shell/common/node_util.cc +++ b/shell/common/node_util.cc @@ -66,8 +66,13 @@ void EmitWarning(const std::string_view warning_msg, void EmitWarning(v8::Isolate* isolate, const std::string_view warning_msg, const std::string_view warning_type) { - node::ProcessEmitWarningGeneric(node::Environment::GetCurrent(isolate), - warning_msg, warning_type); + node::Environment* env = node::Environment::GetCurrent(isolate); + if (!env) { + // No Node.js environment available, fall back to console logging. + LOG(WARNING) << "[" << warning_type << "] " << warning_msg; + return; + } + node::ProcessEmitWarningGeneric(env, warning_msg, warning_type); } void EmitDeprecationWarning(const std::string_view warning_msg, @@ -79,8 +84,14 @@ void EmitDeprecationWarning(const std::string_view warning_msg, void EmitDeprecationWarning(v8::Isolate* isolate, const std::string_view warning_msg, const std::string_view deprecation_code) { - node::ProcessEmitWarningGeneric(node::Environment::GetCurrent(isolate), - warning_msg, "DeprecationWarning", + node::Environment* env = node::Environment::GetCurrent(isolate); + if (!env) { + // No Node.js environment available, fall back to console logging. + LOG(WARNING) << "[DeprecationWarning] " << warning_msg + << " (code: " << deprecation_code << ")"; + return; + } + node::ProcessEmitWarningGeneric(env, warning_msg, "DeprecationWarning", deprecation_code); }