COMPRIMIR Y DESCOMPRIMIR FICHEROS EN NODEJS

Para comprimir y descomprimir ficheros en nodejs, se puede usar bibliotecas de terceros como adm-zip, que es una de las más sencillas y populares para manejar archivos ZIP. NodeJS no tiene soporte nativo para ZIP, por lo que hay que instalar el paquete adm-zip: "npm install adm-zip".
  • Comprimir un archivo:

    const AdmZip = require('adm-zip');
    const zip = new AdmZip();
    zip.addLocalFile('ruta_fichero_a_comprimir.ext');  // Añade tu fichero
    zip.writeZip('ruta_fichero_compirmido.zip');  // Crea el ZIP
    
  • Desomprimir un archivo:

    const AdmZip = require('adm-zip');
    // Ruta al archivo ZIP (ajusta según tu archivo)
    const zipPath = './archivo-comprimido.zip';
    // Carpeta de destino para extraer (se creará si no existe)
    const extractPath = './database';
    
    // Crear una instancia de AdmZip con el archivo ZIP
    zip = new AdmZip(zipPath);
    // Extraer todo el contenido del ZIP a la carpeta de destino
    // El segundo parámetro (true) sobrescribe archivos existentes si los hay
    zip.extractAllTo(extractPath, true);