Skip to content

feat: always-fresh production tarballs + Nuxt DevTools production playground - #511

Merged
antfu merged 2 commits into
mainfrom
lovely-turtles-swim
Aug 4, 2026
Merged

feat: always-fresh production tarballs + Nuxt DevTools production playground#511
antfu merged 2 commits into
mainfrom
lovely-turtles-swim

Conversation

@antfubot

@antfubot antfubot commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Description

Two changes to the standalone playgrounds/* install-path tests:

  1. playgrounds/production/scripts/pack-local.mjs always packs the latest tarballs and installs from them. Previously packing and installing were separate steps, and a rebuilt tarball under the same stable filename could be mistaken for the previous stale install by pnpm's store cache (the README even documented a manual --force workaround). The pack/rename logic is now shared via scripts/pack-devtools-tarballs.mjs, and the script always finishes with a forced pnpm install --no-frozen-lockfile --force, so every run wipes .tarballs/, repacks from scratch, and reinstalls fresh — no stale tarballs or stale installs left behind.

  2. New playgrounds/production-nuxt playground, mirroring playgrounds/production but for the other real-world install path: Nuxt DevTools. Nuxt DevTools v4 (@nuxt/devtools@^4.0.0-alpha.9) depends directly on @vitejs/devtools and @vitejs/devtools-kit, embedding Vite DevTools as its own engine. This playground runs Nuxt 5 (via Nuxt's nightly channel, npm:nuxt-nightly@5x, since Nuxt 5 isn't on stable dist-tags yet) with Nuxt DevTools 4, and uses pnpm.overrides to force Nuxt DevTools' internal @vitejs/devtools/-kit (and every sibling package) to the local built dist tarballs — so it validates the build under test running inside Nuxt DevTools, not just as a standalone Vite plugin.

Linked Issues

Additional context

playgrounds/production-nuxt is excluded from the root pnpm-workspace.yaml and the repo-wide ESLint run, the same way playgrounds/production already is, since it's a standalone workspace with its own lockfile and plain (non-catalog) dependency specifiers.


🤖 Created with the help of an AI agent

Extract the pack/rename logic behind the production playground's
pack-local.mjs into a shared scripts/pack-devtools-tarballs.mjs, and
fold the install step into the script itself: every run now wipes
.tarballs/, repacks from scratch, and reinstalls with --force so a
freshly rebuilt tarball is never mistaken for a stale previous install.
…vTools

Introduce a standalone pnpm workspace running Nuxt 5 (nightly channel)
with Nuxt DevTools 4, whose internal @vitejs/devtools and
@vitejs/devtools-kit dependencies are overridden via pnpm.overrides to
the local built dist tarballs (packed the same way as the production
playground). This exercises the other real-world install path: Nuxt
DevTools v4 embeds Vite DevTools as its own engine, so this validates
that the build under test runs correctly there, not just when mounted
directly as a Vite plugin.
@pkg-pr-new

pkg-pr-new Bot commented Aug 4, 2026

Copy link
Copy Markdown

Open in StackBlitz

@vitejs/devtools

npm i https://pkg.pr.new/@vitejs/devtools@511

@vitejs/devtools-kit

npm i https://pkg.pr.new/@vitejs/devtools-kit@511

@vitejs/devtools-oxc

npm i https://pkg.pr.new/@vitejs/devtools-oxc@511

@vitejs/devtools-rolldown

npm i https://pkg.pr.new/@vitejs/devtools-rolldown@511

@vitejs/devtools-vite

npm i https://pkg.pr.new/@vitejs/devtools-vite@511

@vitejs/devtools-vitest

npm i https://pkg.pr.new/@vitejs/devtools-vitest@511

commit: 2d91c3c

@antfu
antfu merged commit afca02e into main Aug 4, 2026
10 checks passed
@antfu
antfu deleted the lovely-turtles-swim branch August 4, 2026 01:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants