All checks were successful
ci / build-test (push) Successful in 4m56s
The homepage Lighthouse perf score dropped to 0.94 in CI (threshold 0.95) because Hero and ThreeAmWalkthrough each load a 1920×945 PNG screenshot straight out of public/product/ — together ~1.2 MiB and the LCP element. Other pages have no product imagery and pass with 1.0. Adds a sharp-based generator (scripts/optimize-product-images.mjs, run via `npm run optimize:images`) that emits 1280w and 1920w WebP variants beside each source PNG. Lightbox.astro now wraps the trigger in a <picture> with a WebP <source srcset> auto-derived from the PNG path (PNG kept as fallback for the ~2% of clients without WebP), exposes a fetchpriority prop, and points the dialog modal at the 1920w WebP. The Hero passes fetchpriority="high" on the LCP image; index.astro injects a matching <link rel="preload" as="image" imagesrcset> via a new BaseLayout head slot so the WebP is discovered before the body parses. Effect on the LCP image: 551 KiB PNG → 46 KiB WebP at 1280w (-92%). Local Lighthouse perf: 0.95 → 1.00 across 3 runs on /index.html; pricing/imprint stay 1.00; privacy unchanged at 0.98 (pre-existing CLS). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
924 B
JSON
36 lines
924 B
JSON
{
|
|
"name": "cameleer-website",
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "astro dev",
|
|
"start": "astro dev",
|
|
"build": "astro build",
|
|
"preview": "astro preview",
|
|
"astro": "astro",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"lint:html": "html-validate \"dist/**/*.html\"",
|
|
"lint:links": "linkinator dist --recurse --silent",
|
|
"optimize:images": "node scripts/optimize-product-images.mjs",
|
|
"lh": "lhci autorun"
|
|
},
|
|
"dependencies": {
|
|
"@astrojs/tailwind": "^5.1.0",
|
|
"@fontsource/dm-sans": "^5.0.21",
|
|
"@fontsource/jetbrains-mono": "^5.0.21",
|
|
"astro": "^5.0.0",
|
|
"tailwindcss": "^3.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"@lhci/cli": "^0.14.0",
|
|
"@types/node": "^20.11.0",
|
|
"html-validate": "^8.18.0",
|
|
"lightningcss": "^1.27.0",
|
|
"linkinator": "^6.1.0",
|
|
"typescript": "^5.4.0",
|
|
"vitest": "^1.6.0"
|
|
}
|
|
}
|