From 76540602d4039771210231aeb72e415cc1811b29 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 18 Feb 2026 20:40:35 -0500 Subject: [PATCH] sdk: fix nested exports transformation in publish script The publish script now recursively transforms export paths to handle nested export objects. This ensures all SDK entry points are correctly mapped to their compiled dist/ locations and type definitions when publishing to npm. --- packages/sdk/js/script/publish.ts | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/sdk/js/script/publish.ts b/packages/sdk/js/script/publish.ts index 46dd42b700..c21f06230d 100755 --- a/packages/sdk/js/script/publish.ts +++ b/packages/sdk/js/script/publish.ts @@ -6,15 +6,24 @@ import { $ } from "bun" const dir = new URL("..", import.meta.url).pathname process.chdir(dir) -const pkg = await import("../package.json").then((m) => m.default) +const pkg = (await import("../package.json").then((m) => m.default)) as { + exports: Record +} const original = JSON.parse(JSON.stringify(pkg)) -for (const [key, value] of Object.entries(pkg.exports)) { - const file = value.replace("./src/", "./dist/").replace(".ts", "") - pkg.exports[key] = { - import: file + ".js", - types: file + ".d.ts", +function transformExports(exports: Record) { + for (const [key, value] of Object.entries(exports)) { + if (typeof value === "object" && value !== null) { + transformExports(value as Record) + } else if (typeof value === "string") { + const file = value.replace("./src/", "./dist/").replace(".ts", "") + exports[key] = { + import: file + ".js", + types: file + ".d.ts", + } + } } } +transformExports(pkg.exports) await Bun.write("package.json", JSON.stringify(pkg, null, 2)) await $`bun pm pack` await $`npm publish *.tgz --tag ${Script.channel} --access public`