astro-ghostcms/.pnpm-store/v3/files/77/526740e82f733db2f5f5096cd53...

42 lines
1.1 KiB
Plaintext

import path from "node:path";
import { getPrerenderMetadata } from "../../../prerender/metadata.js";
import { extendManualChunks } from "./util.js";
function vitePluginPrerender(opts, internals) {
return {
name: "astro:rollup-plugin-prerender",
outputOptions(outputOptions) {
extendManualChunks(outputOptions, {
after(id, meta) {
if (id.includes("astro/dist/runtime")) {
return "astro";
}
const pageInfo = internals.pagesByViteID.get(id);
if (pageInfo) {
if (getPrerenderMetadata(meta.getModuleInfo(id))) {
pageInfo.route.prerender = true;
return "prerender";
}
pageInfo.route.prerender = false;
return `pages/${path.basename(pageInfo.component)}`;
}
}
});
}
};
}
function pluginPrerender(opts, internals) {
return {
targets: ["server"],
hooks: {
"build:before": () => {
return {
vitePlugin: vitePluginPrerender(opts, internals)
};
}
}
};
}
export {
pluginPrerender
};