Șterge fișierele din public pe care nu le cere nimic
Douăzeci și șase de fișiere din frontend/public sunt resturi de la funcționalități
înlocuite: caruselul de pachete pe care l-au luat produsele reale, iconițele de plată
ale unui checkout care nu există, un sprite de schelet cu simboluri de GitHub și
Discord, randări vechi de produs și cardurile secțiunii „Connect with us". Issue #7 (closed)
le-a redimensionat pe fiecare și le-a scris un frate .webp, deci stăteau în două
exemplare.
46 de fișiere, 2,65 MB — nu 52, cum spunea issue-ul: cele cinci .svg de plată
și icons.svg nu au pereche .webp, pentru că optimizatorul nu convertește SVG.
Dovada că nu le cere nimic
-
Cod urmărit de git: zero referințe la calea întreagă sau la numele cu extensie, în afara lui
frontend/public. Potrivirile aparente sunt coliziuni de nume din alte mape (products/shop/hypervolt-3-pro.png,nav/explore-blog.jpg,products/shop/normatec-premier-hips.jpg). -
Tot istoricul git, toate ramurile: fiecare cale a trăit doar în fișiere pe care seed-ul NU le importă —
homeSections.ts(bundleCards, șters),navigation.ts,productImages.ts(fișier care nu mai există),Footer.tsx. Singura excepție eaboutUs.ts, de unde cele patruabout/connect/*.jpgau ajuns efectiv înContentListItem. -
Baza de producție și cea de dezvoltare:
GET /api/content-list?listKey=aboutUs.connectCardsîntoarce 0 rânduri pe amândouă —prune-removed-content.tsși-a făcut treaba. Pedev.dblocală mai erau 4 rânduri; le-am șters rulând același script. - 384 de pagini de producție (tot sitemap-ul, cele trei limbi) descărcate și căutate: 0 potriviri în 3,76 MB de HTML randat.
- Tot ce dă API-ul public de producție — detaliile și lista fiecărui produs, fiecare colecție, bannere, categorii, conținut și liste de conținut în trei limbi, articole: 0 potriviri în 569 KB.
- JS-ul și CSS-ul servite de producție, toate cele 23 de artefacte: 0 potriviri în 718 KB.
-
Fiecare model din baza locală (14 modele, 487 de rânduri): doar cele 4 rânduri
connectCards, șterse acum. -
Panoul de administrare nu putea alege una dintre ele: toate câmpurile de imagine din admin sunt încărcare de fișier către
/api/admin/uploads, care întoarce o cale/uploads/.... Nu există câmp de text liber pentru cale, deci grija din issue („un admin poate să fi ales manual una") nu se poate materializa.
Două intrări moarte din RENAMED_IMAGES
Tabelul din backend/prisma/lib/renamed-images.ts duce o redenumire png → jpg în
bazele semănate înaintea ei. Două intrări numeau chiar fișiere care dispar aici:
/bundles/starter.jpg și /products/hypervolt-go.jpg. Niciuna dintre căi n-a fost
vreodată scrisă de seed, deci perechea nu repara nimic și ar fi rămas să arate spre
un fișier inexistent. Au fost scoase odată cu fișierele.
Verificări
-
backend/:npm run buildfără ieșire;npm test→ 43 fișiere, 623 teste trecute -
frontend/:npm run lint,npx tsc --noEmit -p tsconfig.app.jsonfără erori,npm run buildreușit -
dist/reconstruit: 0 potriviri pentru cele 26 de căi; mapelebundles/,payments/,about/connect/șiicons.svgnu mai apar în ieșire -
Browser real peste build-ul acestei ramuri: pagina de start (cu toate cele trei mega-meniuri deschise, 72 de adrese de imagine verificate una câte una prin
fetch),shop-all(96 de imagini), o pagină de produs (37), Despre noi (26), Terapie/masaj (26), Ghid de cadouri (40), Hyperhub (23), Camere de recuperare (26), Carduri cadou (23), Întrebări frecvente (11) — zero imagini rupte. Singurele două 404-uri sunt/uploads/hero-summer*.jpg, un banner care există doar în mediul local ca.webp; pe producție bannerele au nume cu amprentă.
Un criteriu din issue care nu se poate îndeplini
tools/image-optimizer --check nu era curat nici înainte: iese cu 1 și raportează
109 probleme, toate „has no WebP sibling smaller than itself", toate în share/
(72 în share/hyperhub, 31 în share/products/shop, 6 în share/collections) —
cele 109 carduri de partajare din #8 (closed). Măsurat de două ori, cu fișierele șterse și cu
ele puse la loc pe disc: rezultat identic. Ștergerea nu schimbă nimic acolo. Primește
issue propriu.
Closes #30 (closed)