From 464d1900b5723cddeb04111ceddea907e056defb Mon Sep 17 00:00:00 2001 From: Kacper Wojciechowski <39823706+jog1t@users.noreply.github.com> Date: Thu, 5 Feb 2026 01:21:13 +0100 Subject: [PATCH] fix(rivekit): stub traces in browser --- rivetkit-typescript/packages/traces/package.json | 7 ++++++- .../packages/traces/src/index.browser.ts | 11 +++++++++++ rivetkit-typescript/packages/traces/src/traces.ts | 5 +---- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 rivetkit-typescript/packages/traces/src/index.browser.ts diff --git a/rivetkit-typescript/packages/traces/package.json b/rivetkit-typescript/packages/traces/package.json index 08eab034e0..fad61b8581 100644 --- a/rivetkit-typescript/packages/traces/package.json +++ b/rivetkit-typescript/packages/traces/package.json @@ -12,6 +12,11 @@ ], "exports": { ".": { + "browser": { + "types": "./dist/tsup/index.browser.d.ts", + "import": "./dist/tsup/index.browser.js", + "require": "./dist/tsup/index.browser.cjs" + }, "import": { "types": "./dist/tsup/index.d.ts", "default": "./dist/tsup/index.js" @@ -43,8 +48,8 @@ }, "dependencies": { "@rivetkit/bare-ts": "^0.6.2", - "cbor-x": "^1.6.0", "fdb-tuple": "^1.0.0", + "cbor-x": "^1.6.0", "vbare": "^0.0.4" }, "devDependencies": { diff --git a/rivetkit-typescript/packages/traces/src/index.browser.ts b/rivetkit-typescript/packages/traces/src/index.browser.ts new file mode 100644 index 0000000000..f93430a885 --- /dev/null +++ b/rivetkit-typescript/packages/traces/src/index.browser.ts @@ -0,0 +1,11 @@ +// Browser stub: createTraces is server-only (uses node:async_hooks, node:crypto, +// fdb-tuple). This module is selected via the "browser" export condition so that +// bundlers like Vite never pull in the real implementation when resolving +// @rivetkit/traces in a browser context. The function is never actually called +// in the browser; it only exists because tsup chunk-splitting may place the +// import in a shared chunk also reached by client code. +export function createTraces(): never { + throw new Error( + "createTraces is not available in the browser. This is a server-only API.", + ); +} diff --git a/rivetkit-typescript/packages/traces/src/traces.ts b/rivetkit-typescript/packages/traces/src/traces.ts index 36c4e80c30..370deecb64 100644 --- a/rivetkit-typescript/packages/traces/src/traces.ts +++ b/rivetkit-typescript/packages/traces/src/traces.ts @@ -1058,10 +1058,7 @@ export function createTraces( chunkId: number; } { const tuple = unpack(Buffer.from(key)) as [number, number, number]; - return { - bucketStartSec: tuple[1], - chunkId: tuple[2], - }; + return { bucketStartSec: tuple[1], chunkId: tuple[2] }; } function buildChunkKey(bucketStartSec: number, chunkId: number): Uint8Array {