0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-30 22:03:56 -05:00

fix: copy server URLs to Vite dev server (#12127)

* fix: copy server URLs to Vite dev server

* Changeset
This commit is contained in:
Matt Kane 2024-10-04 19:33:42 +01:00 committed by GitHub
parent abf9a89ac1
commit 55e9cd8855
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 2 deletions

View file

@ -0,0 +1,5 @@
---
'astro': patch
---
Prevents Vite emitting an error when restarting itself

View file

@ -136,7 +136,7 @@ export async function createContainerWithAutomaticRestart({
},
};
async function handleServerRestart(logMsg = '') {
async function handleServerRestart(logMsg = '', server?: vite.ViteDevServer) {
logger.info(null, (logMsg + ' Restarting...').trim());
const container = restart.container;
const result = await restartContainer(container);
@ -147,6 +147,11 @@ export async function createContainerWithAutomaticRestart({
// Restart success. Add new watches because this is a new container with a new Vite server
restart.container = result;
setupContainer();
if (server) {
// Vite expects the resolved URLs to be available
server.resolvedUrls = result.viteServer.resolvedUrls;
}
resolveRestart(null);
}
restartComplete = new Promise<Error | null>((resolve) => {
@ -171,7 +176,8 @@ export async function createContainerWithAutomaticRestart({
// Restart the Astro dev server instead of Vite's when the API is called by plugins.
// Ignore the `forceOptimize` parameter for now.
restart.container.viteServer.restart = () => handleServerRestart();
restart.container.viteServer.restart = () =>
handleServerRestart('', restart.container.viteServer);
// Set up shortcuts