본문으로 건너뛰기

GraphQL 정렬

GraphQL Formatter

쿼리와 SDL을 정렬하고 스키마 기준으로 문서를 검증하며 결과 타입을 보여 줍니다.

GraphQL 문서를 관례적인 형식으로 다시 출력합니다. 필드 하나에 한 줄, 인자에 공백, 선택 깊이만큼 들여쓰기입니다. 2021년 10월 문법 전체를 파싱하므로, 지시자와 인터페이스와 유니온이 든 스키마 파일도 쿼리와 똑같이 통과합니다.

🔒 브라우저 안에서만 처리graphqlformatschema

GraphQL 입력

정렬 결과

토큰 열

입력과 동일

2021년 10월 문법 전체를 파싱합니다. 연산과 프래그먼트는 물론 타입 시스템 언어까지 읽고, 관례적인 형식으로 다시 출력합니다. 주석은 남기고, 쉼표는 무시되는 토큰이라 정리해 없앱니다. 출력이 입력의 토큰을 그대로 담고 있는지 매번 확인합니다.

사용 방법

  1. 문서를 붙여넣거나 파일을 엽니다

    쿼리든 뮤테이션이든 프래그먼트든, `.graphql` 스키마 전체든 됩니다. 이름 없는 연산과 이름 있는 연산 모두 받습니다.

  2. 토큰 열 표시를 봅니다

    실행할 때마다 출력을 다시 토큰화해서 입력과 비교합니다. 배치 말고는 바뀐 것이 없으면 "입력과 동일"이라고 나오고, 그렇지 않으면 눈에 띄게 알립니다.

  3. 결과를 복사하거나 내려받습니다

    내려받기는 MIME 타입이 맞는 `.graphql` 파일이라 스키마 디렉터리에 바로 넣을 수 있습니다.

자주 묻는 질문

쉼표가 왜 없어졌나요?

GraphQL에서 쉼표는 무시되는 토큰입니다. 모양이 있는 공백일 뿐입니다. 관례적인 형식에는 쉼표가 없어서 정리해 없애고, 없애도 뜻은 그대로입니다.

주석은 유지되나요?

유지되고, 실행 뒤 비교가 그것도 확인합니다. 출력의 주석 토큰이 입력의 것과 같아야 합니다. 필드 위의 `# deprecated` 줄을 지우는 포매터는, 다음에 읽는 사람 입장에서는 문서를 망가뜨린 것입니다.

스키마에 맞는지 검증도 하나요?

아니요. 문법만 보고 뜻은 보지 않습니다. 존재하지 않는 필드를 요청하는 쿼리도 문법적으로는 완벽해서 그대로 정렬됩니다. 검증하려면 스키마가 있어야 하는데 이 페이지는 스키마를 가진 적이 없습니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.