From 1ec2d87e343b907f424adf73fe8c56cd1c68ebe4 Mon Sep 17 00:00:00 2001 From: Steven Hartland Date: Mon, 9 Jun 2025 21:14:24 +0100 Subject: [PATCH 1/2] fix(typescript-sdk): random build failures Due to the way pnpm runs scripts in parallel, some packages were not ready when others tried to access them, leading to random build failures. Fixes applied to eliminate race conditions: - Disable clean in tsup config files - Use the same clean method across all packages Also: - Add clean script to the root package.json for consistency - Disable minify when watch is enabled for performance Fixes #59 --- typescript-sdk/integrations/agno/package.json | 2 +- typescript-sdk/integrations/langgraph/package.json | 2 +- typescript-sdk/integrations/mastra/package.json | 2 +- .../integrations/middleware-starter/package.json | 2 +- .../integrations/server-starter-all-features/package.json | 2 +- typescript-sdk/integrations/server-starter/package.json | 2 +- typescript-sdk/integrations/vercel-ai-sdk/package.json | 2 +- typescript-sdk/package.json | 1 + typescript-sdk/packages/cli/package.json | 2 +- typescript-sdk/packages/client/package.json | 2 +- typescript-sdk/packages/client/tsup.config.ts | 8 ++++---- typescript-sdk/packages/core/package.json | 2 +- typescript-sdk/packages/core/tsup.config.ts | 6 +++--- typescript-sdk/packages/encoder/package.json | 2 +- typescript-sdk/packages/encoder/tsup.config.ts | 6 +++--- typescript-sdk/packages/proto/package.json | 2 +- typescript-sdk/packages/proto/tsup.config.ts | 6 +++--- 17 files changed, 26 insertions(+), 25 deletions(-) diff --git a/typescript-sdk/integrations/agno/package.json b/typescript-sdk/integrations/agno/package.json index a0a61dc5..0de2fbd5 100644 --- a/typescript-sdk/integrations/agno/package.json +++ b/typescript-sdk/integrations/agno/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/langgraph/package.json b/typescript-sdk/integrations/langgraph/package.json index 263fd856..b9a97cd8 100644 --- a/typescript-sdk/integrations/langgraph/package.json +++ b/typescript-sdk/integrations/langgraph/package.json @@ -11,7 +11,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/mastra/package.json b/typescript-sdk/integrations/mastra/package.json index cc5a0449..d8adf304 100644 --- a/typescript-sdk/integrations/mastra/package.json +++ b/typescript-sdk/integrations/mastra/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/middleware-starter/package.json b/typescript-sdk/integrations/middleware-starter/package.json index 171ad07a..7a13b441 100644 --- a/typescript-sdk/integrations/middleware-starter/package.json +++ b/typescript-sdk/integrations/middleware-starter/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/server-starter-all-features/package.json b/typescript-sdk/integrations/server-starter-all-features/package.json index 502c3004..940e76bb 100644 --- a/typescript-sdk/integrations/server-starter-all-features/package.json +++ b/typescript-sdk/integrations/server-starter-all-features/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/server-starter/package.json b/typescript-sdk/integrations/server-starter/package.json index 74d6c01f..6be0b43f 100644 --- a/typescript-sdk/integrations/server-starter/package.json +++ b/typescript-sdk/integrations/server-starter/package.json @@ -12,7 +12,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/integrations/vercel-ai-sdk/package.json b/typescript-sdk/integrations/vercel-ai-sdk/package.json index 425c6dad..b972508a 100644 --- a/typescript-sdk/integrations/vercel-ai-sdk/package.json +++ b/typescript-sdk/integrations/vercel-ai-sdk/package.json @@ -11,7 +11,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/package.json b/typescript-sdk/package.json index a49946ec..f47c5b9a 100644 --- a/typescript-sdk/package.json +++ b/typescript-sdk/package.json @@ -4,6 +4,7 @@ "private": true, "scripts": { "build": "turbo run build", + "clean": "pnpm -r clean", "build:clean": "pnpm -r clean && pnpm install && turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", diff --git a/typescript-sdk/packages/cli/package.json b/typescript-sdk/packages/cli/package.json index cb248e88..3b1c01ed 100644 --- a/typescript-sdk/packages/cli/package.json +++ b/typescript-sdk/packages/cli/package.json @@ -17,7 +17,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/packages/client/package.json b/typescript-sdk/packages/client/package.json index cc6ecd6f..3eea7ce2 100644 --- a/typescript-sdk/packages/client/package.json +++ b/typescript-sdk/packages/client/package.json @@ -16,7 +16,7 @@ "scripts": { "build": "tsup", "dev": "tsup --watch", - "clean": "rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "typecheck": "tsc --noEmit", "test": "jest", "link:global": "pnpm link --global", diff --git a/typescript-sdk/packages/client/tsup.config.ts b/typescript-sdk/packages/client/tsup.config.ts index 12b69b8f..45a8e4a4 100644 --- a/typescript-sdk/packages/client/tsup.config.ts +++ b/typescript-sdk/packages/client/tsup.config.ts @@ -1,11 +1,11 @@ import { defineConfig } from "tsup"; -export default defineConfig({ +export default defineConfig((options) => ({ entry: ["src/index.ts"], format: ["cjs", "esm"], dts: true, splitting: false, sourcemap: true, - clean: true, - minify: true, -}); + clean: !options.watch, // Don't clean in watch mode to prevent race conditions + minify: !options.watch, // Don't minify in watch mode for faster builds +})); diff --git a/typescript-sdk/packages/core/package.json b/typescript-sdk/packages/core/package.json index 98ef5dd7..05877694 100644 --- a/typescript-sdk/packages/core/package.json +++ b/typescript-sdk/packages/core/package.json @@ -13,7 +13,7 @@ "build": "tsup", "dev": "tsup --watch", "lint": "eslint \"src/**/*.ts*\"", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "test": "jest", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" diff --git a/typescript-sdk/packages/core/tsup.config.ts b/typescript-sdk/packages/core/tsup.config.ts index 9dc7bce1..a229c969 100644 --- a/typescript-sdk/packages/core/tsup.config.ts +++ b/typescript-sdk/packages/core/tsup.config.ts @@ -1,10 +1,10 @@ import { defineConfig } from "tsup"; -export default defineConfig({ +export default defineConfig((options) => ({ entry: ["src/index.ts"], format: ["cjs", "esm"], dts: true, splitting: false, sourcemap: true, - clean: true, -}); + clean: !options.watch, // Don't clean in watch mode to prevent race conditions +})); diff --git a/typescript-sdk/packages/encoder/package.json b/typescript-sdk/packages/encoder/package.json index 61d74000..695b80b2 100644 --- a/typescript-sdk/packages/encoder/package.json +++ b/typescript-sdk/packages/encoder/package.json @@ -13,7 +13,7 @@ "build": "tsup", "dev": "tsup --watch", "lint": "eslint \"src/**/*.ts*\"", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "test": "jest", "link:global": "pnpm link --global", "unlink:global": "pnpm unlink --global" diff --git a/typescript-sdk/packages/encoder/tsup.config.ts b/typescript-sdk/packages/encoder/tsup.config.ts index 9dc7bce1..a229c969 100644 --- a/typescript-sdk/packages/encoder/tsup.config.ts +++ b/typescript-sdk/packages/encoder/tsup.config.ts @@ -1,10 +1,10 @@ import { defineConfig } from "tsup"; -export default defineConfig({ +export default defineConfig((options) => ({ entry: ["src/index.ts"], format: ["cjs", "esm"], dts: true, splitting: false, sourcemap: true, - clean: true, -}); + clean: !options.watch, // Don't clean in watch mode to prevent race conditions +})); diff --git a/typescript-sdk/packages/proto/package.json b/typescript-sdk/packages/proto/package.json index e0c7f0ab..a5464297 100644 --- a/typescript-sdk/packages/proto/package.json +++ b/typescript-sdk/packages/proto/package.json @@ -13,7 +13,7 @@ "build": "tsup", "dev": "tsup --watch", "lint": "eslint \"src/**/*.ts*\"", - "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist", + "clean": "rm -rf dist .turbo node_modules", "test": "jest", "generate": "mkdir -p ./src/generated && protoc --plugin=./node_modules/.bin/protoc-gen-ts_proto --ts_proto_out=./src/generated --ts_proto_opt=esModuleInterop=true,outputJsonMethods=false,outputClientImpl=false -I ./src/proto ./src/proto/*.proto", "link:global": "pnpm link --global", diff --git a/typescript-sdk/packages/proto/tsup.config.ts b/typescript-sdk/packages/proto/tsup.config.ts index 9823b44e..2b2130da 100644 --- a/typescript-sdk/packages/proto/tsup.config.ts +++ b/typescript-sdk/packages/proto/tsup.config.ts @@ -1,10 +1,10 @@ import { defineConfig } from "tsup"; -export default defineConfig({ +export default defineConfig((options) => ({ entry: ["src/index.ts"], format: ["esm", "cjs"], dts: true, splitting: false, sourcemap: true, - clean: true, -}); + clean: !options.watch, // Don't clean in watch mode to prevent race conditions +})); From 3e11792b151b7061abeba7c801bc3d68ae162261 Mon Sep 17 00:00:00 2001 From: Steven Hartland Date: Fri, 13 Jun 2025 22:51:50 +0100 Subject: [PATCH 2/2] chore(typescript-sdk): clean root level Clean the typescript SDK root level, which was previously missing, requiring manual clean up on some changes. --- typescript-sdk/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/typescript-sdk/package.json b/typescript-sdk/package.json index f47c5b9a..09a2e46b 100644 --- a/typescript-sdk/package.json +++ b/typescript-sdk/package.json @@ -4,8 +4,8 @@ "private": true, "scripts": { "build": "turbo run build", - "clean": "pnpm -r clean", - "build:clean": "pnpm -r clean && pnpm install && turbo run build", + "clean": "rm -rf dist .turbo node_modules && pnpm -r clean", + "build:clean": "rm -rf dist .turbo node_modules && pnpm -r clean && pnpm install && turbo run build", "dev": "turbo run dev", "lint": "turbo run lint", "format": "prettier --write \"**/*.{ts,tsx,md,mdx}\"",