Post https://github.com/electron/electron/pull/18924 we shouldn't be patching `CompileAndCall` into our node fork, instead that method can quite easily live in our code as a helper.
shell/renderer/atom_sandboxed_renderer_client.cc
v8::Handle<v8::Context> context,
    content::RenderFrame* render_frame,
    int world_id) {
#if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
  NOTREACHED();
#else
  auto* isolate = context->GetIsolate();
  mate::Dictionary process = mate::Dictionary::CreateEmpty(isolate);
  process.SetMethod("_linkedBinding", GetBinding);
  std::vector<v8::Local<v8::String>> isolated_bundle_params = {
      node::FIXED_ONE_BYTE_STRING(isolate, "nodeProcess"),
      node::FIXED_ONE_BYTE_STRING(isolate, "isolatedWorld"),
      node::FIXED_ONE_BYTE_STRING(isolate, "worldId")};
  std::vector<v8::Local<v8::Value>> isolated_bundle_args = {
      process.GetHandle(),
      GetContext(render_frame->GetWebFrame(), isolate)->Global(),
      v8::Integer::New(isolate, world_id)};
  node::native_module::NativeModuleEnv::CompileAndCall(
      context, "electron/js2c/content_script_bundle", &isolated_bundle_params,
      &isolated_bundle_args, nullptr);
#endif
}
void AtomSandboxedRendererClient::WillReleaseScriptContext(