From 307a5b6a3a2ed65be9a31448391673ad6442c453 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Mon, 13 Oct 2025 15:49:22 -0700 Subject: [PATCH] fix(next-js): fix auto-configure in prod --- packages/next-js/src/log.ts | 5 +++++ packages/next-js/src/mod.ts | 9 +++++++++ packages/rivetkit/src/drivers/default.ts | 6 +++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 packages/next-js/src/log.ts diff --git a/packages/next-js/src/log.ts b/packages/next-js/src/log.ts new file mode 100644 index 000000000..0ced37074 --- /dev/null +++ b/packages/next-js/src/log.ts @@ -0,0 +1,5 @@ +import { getLogger } from "rivetkit/log"; + +export function logger() { + return getLogger("driver-next-js"); +} diff --git a/packages/next-js/src/mod.ts b/packages/next-js/src/mod.ts index a206fadff..781908305 100644 --- a/packages/next-js/src/mod.ts +++ b/packages/next-js/src/mod.ts @@ -1,4 +1,5 @@ import type { Registry, RunConfigInput } from "rivetkit"; +import { logger } from "./log"; export const toNextHandler = ( registry: Registry, @@ -12,6 +13,10 @@ export const toNextHandler = ( // Auto-configure serverless runner if not in prod if (process.env.NODE_ENV !== "production") { + logger().debug( + "detected development environment, auto-starting engine and auto-configuring serverless", + ); + const publicUrl = process.env.NEXT_PUBLIC_SITE_URL ?? process.env.NEXT_PUBLIC_VERCEL_URL ?? @@ -21,6 +26,10 @@ export const toNextHandler = ( inputConfig.autoConfigureServerless = { url: `${publicUrl}/api/rivet/start`, }; + } else { + logger().debug( + "detected production environment, will not auto-start engine and auto-configure serverless", + ); } // Next logs this on every request diff --git a/packages/rivetkit/src/drivers/default.ts b/packages/rivetkit/src/drivers/default.ts index 86a491a6a..8fab1b3d6 100644 --- a/packages/rivetkit/src/drivers/default.ts +++ b/packages/rivetkit/src/drivers/default.ts @@ -18,7 +18,11 @@ export function chooseDefaultDriver(runConfig: RunnerConfig): DriverConfig { return runConfig.driver; } - if (runConfig.endpoint || runConfig.token) { + if ( + runConfig.endpoint || + runConfig.token || + runConfig.runnerKind === "serverless" + ) { loggerWithoutContext().debug({ msg: "using rivet engine driver", endpoint: runConfig.endpoint,