{"version":3,"file":"compressBuild.mjs","names":[],"sources":["../../../../../../vite/src/compressBuild.ts"],"sourcesContent":["import { moveFile } from \"@mongez/fs\";\r\nimport archiver from \"archiver\";\r\nimport { colors } from \"@mongez/copper\";\r\nimport fs from \"fs\";\r\nimport path from \"path\";\r\nimport { UserConfig } from \"vite\";\r\nimport { MongezViteOptions } from \"./types\";\r\nimport { root } from \"./utils\";\r\n\r\nexport default async function compressBuild(\r\n  config: UserConfig,\r\n  options: MongezViteOptions\r\n) {\r\n  if (!options.compressBuild) return;\r\n\r\n  const outDir = config.build?.outDir || \"dist\";\r\n\r\n  console.log(colors.yellowBright(\"Compressing build directory...\"));\r\n\r\n  // import path package\r\n  const buildPath = root(outDir);\r\n\r\n  const archive = archiver.create(\"zip\", {\r\n    zlib: 9,\r\n  });\r\n\r\n  const rawFileName =\r\n    typeof options.compressedFileName === \"function\"\r\n      ? await options.compressedFileName()\r\n      : options.compressedFileName;\r\n\r\n  // Strip any directory component so a hostile/derived file name (e.g.\r\n  // `../../evil.zip`) can't write or move the zip outside `buildPath`.\r\n  const fileName = path.basename(rawFileName as string);\r\n\r\n  const output = fs.createWriteStream(root(fileName));\r\n\r\n  archive.pipe(output);\r\n\r\n  await archive.directory(buildPath, \"\").finalize();\r\n  moveFile(root(fileName), path.join(buildPath, fileName));\r\n\r\n  console.log(\r\n    colors.greenBright(\"Build Files Have Been Compressed Successfully!\")\r\n  );\r\n}\r\n"],"mappings":";;;;;;;;AASA,eAA8B,cAC5B,QACA,SACA;CACA,IAAI,CAAC,QAAQ,eAAe;CAE5B,MAAM,SAAS,OAAO,OAAO,UAAU;CAEvC,QAAQ,IAAI,OAAO,aAAa,gCAAgC,CAAC;CAGjE,MAAM,YAAY,KAAK,MAAM;CAE7B,MAAM,UAAU,SAAS,OAAO,OAAO,EACrC,MAAM,EACR,CAAC;CAED,MAAM,cACJ,OAAO,QAAQ,uBAAuB,aAClC,MAAM,QAAQ,mBAAmB,IACjC,QAAQ;CAId,MAAM,WAAW,KAAK,SAAS,WAAqB;CAEpD,MAAM,SAAS,GAAG,kBAAkB,KAAK,QAAQ,CAAC;CAElD,QAAQ,KAAK,MAAM;CAEnB,MAAM,QAAQ,UAAU,WAAW,EAAE,CAAC,CAAC,SAAS;CAChD,SAAS,KAAK,QAAQ,GAAG,KAAK,KAAK,WAAW,QAAQ,CAAC;CAEvD,QAAQ,IACN,OAAO,YAAY,gDAAgD,CACrE;AACF"}