build: require Vite DevTools 0.7.6 and drop the DF8111 workaround - #11
Merged
Merged
Conversation
The Astro docks name their renderer by the bare specifier
"astro-devtools/client", which the dev server loads through Vite's
`/@id/` resolution. Up to 0.7.5, Vite DevTools declared that
resolution only in `initHub()`, after every plugin's
`devtools.setup()` had run, so each dock registration warned DF8111
("the script will fail to load") about a script that loads fine.
`setup()` worked around it by writing the template into
`staticConfig.dock` itself.
Vite DevTools 0.7.6 declares the template in `createDevToolsContext`,
before any plugin setup runs (vitejs/devtools#582):
- Bump the six `@vitejs/devtools-*` entries of the `devtools` catalog
to 0.7.6. The devframe family stays at 1.0.0, which upstream's own
v0.7.6 lockfile also resolves; devframe 1.1.0 is left for a bump of
its own.
- Drop the workaround from `setup()`.
- Raise the `@vitejs/devtools` and `@vitejs/devtools-kit` peer ranges
to ^0.7.6. Without the workaround, 0.7.5 prints DF8111 once per
custom-render dock.
- Rename the e2e test that looks for DF8111 in the server log: the
integration no longer declares the resolution, but the test still
guards the peer floor.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DLDVYeDh6abCj8w9TxSXUQ
commit: |
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.
Vite DevTools 0.7.6 declares Vite's
/@id/{specifier}client-module resolution before any plugin'sdevtools.setup()runs (vitejs/devtools#582). Up to 0.7.5 it did so only ininitHub(), after the setup hooks. Each Astro dock that names its renderer by the bare specifierastro-devtools/clienttherefore warned DF8111 ("the script will fail to load") about a script that loads fine, andsetup()wrote the template intostaticConfig.dockitself to silence that. This PR bumps thedevtoolscatalog to 0.7.6 and removes the workaround.@vitejs/devtools-*entries go from 0.7.5 to 0.7.6. The devframe family stays at 1.0.0, the same version upstream's v0.7.6 lockfile resolves. devframe 1.1.0, released the same day, is left for a separate bump.setup()insrc/vite-plugin.ts.@vitejs/devtoolsand@vitejs/devtools-kitnow require^0.7.6. Without the workaround, 0.7.5 prints DF8111 once per custom-render dock, five warnings in all.[DF8111]in the server log is renamed. Its old title said the integration declares the resolution; the test now guards the peer floor.Other changes in 0.7.6
None of them change the Astro panels, the MCP endpoint, or the connection flow the skill documents.
build.injection, defaultfalse), and the integration does nothing outsideastro dev. In dev, the injection plugin behaves as before.~/.devframe/instances/<pid>-<port>.json. The record hasid: "vite-devtools",basePath: "/__devtools/"andmcp: null, because the integration keeps the hub's MCP route off. The MCP bridge does not register, so nothing collides on that file name, and/__astro-devtools/__connection.jsonis unchanged. This has two side effects:astro devwith SIGINT (Ctrl+C) leaves the record behind, because Vite closes the server only on SIGTERM and Astro's dev server has no SIGINT handler. The next reader deletes it when its liveness probe fails, andastro dev stop(SIGTERM) removes it.devframe connect --port <n> --base /__astro-devtools/skips its listing probe for a port that already has a record. The hub's record therefore hides the bridge from that listing, although tool calls still reach it. The skill does not usedevframe connect.Verification
vp run readypasses: build (including the playground'sastro build), sync, check, knip, publint, the 373 unit tests, and the 88 story tests.vp run playground#e2e: 51 passed.DEVFRAME_INSTANCES_DIRpointed at a temporary directory. The record was written on the first hub request and was still there after SIGINT. The e2e runs stop the server with SIGTERM, and they left no record in~/.devframe/instances.devframe connectbehavior comes from reading devframe 1.1.0's source; it was not run.🤖 Generated with Claude Code
https://claude.ai/code/session_01DLDVYeDh6abCj8w9TxSXUQ