fix: Add nixpacks configuration for Astro deployment

This commit is contained in:
Kunthawat Greethong
2026-03-02 12:35:14 +07:00
parent ede8e32591
commit 5a2fb71c40
10118 changed files with 1500179 additions and 24 deletions

View File

@@ -0,0 +1,7 @@
import type { Plugin } from 'vite';
/**
* The very last Vite plugin to reload the browser if any SSR-only module are updated
* which will require a full page reload. This mimics the behaviour of Vite 5 where
* it used to unconditionally reload for us.
*/
export default function hmrReload(): Plugin;

View File

@@ -0,0 +1,28 @@
function hmrReload() {
return {
name: "astro:hmr-reload",
enforce: "post",
hotUpdate: {
order: "post",
handler({ modules, server, timestamp }) {
if (this.environment.name !== "ssr") return;
let hasSsrOnlyModules = false;
const invalidatedModules = /* @__PURE__ */ new Set();
for (const mod of modules) {
if (mod.id == null) continue;
const clientModule = server.environments.client.moduleGraph.getModuleById(mod.id);
if (clientModule != null) continue;
this.environment.moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true);
hasSsrOnlyModules = true;
}
if (hasSsrOnlyModules) {
server.ws.send({ type: "full-reload" });
return [];
}
}
}
};
}
export {
hmrReload as default
};