TanStack / TanStack/cli

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

Aperta
#499 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
TypeScript
Stelle
1.3k
Fork
185
Merge medio
18h 45m
PR unite (30g)
2

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal comando dell’add-on di Storybook e dalla traduzione del package manager, poi segui runCommandsAndInstallDependencies per vedere come vengono coordinati il processo figlio e lo spinner di Clack. Riproduci il problema con il comando pnpm 11 fornito in un vero TTY e verifica che la configurazione di Storybook venga completata o esponga il prompt approve-builds invece di apparire bloccata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js, storybook, typescript
Ambito
cli, developer-experience
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.