#599 · Herramienta para desarrolladores

Composer JSON Validator

Valida composer.json como JSON y aplica comprobaciones prácticas sobre campos habituales de Composer: name, type, require, require-dev, autoload y configuración de dependencias. Informa de errores estructurales y advertencias útiles sin ejecutar Composer, acceder a Packagist ni verificar si una versión concreta existe.

Datos de entrada

composer.json
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega el contenido en el área de entrada o carga un archivo local.
  2. Revisa que el formato corresponda al tipo esperado por la herramienta.
  3. Ejecuta el procesamiento con el botón principal o con Ctrl/Cmd + Enter.
  4. Comprueba el resumen, las métricas y las notas antes de copiar o descargar el resultado.

Qué hace esta herramienta para desarrolladores

Valida composer.json como JSON y aplica comprobaciones prácticas sobre campos habituales de Composer: name, type, require, require-dev, autoload y configuración de dependencias. Informa de errores estructurales y advertencias útiles sin ejecutar Composer, acceder a Packagist ni verificar si una versión concreta existe.

Primero usa JSON.parse. Después comprueba tipos de campos y patrones básicos: name debe seguir vendor/package, require y require-dev deben ser objetos y sus constraints deben ser cadenas. También revisa autoload.psr-4 y detecta dependencias repetidas entre require y require-dev.

No sustituye a composer validate: no carga schemas remotos, no resuelve paquetes y no comprueba disponibilidad en Packagist.

Ejemplo

{"name":"acme/demo","require":{"php":"^8.2"}} → JSON válido, nombre válido y 1 requisito.

Casos de uso

  • Detectar errores antes de ejecutar Composer en CI.
  • Revisar manifests pegados desde documentación.
  • Localizar dependencias duplicadas entre require y require-dev.

Consejos para obtener resultados fiables

  • Trabaja con una copia del archivo antes de sustituir manifests o lockfiles.
  • Revisa manualmente las líneas señaladas como ambiguas o no compatibles.
  • Compara el resultado con el control de versiones para detectar cambios inesperados.
  • No interpretes una extracción local como validación de disponibilidad en un registro remoto.
  • Conserva el lockfile original cuando necesites reproducibilidad exacta.

Detalles del procesamiento

Primero usa JSON.parse. Después comprueba tipos de campos y patrones básicos: name debe seguir vendor/package, require y require-dev deben ser objetos y sus constraints deben ser cadenas. También revisa autoload.psr-4 y detecta dependencias repetidas entre require y require-dev.

No sustituye a composer validate: no carga schemas remotos, no resuelve paquetes y no comprueba disponibilidad en Packagist.

Preguntas frecuentes

¿Equivale a ejecutar composer validate?

No. Realiza validaciones locales útiles, pero no implementa todas las reglas ni el schema oficial completo de Composer.

¿Comprueba si los paquetes existen en Packagist?

No. No hace solicitudes de red ni verifica disponibilidad o versiones publicadas.

¿Valida el campo name de Composer?

Sí. Comprueba el patrón vendor/package con caracteres habituales permitidos.

¿Detecta una dependencia presente en require y require-dev?

Sí. La señala como advertencia para que decidas en qué sección debe quedar.

¿Revisa autoload PSR-4?

Comprueba que autoload.psr-4 sea un objeto y que sus valores sean cadenas o arrays, pero no inspecciona el sistema de archivos.

Resumen del módulo

ElementoDetalle
Entradacomposer.json
ProcesamientoLocal en el navegador
SalidaJSON
Red externaNo requerida