From bdad3bb574868f66ee6dd10e6499afc3a8c4ff05 Mon Sep 17 00:00:00 2001 From: Sigrid Huemer <32902192+s1gr1d@users.noreply.github.com> Date: Fri, 25 Jul 2025 13:31:33 +0200 Subject: [PATCH] feat(meta): Unify detection of serverless environments and add Cloud Run (#17168) Adds Google Cloud Run environment variable to serverless detection to wait until flushing. Documented here: https://cloud.google.com/run/docs/configuring/services/environment-variables#reserved related to this: https://github.com/getsentry/sentry-javascript/issues/17165 --- packages/nuxt/src/runtime/utils.ts | 1 + packages/solidstart/src/server/utils.ts | 8 +++++++- packages/sveltekit/src/server-common/utils.ts | 10 ++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/nuxt/src/runtime/utils.ts b/packages/nuxt/src/runtime/utils.ts index 61a6726ec0d0..7c9b49612525 100644 --- a/packages/nuxt/src/runtime/utils.ts +++ b/packages/nuxt/src/runtime/utils.ts @@ -103,6 +103,7 @@ export async function flushIfServerless(): Promise { const isServerless = !!process.env.FUNCTIONS_WORKER_RUNTIME || // Azure Functions !!process.env.LAMBDA_TASK_ROOT || // AWS Lambda + !!process.env.K_SERVICE || // Google Cloud Run !!process.env.CF_PAGES || // Cloudflare !!process.env.VERCEL || !!process.env.NETLIFY; diff --git a/packages/solidstart/src/server/utils.ts b/packages/solidstart/src/server/utils.ts index e4c70fef633b..fc7beea9daa0 100644 --- a/packages/solidstart/src/server/utils.ts +++ b/packages/solidstart/src/server/utils.ts @@ -5,7 +5,13 @@ import { DEBUG_BUILD } from '../common/debug-build'; /** Flush the event queue to ensure that events get sent to Sentry before the response is finished and the lambda ends */ export async function flushIfServerless(): Promise { - const isServerless = !!process.env.LAMBDA_TASK_ROOT || !!process.env.VERCEL; + const isServerless = + !!process.env.FUNCTIONS_WORKER_RUNTIME || // Azure Functions + !!process.env.LAMBDA_TASK_ROOT || // AWS Lambda + !!process.env.K_SERVICE || // Google Cloud Run + !!process.env.CF_PAGES || // Cloudflare + !!process.env.VERCEL || + !!process.env.NETLIFY; if (isServerless) { try { diff --git a/packages/sveltekit/src/server-common/utils.ts b/packages/sveltekit/src/server-common/utils.ts index 34e1575a70ea..03601cb3bbb5 100644 --- a/packages/sveltekit/src/server-common/utils.ts +++ b/packages/sveltekit/src/server-common/utils.ts @@ -22,9 +22,15 @@ export async function flushIfServerless(): Promise { return; } - const platformSupportsStreaming = !process.env.LAMBDA_TASK_ROOT && !process.env.VERCEL; + const isServerless = + !!process.env.FUNCTIONS_WORKER_RUNTIME || // Azure Functions + !!process.env.LAMBDA_TASK_ROOT || // AWS Lambda + !!process.env.K_SERVICE || // Google Cloud Run + !!process.env.CF_PAGES || // Cloudflare + !!process.env.VERCEL || + !!process.env.NETLIFY; - if (!platformSupportsStreaming) { + if (isServerless) { try { DEBUG_BUILD && debug.log('Flushing events...'); await flush(2000);