From f05f83f65fc4faf0bdc332d6182ef5c872e05251 Mon Sep 17 00:00:00 2001 From: Tom Beckenham <34339192+tombeckenham@users.noreply.github.com> Date: Mon, 9 Nov 2026 20:18:17 +1100 Subject: [PATCH 1/2] perf(ai-claude-code): mark package side-effect free so translateSdkStream tree-shakes Refs #2032 --- .changeset/claude-code-side-effects.md | 5 +++++ packages/ai-claude-code/package.json | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/claude-code-side-effects.md diff --git a/.changeset/claude-code-side-effects.md b/.changeset/claude-code-side-effects.md new file mode 100644 index 0000000000..67c60c9020 --- /dev/null +++ b/.changeset/claude-code-side-effects.md @@ -0,0 +1,5 @@ +--- +'@tanstack/ai-claude-code': patch +--- + +`@tanstack/ai-claude-code` now sets `"sideEffects": false`. A bundler can drop the sandbox, MCP, and Hono modules when an app imports only `translateSdkStream`. diff --git a/packages/ai-claude-code/package.json b/packages/ai-claude-code/package.json index fa5f6e156d..2e4e8e349a 100644 --- a/packages/ai-claude-code/package.json +++ b/packages/ai-claude-code/package.json @@ -36,6 +36,7 @@ "import": "./dist/esm/byok.js" } }, + "sideEffects": false, "files": [ "dist", "src" From b3ffde542e1244bd81d0cf29c8aae8c5f629708f Mon Sep 17 00:00:00 2001 From: Tom Beckenham <34339192+tombeckenham@users.noreply.github.com> Date: Mon, 9 Nov 2026 20:21:46 +1100 Subject: [PATCH 2/2] chore(ai-claude-code): correct changeset wording --- .changeset/claude-code-side-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/claude-code-side-effects.md b/.changeset/claude-code-side-effects.md index 67c60c9020..5a522f13a4 100644 --- a/.changeset/claude-code-side-effects.md +++ b/.changeset/claude-code-side-effects.md @@ -2,4 +2,4 @@ '@tanstack/ai-claude-code': patch --- -`@tanstack/ai-claude-code` now sets `"sideEffects": false`. A bundler can drop the sandbox, MCP, and Hono modules when an app imports only `translateSdkStream`. +`@tanstack/ai-claude-code` now sets `"sideEffects": false`. When an app imports only `translateSdkStream`, a bundler can drop the unused adapter modules.