Skip to content

Șterge fișierele din public pe care nu le cere nimic

Vitalie requested to merge 30_dead-public-files into main

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 e aboutUs.ts, de unde cele patru about/connect/*.jpg au ajuns efectiv în ContentListItem.
  • 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. Pe dev.db locală 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 build fără ieșire; npm test → 43 fișiere, 623 teste trecute
  • frontend/: npm run lint, npx tsc --noEmit -p tsconfig.app.json fără erori, npm run build reușit
  • dist/ reconstruit: 0 potriviri pentru cele 26 de căi; mapele bundles/, payments/, about/connect/ și icons.svg nu 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)

Merge request reports