#033 · Herramienta para desarrolladores

JavaScript Formatter

Reordena JavaScript compacto para que bloques, sentencias y comentarios resulten más legibles sin ejecutar el código. El formateador usa un analizador ligero que respeta cadenas, plantillas y comentarios mientras inserta saltos e indentación alrededor de llaves y puntos y coma. Está pensado para inspección rápida de snippets, no para sustituir un parser o formatter de proyecto.

Datos de entrada

Código JavaScript
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega JavaScript en el área de entrada.
  2. Elige dos espacios, cuatro espacios o tabuladores.
  3. Decide si quieres conservar líneas vacías existentes.
  4. Ejecuta el formateador.
  5. Revisa el resultado antes de reemplazar código de producción.

Qué hace esta herramienta para desarrolladores

El resultado reorganiza delimitadores estructurales y sangría, manteniendo el contenido de strings, plantillas y comentarios. No evalúa ni modifica nombres de variables.

Un escáner por estados distingue código, strings, template literals, comentarios de línea y comentarios de bloque. Fuera de esos estados, abre/cierra bloques con llaves y separa sentencias por punto y coma.

Al no construir un AST completo, algunos patrones avanzados pueden requerir un formatter basado en parser como Prettier.

Ejemplo

Entrada:

if(ok){run();}

Salida:

if(ok) { run(); }

Casos de uso

  • Leer snippets minificados o pegados desde logs.
  • Preparar ejemplos para documentación.
  • Detectar visualmente bloques anidados.
  • Normalizar rápidamente código antes de una revisión manual.

Consejos para obtener resultados fiables

  • No uses el resultado como sustituto de un formatter con AST en repositorios grandes.
  • Comprueba template literals con expresiones complejas.
  • Ejecuta tests del proyecto tras cualquier cambio de formato automático.
  • Usa 2 espacios si necesitas una salida compacta y habitual en frontend.
  • Conserva líneas vacías solo cuando aporten separación semántica.

Detalles del procesamiento

El procesamiento es local. El escáner evita insertar saltos dentro de strings y comentarios; también cuenta llaves de bloque y comentarios detectados.

No comprende todos los contextos sintácticos de JavaScript, especialmente expresiones regulares ambiguas, JSX y ciertos template literals anidados.

Preguntas frecuentes

¿Este JavaScript Formatter ejecuta el código que pego?

No. Solo procesa texto en el navegador y no usa eval ni ejecuta el JavaScript introducido.

¿Conserva comentarios // y /* ... */ al formatear JavaScript?

Sí. El escáner identifica ambos tipos de comentario y evita tratarlos como delimitadores de código.

¿Puedo usar tabuladores en lugar de espacios?

Sí. El selector de sangría permite dos espacios, cuatro espacios o un tabulador por nivel.

¿El resultado es equivalente a Prettier?

No. Este formatter es ligero y no construye un AST completo, por lo que Prettier sigue siendo preferible para repositorios y sintaxis avanzada.

¿Funciona con JSX o TypeScript?

Puede mejorar fragmentos simples, pero no garantiza un formato correcto para JSX, TSX o TypeScript porque esas gramáticas no se analizan de forma completa.

Resumen técnico

ElementoDetalle
AnalizadorEscáner por estados
Sangría2, 4 espacios o tab
ProtecciónStrings y comentarios
EjecuciónSin eval