Use a versão publicada como origem
O lado antigo é a referência. Trocar os lados refaz o cálculo: remoção vira adição, mudando também a leitura das quebras. Confirme a direção antes de levar contagens para um PR.
Documentos GraphQL
Cole o SDL completo já publicado à esquerda e a versão proposta à direita. A direção altera o significado de remoção e adição.
Insira dois schemas SDL completos ou carregue o exemplo.
Os dois SDL são analisados neste navegador. Não há requisições à API, upload, histórico salvo nem conteúdo inserido na URL.
O GraphQL.js classifica quebras e riscos potenciais. Outras mudanças estruturais e de descontinuação aparecem separadamente, sem promessa de segurança.
Cada SDL aceita até 100.000 caracteres, 20.000 tokens e 100 níveis de aninhamento. A comparação para após 8 segundos.
Insira dois schemas SDL completos ou carregue o exemplo.
Ao comparar schemas GraphQL em uma revisão, um diff textual pode destacar recuos e declarações em outra ordem, mas esconder o que afeta os clientes. Campos, tipos e argumentos são o contrato que precisa ser lido.
O relatório separa estrutura de classificação de risco. GraphQL.js não sinaliza toda adição ou anotação @deprecated como quebra; mesmo assim essas mudanças continuam listadas para que “sem alerta” não seja confundido com prova de segurança.
Ver alterações reais sem ruído de formatação.
Os dois textos SDL são construídos como schemas e comparados por caminho de tipo, campo e argumento. Ao comparar schemas GraphQL assim, mudar a ordem das definições não gera falso positivo, e o campo removido aparece com seu nome.
Um novo valor de enum pode surpreender um cliente com casos exaustivos. Adicionar @deprecated, porém, não apaga o campo. Ao comparar schemas GraphQL, as duas situações e as adições comuns aparecem em grupos distintos.
O lado antigo é a referência. Trocar os lados refaz o cálculo: remoção vira adição, mudando também a leitura das quebras. Confirme a direção antes de levar contagens para um PR.
O padrão aguarda cerca de 350 ms após editar. Se for colar um SDL grande, desative o automático e acione Comparar ou Ctrl/Cmd+Enter quando as duas versões estiverem prontas.
Qualquer edição deixa o relatório anterior desatualizado e bloqueia cópia e download. O erro aponta o lado e, quando possível, linha e coluna. A tela mostra mais itens por lote, mas o arquivo inclui todos.
Tipos, campos, argumentos, inputs, enums, unions e diretivas são comparados por estrutura. Espaços e ordem das definições não contam como mudança de contrato.
GraphQL.js fornece as categorias de quebra e risco potencial, acompanhadas do código da regra. O restante aparece como outra mudança estrutural, sem rótulo automático de segurança. Mudanças incompatíveis ficam separadas das que pedem apenas investigação.
O motivo de @deprecated novo ou alterado ganha registro próprio. Remover de fato um campo já descontinuado continua sendo uma quebra nas regras padrão.
Permitir null em um argumento de mutation antes obrigatório normalmente amplia as entradas aceitas. GraphQL.js não trata essa direção como quebra; torná-lo obrigatório pode rejeitar chamadas antigas sem o argumento.
Acrescentar um valor enum é risco potencial. A consulta existente pode continuar válida, mas um cliente que enumera todos os valores conhecidos talvez não lide com o novo caso.
As duas versões SDL não indicam a intenção de renomear. Ao comparar schemas GraphQL, o tipo antigo aparece removido e o novo aparece adicionado; uma transição gradual precisa ser planejada na API.
Mutation é um campo do tipo raiz Mutation e pode receber @deprecated. A marca mantém chamadas antigas; a remoção posterior ainda é classificada como quebra pelas regras padrão.
Mudar uma resposta non-null para nullable altera suposições de clientes gerados e o GraphQL.js classifica isso como quebra. No sentido inverso, teste se o resolver nunca retorna null.
Seu documento gerou um resultado inesperado?
Coloque as duas versões SDL lado a lado, leia os riscos e demais mudanças e exporte o relatório atual.