From 55f38945f959d64647a097c086bca76fa832caa5 Mon Sep 17 00:00:00 2001 From: Jack Herrington Date: Thu, 29 Oct 2026 16:45:43 -0700 Subject: [PATCH] fix(create): AI chat sample threadId and drop empty pnpm key The AI add-on's chat hook called useChat without the required threadId, so the generated sample needed manual fixing before it would run. Pass a stable threadId to useChat. Both base templates carried an empty "pnpm": {}, which made every generated project emit a useless empty pnpm field (mergePackageJSON keys off a truthy pnpm). Remove it from the React and Solid bases; add-ons that contribute pnpm.onlyBuiltDependencies still merge correctly. Co-Authored-By: Claude Opus 4.8 (1M context) --- .changeset/ai-threadid-and-empty-pnpm-key.md | 8 ++++++++ .../react/add-ons/ai/assets/src/lib/demo-ai-hook.ts | 3 ++- .../create/src/frameworks/react/project/base/package.json | 3 +-- .../create/src/frameworks/solid/project/base/package.json | 3 +-- 4 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 .changeset/ai-threadid-and-empty-pnpm-key.md diff --git a/.changeset/ai-threadid-and-empty-pnpm-key.md b/.changeset/ai-threadid-and-empty-pnpm-key.md new file mode 100644 index 00000000..2fc30da7 --- /dev/null +++ b/.changeset/ai-threadid-and-empty-pnpm-key.md @@ -0,0 +1,8 @@ +--- +'@tanstack/create': patch +--- + +fix(create): make AI add-on chat sample work out of the box and drop the empty `pnpm` key + +- The AI add-on's chat hook now passes the required `threadId` to `useChat`, so the generated sample runs without manual fixing. +- Removed the empty `"pnpm": {}` key from the React and Solid base templates so generated projects no longer carry an invalid, empty `pnpm` field. Add-ons that need `pnpm.onlyBuiltDependencies` still inject it. diff --git a/packages/create/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts b/packages/create/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts index 1a113c54..8192e1b1 100644 --- a/packages/create/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts +++ b/packages/create/src/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.ts @@ -19,4 +19,5 @@ const chatOptions = createChatClientOptions({ export type ChatMessages = InferChatMessages -export const useGuitarRecommendationChat = () => useChat(chatOptions) +export const useGuitarRecommendationChat = () => + useChat({ ...chatOptions, threadId: 'guitar-recommendations' }) diff --git a/packages/create/src/frameworks/react/project/base/package.json b/packages/create/src/frameworks/react/project/base/package.json index 79013bfe..a7a6322f 100644 --- a/packages/create/src/frameworks/react/project/base/package.json +++ b/packages/create/src/frameworks/react/project/base/package.json @@ -12,6 +12,5 @@ "react": "^19.2.0", "react-dom": "^19.2.0" }, - "devDependencies": {}, - "pnpm": {} + "devDependencies": {} } diff --git a/packages/create/src/frameworks/solid/project/base/package.json b/packages/create/src/frameworks/solid/project/base/package.json index 8888fda3..e97bbfa6 100644 --- a/packages/create/src/frameworks/solid/project/base/package.json +++ b/packages/create/src/frameworks/solid/project/base/package.json @@ -8,6 +8,5 @@ "@tanstack/solid-start": "latest", "solid-js": "^1.9.12" }, - "devDependencies": {}, - "pnpm": {} + "devDependencies": {} }