#563 · Desarrollo y configuración

Comparador de esquemas GraphQL

Compara dos versiones de un esquema GraphQL para detectar cambios estructurales antes de una revisión o despliegue. Pega ambos SDL en un único campo separados por una línea definida por ti y obtendrás un informe de tipos y campos añadidos o eliminados. El análisis es local y está orientado a diferencias de estructura; no sustituye un verificador completo de breaking changes.

Entrada de texto

Dos esquemas GraphQL
Espacio publicitario

Cómo usar esta herramienta de texto

  1. Pega el esquema A y el esquema B en el cuadro de entrada.
  2. Separa ambos usando exactamente el texto indicado en “Separador entre esquemas”.
  3. Ejecuta la comparación.
  4. Revisa tipos y campos añadidos o eliminados antes de integrar cambios.

Qué hace esta herramienta

Extrae definiciones de tipos y sus campos para comparar la estructura visible de dos SDL GraphQL. El informe ayuda a localizar cambios, pero no clasifica por sí solo todos los breaking changes posibles.

Se divide la entrada en dos documentos, se extraen definiciones type, input, interface y enum mediante reglas de estructura y se comparan conjuntos de tipos y campos por nombre.

Cambios en argumentos, directivas, nullability compleja o semántica de resolvers pueden requerir una herramienta especializada de compatibilidad de esquemas.

Ejemplo

Si el esquema B añade email: String a Usuario, el informe lo muestra como campo añadido dentro del tipo Usuario.

Casos de uso

  • Revisar diferencias antes de desplegar un nuevo esquema.
  • Preparar notas de cambios de una API GraphQL.
  • Detectar eliminaciones accidentales de campos.
  • Comparar SDL generado por dos ramas de desarrollo.

Consejos para obtener mejores resultados

  • Usa SDL completo, no introspection JSON sin convertir.
  • Mantén el mismo separador entre ambos esquemas.
  • Revisa manualmente cambios de argumentos y nullability.
  • Combina el informe con pruebas de clientes para evaluar impacto real.

Detalles del procesamiento

El comparador normaliza nombres y espacios y genera un inventario de definiciones y campos visibles en SDL. Todo ocurre localmente.

No interpreta exhaustivamente extensiones, directivas repetibles, interfaces implementadas ni reglas formales de breaking changes del ecosistema GraphQL.

Preguntas frecuentes

¿Cómo separo los dos esquemas GraphQL dentro del mismo cuadro de texto?

Inserta una línea con el separador configurado, por defecto “--- ESQUEMA B ---”, entre el esquema antiguo y el nuevo.

¿El comparador detecta campos GraphQL eliminados dentro de un tipo?

Sí. Extrae los nombres de campos de tipos compatibles con el análisis y señala los que aparecen en el esquema A pero ya no están en el B.

¿Puede detectar cambios de nullability como String a String!?

El informe se centra en altas y bajas de tipos y campos. Para cambios de firma o nullability con precisión completa conviene usar una herramienta especializada de breaking changes.

¿Puedo comparar introspection JSON directamente?

No. La entrada esperada es SDL GraphQL legible, como definiciones type, input, interface o enum.

¿Los esquemas GraphQL se envían fuera del navegador?

No. La comparación se realiza localmente y no necesita conectarse a tu servidor GraphQL.

Resumen técnico

MóduloFunción
EntradaDos esquemas GraphQL
ProcesamientoSe divide la entrada en dos documentos, se extraen definiciones type, input, interface y enum mediante reglas de estructura y se comparan conjuntos de tipos y campos por nombre.
PrivacidadProcesamiento local en el navegador
ExportaciónTXT y, cuando corresponde, CSV/JSON