Closure Compiler

Closure Compiler — Descargar gratis. Optimizador y verificador de JavaScript

Closure Compiler es una herramienta de Google que analiza código JavaScript, elimina secciones inoperantes, renombra variables, verifica tipos y sintaxis, y genera un archivo más pequeño y rápido para entornos de producción, sin alterar la funcionalidad original.

5.0(1 valoraciones)

Descargar Closure Compiler (Enlaces oficiales)
Tamaño del archivo: 14 MB
La última versión de Closure Compiler es: 20260401
Sistema operativo: Windows, Linux, MacOS
Idiomas: English
Precio: $0.00 USD
Producto de código abierto y gratuito.

  • Eliminación de código muerto. El compilador recorre el árbol sintáctico del programa e identifica funciones, condicionales o bucles que nunca se ejecutan. Estas porciones se remueven por completo del archivo final, reduciendo el tamaño total y evitando operaciones innecesarias en tiempo de ejecución.
  • Renombrado de símbolos locales. Las variables internas, parámetros de funciones y nombres de propiedades privadas se sustituyen por identificadores más cortos, generalmente de una o dos letras. Este proceso disminuye la longitud del código sin modificar la lógica del programa.
  • Eliminación de espacios en blanco y comentarios. El compilador suprime todos los caracteres redundantes como espacios, tabulaciones, saltos de línea y comentarios del desarrollador. Esta operación reduce drásticamente el peso del archivo JavaScript para su transferencia por red.
  • Verificación de sintaxis. Closure Compiler analiza el código fuente y detecta errores gramaticales del lenguaje JavaScript, como puntos y comas faltantes, llaves no cerradas o uso incorrecto de operadores. Los errores se reportan con la ubicación exacta dentro del archivo.
  • Comprobación de tipos de datos. Utilizando anotaciones JSDoc o inferencia estática, el compilador valida que las variables y los retornos de función coincidan con los tipos esperados. Las incoherencias como asignar un número a una variable declarada como cadena generan advertencias inmediatas.
  • Advertencias sobre prácticas peligrosas. El programa identifica construcciones que pueden causar comportamientos impredecibles, como el uso de eval, declaraciones con with, modificación de objetos globales o referencias a variables no definidas. Estas advertencias ayudan a prevenir errores difíciles de depurar.
  • Optimización de constantes y propagación de valores. Las expresiones que contienen únicamente valores constantes se calculan en tiempo de compilación. Por ejemplo, 5 * 60 se reemplaza directamente por 300. Las variables que reciben valores fijos se sustituyen por esos valores en todo el código.
  • Inline de funciones pequeñas. Las funciones de pocas líneas que se invocan una o dos veces se insertan directamente en el lugar de la llamada. Esta técnica elimina la sobrecarga de invocación y reduce el tamaño total cuando el cuerpo de la función es más corto que la propia instrucción de llamada.
  • Compactación de propiedades externas con alias. En modo avanzado, el compilador puede renombrar propiedades de objetos que no forman parte de la interfaz pública. Para propiedades que deben permanecer accesibles desde fuera, el desarrollador define un alias mediante la propiedad exportSymbol o anotaciones especiales.
  • Generación de mapas de origen. Closure Compiler produce archivos source map que vinculan el código optimizado con el código fuente original. Esta funcionalidad facilita la depuración en navegadores, mostrando las líneas originales aunque el archivo desplegado esté comprimido y ofuscado.
  • Combinación de múltiples archivos. El compilador acepta varios archivos JavaScript como entrada y los fusiona en un único archivo de salida. Durante este proceso se eliminan dependencias circulares, se reorganiza el orden de las definiciones y se unifican declaraciones duplicadas.
  • Eliminación de código condicional no ejecutable. Cuando una condición depende de una constante definida en tiempo de compilación, el compilador evalúa dicha condición y descarta completamente las ramas que nunca se tomarán. Esta característica se emplea para crear versiones específicas de una aplicación.
  • Conversión de ES3, ES5 o ES6 a versiones inferiores. Closure Compiler puede transformar código escrito en versiones modernas de JavaScript a sintaxis compatible con navegadores antiguos, añadiendo polyfills cuando es necesario y respetando la funcionalidad original del programa.
  • Reporte de nombres renombrados. En modo avanzado, el compilador genera un archivo de texto que lista todos los símbolos originales junto con su nuevo nombre abreviado. Este informe permite verificar que las propiedades externas se hayan conservado correctamente durante la ofuscación.

La historia de desarrollo de Closure Compiler comienza en el año 2009, cuando Google lo liberó como parte del conjunto de herramientas Closure Tools. El programa fue creado originalmente por ingenieros de Google para optimizar sus propias aplicaciones web, como Gmail, Google Docs y Google Maps. El lenguaje de programación empleado en su implementación es Java, lo que permite ejecutarlo en múltiples sistemas operativos sin modificaciones. Desde su lanzamiento, el compilador ha mantenido un desarrollo continuo, incorporando soporte para las nuevas características del lenguaje ECMAScript y mejorando los algoritmos de análisis estático. Entre los desarrolladores principales que contribuyeron a sus primeras versiones se encuentran Michael Bolin y los equipos de infraestructura de JavaScript de Google, quienes diseñaron el sistema de optimización basado en transformaciones sintácticas seguras y análisis de flujo de datos.


Alternativas a Closure Compiler: