feat: add pnpm run play playground picker#453
Merged
Conversation
Adds scripts/play.ts, an autocomplete prompt (via `prompts`) that discovers every runnable playground under packages/*, examples/*, docs, e2e, and storybook — mirroring the workspace glob list in pnpm-workspace.yaml — and launches its play:dev/play/dev/docs/start script in place. New playgrounds are picked up automatically with no change to this script. Overrides the previous fixed `pnpm run play` (which always built everything then launched packages/core's playground); pick packages/core from the list to reach the same target.
Runs `pnpm run build` before spawning the selected playground's script, restoring the previous fixed `play` script's build-first behavior for every entry in the picker (not just packages/core).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds
pnpm run play— an autocomplete prompt to pick and launch any playground in the repo (packages, examples, docs, storybook), instead of remembering each one's directory and script name by hand.scripts/play.tsdiscovers playgrounds by expanding the same workspace globspnpm-workspace.yaml'spackages:list already declares (packages/*,examples/*,docs,e2e,storybook), keeping only entries whosepackage.jsonhas aplay:dev/play/dev/docs/startscript.prompts'autocompletetype — type to filter, arrow keys + Enter to pick, with a description line showing the package name and command — then runspnpm run buildfollowed bypnpm run <script>in the chosen directory, with output streamed through.prompts/@types/promptsas catalog devDependencies.This overrides the previous fixed
pnpm run play(pnpm run build && pnpm -C packages/core run play), keeping its build-first behavior but extending it to every playground in the picker, not justpackages/core.play:debugandplay:standaloneare unchanged.Linked Issues
Additional context
Similar to devframes/devframe#118.
Created with the help of an agent.