✅ COMPLETED: 1. Dockerfile uses port 80 (astro preview) 2. BaseLayout imports globals.css 3. globals.css with Tailwind v4 @theme syntax 4. index.astro has Header, Footer, FixedContact 5. All image references fixed to existing files 6. Hero uses hdpe_pipe_main.jpg 7. Product cards use hdpe001.jpg 8. pt-20 on main for fixed header ✅ TESTED LOCALLY: - Build: 15 pages in 1.27s - Docker build successful - Port 80 working - Images load - CSS works Ready for Easypanel deployment.
37 lines
995 B
JavaScript
37 lines
995 B
JavaScript
import MagicString from "magic-string";
|
|
import { normalizePath } from "vite";
|
|
import { isPage } from "../core/util.js";
|
|
import { PAGE_SSR_SCRIPT_ID } from "./index.js";
|
|
function astroScriptsPostPlugin({
|
|
settings
|
|
}) {
|
|
return {
|
|
name: "astro:scripts:page-ssr",
|
|
enforce: "post",
|
|
transform(code, id, options) {
|
|
if (!options?.ssr) return;
|
|
const hasInjectedScript = settings.scripts.some((s2) => s2.stage === "page-ssr");
|
|
if (!hasInjectedScript) return;
|
|
const filename = normalizePath(id);
|
|
let fileURL;
|
|
try {
|
|
fileURL = new URL(`file://${filename}`);
|
|
} catch {
|
|
return;
|
|
}
|
|
const fileIsPage = isPage(fileURL, settings);
|
|
if (!fileIsPage) return;
|
|
const s = new MagicString(code, { filename });
|
|
s.prepend(`import '${PAGE_SSR_SCRIPT_ID}';
|
|
`);
|
|
return {
|
|
code: s.toString(),
|
|
map: s.generateMap({ hires: "boundary" })
|
|
};
|
|
}
|
|
};
|
|
}
|
|
export {
|
|
astroScriptsPostPlugin as default
|
|
};
|