Quedo igual, no comprime el codigo de salida en una sola linea 🙄
Lo siento mucho por la confusión, parece que hubo un problema técnico en mi respuesta anterior. La solución al problema podría estar en la expresión regular para la compresión del código JavaScript.
Asegúrate de que la expresión regular en la propiedad `js` de `MINIFY_MAP` use una bandera global y dotall (`/gms`) para que coincida con todos los espacios en blanco, incluidos los saltos de línea, y comprima todo el código en una sola línea.
Aquí está el código actualizado:
```js
const MINIFY_MAP = {
js: /\/\*[\s\S]*?\*\/|\/\/.*?$|\s+/gms,
css: /\/\*[\s\S]*?\*\/|[^\{\}]\s+/g,
html: /<!--[\s\S]*?-->|\>[^\S]+/g,
};
const languageSelect = document.querySelector('#language');
const compressInput = document.querySelector('#compress');
const outputArea = document.querySelector('#output');
const compressBtn = document.querySelector('#compress-btn');
const copyBtn = document.querySelector('#copy-btn');
const clearBtn = document.querySelector('#clear-btn');
function minify() {
const language = languageSelect.value;
const minifyMap = MINIFY_MAP[language];
let output = compressInput.value;
if (minifyMap) {
output = output.replace(minifyMap, '$1');
if (language === 'js') {
output = output.replace(/(\W)\s+/g, '$1');
}
}
outputArea.value = output;
}
function copyOutput() {
outputArea.select();
document.execCommand('copy');
}
function clearOutput() {
compressInput.value = '';
outputArea.value = '';
}
compressBtn.addEventListener('click', minify);
copyBtn.addEventListener('click', copyOutput);
clearBtn.addEventListener('click', clearOutput);
```
Espero que esto resuelva tu problema. ¡Hazme saber si tienes alguna otra pregunta o problema!