const fs = require("fs"); const path = require("path"); const sharp = require("sharp"); const originalFile = "public/photos/Jessica/original/2021-Santarcangelo/IMG_20210602_100423.jpg"; const outputFile = "public/cast/Jessica/photos/2021-Santarcangelo/IMG_20210602_100423_cast.jpg"; async function main() { console.log("[TEST] Originale:"); console.log(originalFile); if (!fs.existsSync(originalFile)) { throw new Error("File originale non trovato"); } await fs.promises.mkdir( path.dirname(outputFile), { recursive: true, } ); const result = await sharp(originalFile, { failOn: "none", }) .rotate() .resize({ width: 1920, height: 1080, fit: "inside", withoutEnlargement: true, }) .flatten({ background: { r: 0, g: 0, b: 0, }, }) .jpeg({ quality: 85, progressive: true, chromaSubsampling: "4:2:0", optimiseCoding: true, }) .toFile(outputFile); console.log(""); console.log("[TEST] Cast creato:"); console.log(outputFile); console.log(""); console.log("[TEST] Dimensioni:"); console.log(`${result.width}x${result.height}`); console.log(""); console.log("[TEST] Bytes:"); console.log(result.size); console.log(""); console.log("=========================="); console.log("TEST OK"); console.log("=========================="); } main().catch((err) => { console.error(""); console.error("TEST FALLITO"); console.error(err); process.exit(1); });