feat: add production playground for testing the real user install path#413
Merged
Conversation
Adds playgrounds/production, a standalone pnpm workspace that installs Vite DevTools from the local built dist tarballs instead of aliasing to source, so the tools can be exercised the way a real user consumes them. A pack-local script builds the monorepo and runs pnpm pack on the five published packages, resolving workspace:/catalog: protocols into concrete versions. pnpm-workspace.yaml overrides point every @vitejs/devtools-* package at those tarballs; all other dependencies resolve from the public registry.
@vitejs/devtools
@vitejs/devtools-kit
@vitejs/devtools-oxc
@vitejs/devtools-rolldown
@vitejs/devtools-vite
@vitejs/devtools-vitest
commit: |
antfubot
added a commit
that referenced
this pull request
Jul 15, 2026
Resolve pnpm-lock.yaml by taking main's lock (incl. the devframe 0.6.2 bump from #411) and re-running pnpm install to reconcile the kit/core dependency changes. context.ts and plugins/index.ts auto-merged cleanly, keeping both the integration-owned built-in docks (#411) and the install-launcher shell. Exclude the standalone production playground (#413) from the repo-wide ESLint run: it is its own workspace mirroring a real user install, so it intentionally uses plain dependency specifiers rather than the repo catalog.
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
playgrounds/production: a standalone pnpm workspace that installs Vite DevTools from the local built dist, so the tools can be exercised the way a real user consumes them — from the packaged artifacts, with no monorepo aliases,srcimports, orworkspace:links.Where
packages/core/playgroundaliases everything to source for fast iteration, this playground does the opposite: it packs the published packages into tarballs and installs them, exercising the real npm install path and the shippeddist.How it works
scripts/pack-local.mjsbuilds the monorepo and runspnpm packon the five published packages (@vitejs/devtools,-kit,-rolldown,-vite,-vitest).pnpm packrewrites each package'sworkspace:*/catalog:*protocols into concrete versions, producing exactly what npm would serve. Tarballs land in.tarballs/under stable names.pnpm-workspace.yamlmakes it its own workspace root (isolated from the monorepo) and usesoverridesto point every@vitejs/devtools-*package at those tarballs. Everything else (devframe,@devframes/*, vite, vue) resolves from the public registry — just like a real install.vite.config.tsis a plain user config importingDevToolsfrom@vitejs/devtools, plus a minimal Vue app so the panels have real build/module data.Usage
Verified locally
pnpm installall succeed;@vitejs/devtoolslinks to the local tarball, registry deps resolve normally.pnpm buildcompletes with theDevTools()plugin loaded from dist./__devtools/(HTTP 200,<title>Vite DevTools</title>).Linked Issues
Additional context
Generated artifacts (
.tarballs/,node_modules,dist, lockfile) are gitignored.This PR was created with the help of an agent.