← GPT-AI-LP
CODE · 0.8 KB

scripts/verify-real-e2e.mjs

Workspace snapshot · 08/31 23:51

import { readFile } from "node:fs/promises";
import JSZip from "jszip";

const zip = await JSZip.loadAsync(await readFile(new URL("../output/real-e2e/landing-page-package.zip", import.meta.url)));
const html = await zip.file("index.html").async("string");
const packagedImages = Object.keys(zip.files).filter((name) => name.startsWith("images/") && !zip.files[name].dir);
const result = {
  package: {
    packagedImages,
    h1: (html.match(/<h1/gu) || []).length,
    relativeImages: (html.match(/src="images\//gu) || []).length,
    hasExpiringStorageUrl: /signedUrl|supabase\.co\/storage/gu.test(html),
  },
};

console.log(JSON.stringify(result, null, 2));
if (packagedImages.length !== 7 || result.package.relativeImages !== 7 || result.package.h1 !== 1) process.exitCode = 1;