diff --git a/packages/sdk/js/script/publish.ts b/packages/sdk/js/script/publish.ts index 46dd42b70..c21f06230 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`