TanStack / TanStack/cli

Create with Storybook add-on hangs on pnpm 11 under “Running commands for Storybook…”

Offen
#499 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
1.3k
Forks
185
Ø Merge
18 Std. 45 Min.
Gemergte PRs (30 T.)
2

Beschreibung

Which project does this relate to?

Create Tanstack App

Describe the bug

If I run TanStack create with the Storybook add-on on pnpm 11, the CLI can appear to hang forever on:

Running commands for Storybook...

Example (same shape as other create reports; adjust version/flags as needed):

pnpm dlx @tanstack/cli@latest create tanstack-app \
  --framework react \
  --add-ons storybook \
  --no-git \
  -y

The create spinner never finishes that step. What’s actually happening is that TanStack runs the Storybook add-on command (npx storybook init -y --no-devpnpm dlx storybook … for pnpm users) with the spinner still active. On pnpm 11 (TTY + cold dlx cache), pnpm waits for interactive approve-builds input for esbuild, but that prompt is easy to miss under the spinner — so the TanStack CLI looks stuck.

This is a TanStack create UX/invocation issue: the parent owns the spinner and how the child is launched. Storybook’s JS has not started yet when the prompt appears, so Storybook cannot surface or answer it.

Related background (investigation from the Storybook side): https://github.com/storybookjs/storybook/issues/35668
Related (same pnpm 11 build-approval theme, different failure mode — hard ERR_PNPM_IGNORED_BUILDS instead of a hang): https://github.com/TanStack/cli/issues/484

Your Example Website or App

N/A as a hosted app — this is a local TanStack CLI create hang and needs a real TTY (StackBlitz / non-TTY environments won’t show the same interactive approve-builds path).

Repro is the TanStack create command above (or interactive pnpm dlx @tanstack/cli@latest create choosing React + Storybook on pnpm 11).

Steps to Reproduce the Bug or Issue
  1. Use pnpm 11+ in a real terminal (TTY).
  2. Optionally clear the pnpm dlx cache so the approve-builds path is more likely:
    rm -rf "$(dirname "$(pnpm store path)")/dlx"
  3. Run TanStack create with the Storybook add-on, e.g.:
pnpm dlx @tanstack/cli@latest create tanstack-app \
  --framework react \
  --add-ons storybook \
  --no-git \
  -y
  1. See the CLI sit on Running commands for Storybook... / appear hung.
  2. If you look carefully at the terminal (or pause the spinner), pnpm may be waiting on an approve-builds prompt for esbuild.
Expected behavior

As a user, I expected TanStack create to finish (or show a clear prompt I can answer). Instead it looks stuck on “Running commands for Storybook…” while the child is waiting on stdin.

Screenshots or Videos

No response

Platform
Additional context

Why this is on TanStack: create launches the Storybook add-on command and keeps the Clack spinner up for the whole child lifetime. Fixing visibility and/or passing pnpm allow-build flags is in that path (storybook add-on command + package-manager translation + runCommandsAndInstallDependencies).

Workaround for the underlying pnpm step (verified): if you run the child yourself,

pnpm --allow-build=esbuild dlx storybook@latest init -y --no-dev

Suggested fixes:

  1. When the package manager is pnpm, run the Storybook add-on command as pnpm --allow-build=esbuild dlx storybook init -y --no-dev (flag before dlx).
  2. Pause/stop the spinner when the child may need a TTY so pnpm’s approve-builds UI is visible.
  3. Document the workaround until (1) lands.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne beim Storybook-Add-on-Befehl und der Übersetzung für den Paketmanager und verfolge dann runCommandsAndInstallDependencies, um zu sehen, wie der Child-Prozess und der Clack-Spinner koordiniert werden. Reproduziere das Verhalten mit dem bereitgestellten pnpm 11-Befehl in einem echten TTY und überprüfe, ob das Storybook-Setup abgeschlossen wird oder die approve-builds-Eingabeaufforderung anzeigt, statt scheinbar hängen zu bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js, storybook, typescript
Bereich
cli, developer-experience
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.