Repository: graphql-markdown/graphql-markdown
Pull request #2035 (2025-03-19 22:00:17)

✨ extract more docusaurus specifics
# Description

Updates following manual tests with Astro Starlight: frontmatter and category generation

Also tested Claude AI for test generation... mixed results

# Checklist

- [x] My changes follow the [contributing guidelines](https://github.com/graphql-markdown/graphql-markdown/blob/main/CONTRIBUTING.md) of this project.
- [x] I have performed a self-review of my code.
- [ ] I have made corresponding changes to the documentation.
- [x] I have added tests that prove my fix is effective or that my changes work.
- [x] New and existing unit tests pass locally with my changes.


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_cli&pullRequest=2035&metric=new_coverage&view=list) (required ≥ 80%)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_cli&pullRequest=2035&metric=new_coverage&view=list) (required ≥ 80%)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [76.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_cli&pullRequest=2035&metric=new_coverage&view=list) (required ≥ 80%)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [1 New issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_cli&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [4 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_cli&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_cli&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [84.6% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_cli&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_cli&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_cli&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_diff&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_diff&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_diff&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_utils&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [83.9% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_utils&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_utils&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_logger&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_logger&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_logger&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_core&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_core&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [97.1% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_core&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_core&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_helpers&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_helpers&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_helpers&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_graphql&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_graphql&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_graphql&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [1 Accepted issue](https://sonarcloud.io/project/issues?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_docusaurus&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [100.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_docusaurus&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_docusaurus&pullRequest=2035)


sonarqubecloud[bot]: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=graphql-markdown_printer-legacy&pullRequest=2035&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [94.7% Coverage on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=graphql-markdown_printer-legacy&pullRequest=2035&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=graphql-markdown_printer-legacy&pullRequest=2035)



Patch:
diff --git a/.vscode/settings.json b/.vscode/settings.json
index d1e802e6..54f042b0 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -86,5 +86,6 @@
   "sonarlint.connectedMode.project": {
     "connectionId": "graphql-markdown",
     "projectKey": "graphql-markdown_graphql-markdown"
-  }
+  },
+  "CodeGPT.apiKey": "CodeGPT Plus Beta"
 }
diff --git a/config/jest.config.js b/config/jest.config.js
index af1490cf..fa450745 100644
--- a/config/jest.config.js
+++ b/config/jest.config.js
@@ -1,5 +1,7 @@
+// jest.config.js
 const projectConfig = (name) => ({
   displayName: `@graphql-markdown/${name}`,
+  extensionsToTreatAsEsm: [".ts"],
   prettierPath: null,
   rootDir: `./packages/${name}`,
   roots: ["<rootDir>/src/", "<rootDir>/tests/", "<rootDir>/tests/__mocks__"],
@@ -9,6 +11,7 @@ const projectConfig = (name) => ({
       "ts-jest",
       {
         tsconfig: "<rootDir>/tsconfig.test.json",
+        isolatedModules: true,
       },
     ],
   },
@@ -27,6 +30,7 @@ module.exports = {
   coverageReporters: ["json", "lcov"],
   moduleFileExtensions: ["ts", "js"],
   projects: [
+    projectConfig("cli"),
     projectConfig("core"),
     projectConfig("diff"),
     projectConfig("docusaurus"),
diff --git a/docs/settings.md b/docs/settings.md
index 4bf520ae..d28ea738 100644
--- a/docs/settings.md
+++ b/docs/settings.md
@@ -61,9 +61,9 @@ npm install @graphql-markdown/diff
 
 ## `docOptions`
 
-Use these options to tweak some of the Docusaurus documentation features:
+Use these options to tweak some of the static documentation generator features:
 
-- `frontMatter`: set custom front matter entries, see [Docusaurus documentation](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-docs#markdown-front-matter).
+- `frontMatter`: set custom front matter entries as key/value. If set to `false`, then it will disable the frontmatter and print a level 1 title as page title.
 - `index`: enable/disable the index page for categories/groups, see [Docusaurus documentation](https://docusaurus.io/docs/sidebar/items#generated-index-page).
 
 | Setting                  | CLI flag         | Default |
diff --git a/package-lock.json b/package-lock.json
index bc104d57..83e64ec6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -915,40 +915,6 @@
         "node": ">=14.14"
       }
     },
-    "node_modules/@emnapi/core": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz",
-      "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@emnapi/wasi-threads": "1.0.1",
-        "tslib": "^2.4.0"
-      }
-    },
-    "node_modules/@emnapi/runtime": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
-      "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "tslib": "^2.4.0"
-      }
-    },
-    "node_modules/@emnapi/wasi-threads": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz",
-      "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "tslib": "^2.4.0"
-      }
-    },
     "node_modules/@eslint-community/eslint-utils": {
       "version": "4.4.0",
       "dev": true,
@@ -2501,19 +2467,6 @@
         "resolve": "~1.22.2"
       }
     },
-    "node_modules/@napi-rs/wasm-runtime": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz",
-      "integrity": "sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@emnapi/core": "^1.3.1",
-        "@emnapi/runtime": "^1.3.1",
-        "@tybys/wasm-util": "^0.9.0"
-      }
-    },
     "node_modules/@nodelib/fs.scandir": {
       "version": "2.1.5",
       "license": "MIT",
@@ -3097,17 +3050,6 @@
       "dev": true,
       "license": "Apache-2.0"
     },
-    "node_modules/@tybys/wasm-util": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz",
-      "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "tslib": "^2.4.0"
-      }
-    },
     "node_modules/@types/acorn": {
       "version": "4.0.6",
       "license": "MIT",
@@ -3569,149 +3511,6 @@
         "darwin"
       ]
     },
-    "node_modules/@unrs/rspack-resolver-binding-darwin-x64": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-darwin-x64/-/rspack-resolver-binding-darwin-x64-1.2.2.tgz",
-      "integrity": "sha512-YEdFzPjIbDUCfmehC6eS+AdJYtFWY35YYgWUnqqTM2oe/N58GhNy5yRllxYhxwJ9GcfHoNc6Ubze1yjkNv+9Qg==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "darwin"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-freebsd-x64": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-freebsd-x64/-/rspack-resolver-binding-freebsd-x64-1.2.2.tgz",
-      "integrity": "sha512-TU4ntNXDgPN2giQyyzSnGWf/dVCem5lvwxg0XYvsvz35h5H19WrhTmHgbrULMuypCB3aHe1enYUC9rPLDw45mA==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "freebsd"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-linux-arm-gnueabihf": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm-gnueabihf/-/rspack-resolver-binding-linux-arm-gnueabihf-1.2.2.tgz",
-      "integrity": "sha512-ik3w4/rU6RujBvNWiDnKdXi1smBhqxEDhccNi/j2rHaMjm0Fk49KkJ6XKsoUnD2kZ5xaMJf9JjailW/okfUPIw==",
-      "cpu": [
-        "arm"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-linux-arm64-gnu": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-gnu/-/rspack-resolver-binding-linux-arm64-gnu-1.2.2.tgz",
-      "integrity": "sha512-fp4Azi8kHz6TX8SFmKfyScZrMLfp++uRm2srpqRjsRZIIBzH74NtSkdEUHImR4G7f7XJ+sVZjCc6KDDK04YEpQ==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-linux-arm64-musl": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-arm64-musl/-/rspack-resolver-binding-linux-arm64-musl-1.2.2.tgz",
-      "integrity": "sha512-gMiG3DCFioJxdGBzhlL86KcFgt9HGz0iDhw0YVYPsShItpN5pqIkNrI+L/Q/0gfDiGrfcE0X3VANSYIPmqEAlQ==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-linux-x64-gnu": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-gnu/-/rspack-resolver-binding-linux-x64-gnu-1.2.2.tgz",
-      "integrity": "sha512-n/4n2CxaUF9tcaJxEaZm+lqvaw2gflfWQ1R9I7WQgYkKEKbRKbpG/R3hopYdUmLSRI4xaW1Cy0Bz40eS2Yi4Sw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-linux-x64-musl": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-linux-x64-musl/-/rspack-resolver-binding-linux-x64-musl-1.2.2.tgz",
-      "integrity": "sha512-cHyhAr6rlYYbon1L2Ag449YCj3p6XMfcYTP0AQX+KkQo025d1y/VFtPWvjMhuEsE2lLvtHm7GdJozj6BOMtzVg==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-wasm32-wasi": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-wasm32-wasi/-/rspack-resolver-binding-wasm32-wasi-1.2.2.tgz",
-      "integrity": "sha512-eogDKuICghDLGc32FtP+WniG38IB1RcGOGz0G3z8406dUdjJvxfHGuGs/dSlM9YEp/v0lEqhJ4mBu6X2nL9pog==",
-      "cpu": [
-        "wasm32"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@napi-rs/wasm-runtime": "^0.2.7"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@unrs/rspack-resolver-binding-win32-arm64-msvc": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-arm64-msvc/-/rspack-resolver-binding-win32-arm64-msvc-1.2.2.tgz",
-      "integrity": "sha512-7sWRJumhpXSi2lccX8aQpfFXHsSVASdWndLv8AmD8nDRA/5PBi8IplQVZNx2mYRx6+Bp91Z00kuVqpXO9NfCTg==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "win32"
-      ]
-    },
-    "node_modules/@unrs/rspack-resolver-binding-win32-x64-msvc": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/@unrs/rspack-resolver-binding-win32-x64-msvc/-/rspack-resolver-binding-win32-x64-msvc-1.2.2.tgz",
-      "integrity": "sha512-hewo/UMGP1a7O6FG/ThcPzSJdm/WwrYDNkdGgWl6M18H6K6MSitklomWpT9MUtT5KGj++QJb06va/14QBC4pvw==",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "win32"
-      ]
-    },
     "node_modules/@webassemblyjs/ast": {
       "version": "1.12.1",
       "license": "MIT",
@@ -15025,7 +14824,9 @@
       "license": "MIT",
       "dependencies": {
         "@docusaurus/utils": ">=3.2.0",
-        "@graphql-markdown/cli": "^0.2.0"
+        "@graphql-markdown/cli": "^0.2.0",
+        "@graphql-markdown/logger": "^1.0.5",
+        "@graphql-markdown/utils": "^1.7.1"
       },
       "devDependencies": {
         "@docusaurus/types": "^3.7.0",
@@ -15091,7 +14892,6 @@
       "license": "MIT",
       "dependencies": {
         "@graphql-markdown/graphql": "^1.1.5",
-        "@graphql-markdown/logger": "^1.0.5",
         "@graphql-markdown/utils": "^1.7.1"
       },
       "devDependencies": {
diff --git a/packages/cli/package.json b/packages/cli/package.json
index a6aa540d..6c296ab4 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -23,24 +23,24 @@
   "author": {
     "name": "Gregory Heitz"
   },
-  "main": "dist/cli.js",
-  "types": "dist/cli.d.ts",
+  "main": "dist/index.js",
+  "types": "dist/index.d.ts",
   "bin": {
     "gqlmd": "./dist/main.js"
   },
   "exports": {
     ".": {
       "require": {
-        "types": "./dist/cli.d.ts",
-        "default": "./dist/cli.js"
+        "types": "./dist/index.d.ts",
+        "default": "./dist/index.js"
       },
       "import": {
-        "types": "./dist/cli.d.ts",
-        "default": "./dist/cli.js"
+        "types": "./dist/index.d.ts",
+        "default": "./dist/index.js"
       },
       "default": {
-        "types": "./dist/cli.d.ts",
-        "default": "./dist/cli.js"
+        "types": "./dist/index.d.ts",
+        "default": "./dist/index.js"
       }
     },
     "./package.json": "./package.json"
diff --git a/packages/cli/src/cli.ts b/packages/cli/src/index.ts
similarity index 96%
rename from packages/cli/src/cli.ts
rename to packages/cli/src/index.ts
index 794acbd9..bd171b10 100644
--- a/packages/cli/src/cli.ts
+++ b/packages/cli/src/index.ts
@@ -40,7 +40,10 @@ export const getGraphQLMarkdownCli = (
 ): GraphQLMarkdownCliType => {
   void Logger(loggerModule);
 
-  const isDefaultId = !options.id || options.id === DEFAULT_ID;
+  const isDefaultId =
+    typeof options === "undefined" ||
+    !("id" in options) ||
+    ("id" in options && options.id === DEFAULT_ID);
 
   const cmd = isDefaultId ? COMMAND : `${COMMAND}:${options.id}`;
   const description = isDefaultId
diff --git a/packages/cli/src/main.ts b/packages/cli/src/main.ts
index 8c2e2752..3b669c83 100644
--- a/packages/cli/src/main.ts
+++ b/packages/cli/src/main.ts
@@ -8,7 +8,7 @@ import type {
 import { Command } from "commander";
 import { loadConfig } from "graphql-config";
 
-import { getGraphQLMarkdownCli } from "./cli";
+import { getGraphQLMarkdownCli } from ".";
 
 export const EXTENSION_NAME = "graphql-markdown" as const;
 export const graphQLConfigExtension: GraphQLExtensionDeclaration = () => {
diff --git a/packages/core/src/generator.ts b/packages/core/src/generator.ts
index 48fd934d..6933deb7 100644
--- a/packages/core/src/generator.ts
+++ b/packages/core/src/generator.ts
@@ -4,12 +4,11 @@ import type {
   GeneratorOptions,
   GraphQLDirective,
   Maybe,
-  PackageName,
   SchemaEntity,
   TypeHierarchyObjectType,
 } from "@graphql-markdown/types";
 
-import Logger, { log } from "@graphql-markdown/logger";
+import Logger, { log, LogLevel } from "@graphql-markdown/logger";
 
 import {
   getCustomDirectives,
@@ -54,8 +53,6 @@ export const generateDocFromSchema = async ({
 }: GeneratorOptions): Promise<void> => {
   const start = process.hrtime.bigint();
 
-  const hasMDXSupport = mdxParser ? true : false;
-
   await Logger(loggerModule);
 
   const loaders = await getDocumentLoaders(loadersList);
@@ -97,6 +94,17 @@ export const generateDocFromSchema = async ({
   const rootTypes = getSchemaMap(schema);
   const customDirectives = getCustomDirectives(rootTypes, customDirective);
   const groups = getGroups(rootTypes, groupByDirective);
+
+  const mdxModule = await (!mdxParser
+    ? undefined
+    : import(mdxParser).catch(() => {
+        log(
+          `An error occurred while loading MDX formatter "${mdxParser}"`,
+          LogLevel.warn,
+        );
+        return undefined;
+      }));
+
   const printer = await getPrinter(
     // module mandatory
     printerModule,
@@ -121,7 +129,7 @@ export const generateDocFromSchema = async ({
       printTypeOptions,
       skipDocDirectives,
     },
-    mdxParser as PackageName,
+    mdxModule,
   );
   const renderer = await getRenderer(
     printer,
@@ -135,7 +143,7 @@ export const generateDocFromSchema = async ({
       force,
       hierarchy: printTypeOptions?.hierarchy as TypeHierarchyObjectType,
     },
-    hasMDXSupport,
+    mdxModule,
   );
 
   const pages = await Promise.all(
diff --git a/packages/core/src/printer.ts b/packages/core/src/printer.ts
index 54733ed8..92e02099 100644
--- a/packages/core/src/printer.ts
+++ b/packages/core/src/printer.ts
@@ -11,7 +11,7 @@ export const getPrinter = async (
   printerModule?: Maybe<PackageName>,
   config?: Maybe<PrinterConfig>,
   options?: Maybe<PrinterOptions>,
-  mdxParser?: PackageName,
+  mdxModule?: unknown,
 ): Promise<Printer> => {
   if (typeof printerModule !== "string") {
     throw new Error("Invalid printer module name.");
@@ -27,7 +27,7 @@ export const getPrinter = async (
     );
 
     const { schema, baseURL, linkRoot } = config;
-    await Printer.init(schema, baseURL, linkRoot, { ...options }, mdxParser);
+    await Printer.init(schema, baseURL, linkRoot, { ...options }, mdxModule);
 
     return Printer;
   } catch {
diff --git a/packages/core/src/renderer.ts b/packages/core/src/renderer.ts
index 24dfae37..28358ebf 100644
--- a/packages/core/src/renderer.ts
+++ b/packages/core/src/renderer.ts
@@ -3,6 +3,7 @@ import type {
   Category,
   Maybe,
   MDXString,
+  MDXSupportType,
   Printer,
   RendererDocOptions,
   SchemaEntitiesGroupMap,
@@ -18,7 +19,6 @@ import { isApiType, isDeprecated } from "@graphql-markdown/graphql";
 import {
   copyFile,
   ensureDir,
-  fileExists,
   pathUrl,
   prettifyMarkdown,
   readFile,
@@ -31,7 +31,6 @@ import { log, LogLevel } from "@graphql-markdown/logger";
 import { TypeHierarchy } from "./config";
 
 const DEPRECATED = "deprecated" as const;
-const CATEGORY_YAML = "_category_.yml" as const;
 const CATEGORY_STYLE_CLASS = "graphql-markdown-api-section" as const;
 
 enum SidebarPosition {
@@ -62,13 +61,21 @@ const isHierarchy = (
   return (options?.hierarchy?.[hierarchy] && true) as boolean;
 };
 
+export interface CategoryMetafileOptions {
+  collapsible?: boolean;
+  collapsed?: boolean;
+  sidebarPosition?: number;
+  styleClass?: string;
+}
+
 export class Renderer {
   group: Maybe<SchemaEntitiesGroupMap>;
   outputDir: string;
   baseURL: string;
   prettify: boolean;
   options: Maybe<RendererDocOptions>;
-  hasMDXSupport: boolean;
+  mdxModule: unknown;
+  mdxModuleIndexFileSupport: boolean;
 
   private readonly printer: Printer;
 
@@ -79,7 +86,7 @@ export class Renderer {
     group: Maybe<SchemaEntitiesGroupMap>,
     prettify: boolean,
     docOptions: Maybe<RendererDocOptions>,
-    mdx: boolean = false,
+    mdxModule?: unknown,
   ) {
     this.printer = printer;
     this.group = group;
@@ -87,42 +94,37 @@ export class Renderer {
     this.baseURL = baseURL;
     this.prettify = prettify;
     this.options = docOptions;
-    this.hasMDXSupport = mdx;
+    this.mdxModule = mdxModule;
+    this.mdxModuleIndexFileSupport = this.hasMDXIndexFileSupport(mdxModule);
   }
 
-  async generateCategoryMetafile(
-    category: string,
+  hasMDXIndexFileSupport(
+    module: unknown = this.mdxModule,
+  ): module is Partial<MDXSupportType> &
+    Pick<MDXSupportType, "generateIndexMetafile"> {
+    return !!(
+      module &&
+      typeof module === "object" &&
+      "generateIndexMetafile" in module &&
+      typeof module.generateIndexMetafile === "function"
+    );
+  }
+
+  async generateIndexMetafile(
     dirPath: string,
-    sidebarPosition?: number,
-    styleClass?: string,
-    options: { collapsible: boolean; collapsed: boolean } = {
+    category: string,
+    options: CategoryMetafileOptions = {
       collapsible: true,
       collapsed: true,
     },
   ): Promise<void> {
-    const filePath = join(dirPath, CATEGORY_YAML);
-
-    if (await fileExists(filePath)) {
-      return;
+    if (this.mdxModuleIndexFileSupport) {
+      void (this.mdxModule as MDXSupportType).generateIndexMetafile(
+        dirPath,
+        category,
+        { ...options, index: this.options?.index },
+      );
     }
-
-    await ensureDir(dirPath);
-
-    const label = startCase(category);
-    const link =
-      this.options && this.options.index !== true
-        ? "null"
-        : `\n  type: generated-index\n  title: '${label} overview'`;
-    const className =
-      typeof styleClass === "string" ? `className: ${styleClass}\n` : "";
-    const position =
-      typeof sidebarPosition === "number"
-        ? sidebarPosition
-        : SidebarPosition.FIRST;
-    await saveFile(
-      filePath,
-      `label: ${label}\nposition: ${position}\n${className}link: ${link}\ncollapsible: ${options.collapsible}\ncollapsed: ${options.collapsed}\n`,
-    );
   }
 
   async generateCategoryMetafileType(
@@ -143,23 +145,19 @@ export class Renderer {
     if (useApiGroup) {
       const typeCat = getApiGroupFolder(type, useApiGroup);
       dirPath = join(dirPath, slugify(typeCat));
-      await this.generateCategoryMetafile(
-        typeCat,
-        dirPath,
-        undefined,
-        CATEGORY_STYLE_CLASS,
-        { collapsible: false, collapsed: false },
-      );
+      await this.generateIndexMetafile(dirPath, typeCat, {
+        collapsible: false,
+        collapsed: false,
+        styleClass: CATEGORY_STYLE_CLASS,
+      });
     }
 
     if (this.options?.deprecated === "group" && isDeprecated(type)) {
       dirPath = join(dirPath, slugify(DEPRECATED));
-      await this.generateCategoryMetafile(
-        DEPRECATED,
-        dirPath,
-        SidebarPosition.LAST,
-        DEPRECATED,
-      );
+      await this.generateIndexMetafile(dirPath, DEPRECATED, {
+        sidebarPosition: SidebarPosition.LAST,
+        styleClass: DEPRECATED,
+      });
     }
 
     if (
@@ -167,15 +165,13 @@ export class Renderer {
       rootTypeName in this.group &&
       name in this.group[rootTypeName]!
     ) {
-      dirPath = join(dirPath, slugify(this.group[rootTypeName]![name] ?? ""));
-      await this.generateCategoryMetafile(
-        this.group[rootTypeName]![name] ?? "",
-        dirPath,
-      );
+      const rootGroup = this.group[rootTypeName]![name] ?? "";
+      dirPath = join(dirPath, slugify(rootGroup));
+      await this.generateIndexMetafile(dirPath, rootGroup);
     }
 
     dirPath = join(dirPath, slugify(rootTypeName));
-    await this.generateCategoryMetafile(rootTypeName, dirPath);
+    await this.generateIndexMetafile(dirPath, rootTypeName);
 
     return dirPath;
   }
@@ -223,7 +219,7 @@ export class Renderer {
       /(?<category>[A-Za-z0-9-]+)[\\/]+(?<pageId>[A-Za-z0-9-]+).mdx?$/;
     const PageRegexFlat = /(?<pageId>[A-Za-z0-9-]+).mdx?$/;
 
-    const extension = this.hasMDXSupport ? "mdx" : "md";
+    const extension = this.mdxModule ? "mdx" : "md";
     const fileName = slugify(name);
     const filePath = join(normalize(dirPath), `${fileName}.${extension}`);
 
@@ -296,7 +292,7 @@ export const getRenderer = async (
   group: Maybe<SchemaEntitiesGroupMap>,
   prettify: boolean,
   docOptions: Maybe<RendererDocOptions>,
-  mdx: boolean = false,
+  mdxModule?: unknown,
 ): Promise<InstanceType<typeof Renderer>> => {
   await ensureDir(outputDir, { forceEmpty: docOptions?.force });
   return new Renderer(
@@ -306,6 +302,6 @@ export const getRenderer = async (
     group,
     prettify,
     docOptions,
-    mdx,
+    mdxModule,
   );
 };
diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json
index 6a01322d..9d400988 100644
--- a/packages/docusaurus/package.json
+++ b/packages/docusaurus/package.json
@@ -66,6 +66,8 @@
   },
   "dependencies": {
     "@graphql-markdown/cli": "^0.2.0",
+    "@graphql-markdown/logger": "^1.0.5",
+    "@graphql-markdown/utils": "^1.7.1",
     "@docusaurus/utils": ">=3.2.0"
   },
   "devDependencies": {
diff --git a/packages/docusaurus/src/mdx/category.ts b/packages/docusaurus/src/mdx/category.ts
new file mode 100644
index 00000000..be701b4f
--- /dev/null
+++ b/packages/docusaurus/src/mdx/category.ts
@@ -0,0 +1,50 @@
+import {
+  ensureDir,
+  fileExists,
+  saveFile,
+  startCase,
+} from "@graphql-markdown/utils";
+import { join } from "node:path";
+
+export const CATEGORY_YAML = "_category_.yml" as const;
+
+enum SidebarPosition {
+  FIRST = 1,
+  LAST = 999,
+}
+
+export const generateIndexMetafile = async (
+  dirPath: string,
+  category: string,
+  options?: {
+    index?: boolean;
+    styleClass?: string;
+    sidebarPosition?: number;
+    collapsible?: boolean;
+    collapsed?: boolean;
+  },
+): Promise<void> => {
+  const filePath = join(dirPath, CATEGORY_YAML);
+
+  if (await fileExists(filePath)) {
+    return;
+  }
+
+  const label = startCase(category);
+  const link =
+    options?.index !== true
+      ? "null"
+      : `\n  type: generated-index\n  title: '${label} overview'`;
+  const className =
+    typeof options?.styleClass === "string"
+      ? `className: ${options.styleClass}\n`
+      : "";
+  const position =
+    typeof options?.sidebarPosition === "number"
+      ? options.sidebarPosition
+      : SidebarPosition.FIRST;
+  const content = `label: ${label}\nposition: ${position}\n${className}link: ${link}\ncollapsible: ${options?.collapsible ?? true}\ncollapsed: ${options?.collapsed ?? true}\n`;
+
+  await ensureDir(dirPath);
+  await saveFile(filePath, content);
+};
diff --git a/packages/docusaurus/tsconfig.json b/packages/docusaurus/tsconfig.json
index 0c45bc88..960b2b99 100644
--- a/packages/docusaurus/tsconfig.json
+++ b/packages/docusaurus/tsconfig.json
@@ -2,6 +2,8 @@
   "extends": "../../tsconfig.base.json",
 
   "compilerOptions": {
+    "composite": true,
+
     "rootDir": "src",
     "outDir": "dist",
 
@@ -11,5 +13,9 @@
     }
   },
 
-  "references": [{ "path": "../cli" }, { "path": "../logger" }]
+  "references": [
+    { "path": "../cli" },
+    { "path": "../logger" },
+    { "path": "../utils" }
+  ]
 }
diff --git a/packages/printer-legacy/package.json b/packages/printer-legacy/package.json
index 8f99ea22..004cf4cf 100644
--- a/packages/printer-legacy/package.json
+++ b/packages/printer-legacy/package.json
@@ -57,7 +57,6 @@
   },
   "dependencies": {
     "@graphql-markdown/graphql": "^1.1.5",
-    "@graphql-markdown/logger": "^1.0.5",
     "@graphql-markdown/utils": "^1.7.1"
   },
   "devDependencies": {
diff --git a/packages/printer-legacy/src/badge.ts b/packages/printer-legacy/src/badge.ts
index 7b4be4df..a723029b 100644
--- a/packages/printer-legacy/src/badge.ts
+++ b/packages/printer-legacy/src/badge.ts
@@ -76,7 +76,10 @@ export const printBadge = (
 ): MDXString => {
   const textString = typeof text === "object" ? text.singular : text;
   const formattedText = escapeMDX(textString);
-  return options.formatMDXBadge!({ text: formattedText, classname });
+  return options.formatMDXBadge!({
+    text: formattedText,
+    classname,
+  }) as MDXString;
 };
 
 export const printBadges = (
diff --git a/packages/printer-legacy/src/common.ts b/packages/printer-legacy/src/common.ts
index dcab550f..1b7a69c8 100644
--- a/packages/printer-legacy/src/common.ts
+++ b/packages/printer-legacy/src/common.ts
@@ -73,7 +73,7 @@ export const printWarning = (
   return options.formatMDXAdmonition!(
     { text: formattedText, type: "warning", icon: "⚠️", title },
     options.meta,
-  );
+  ) as string;
 };
 
 export const printDeprecation = (
diff --git a/packages/printer-legacy/src/const/options.ts b/packages/printer-legacy/src/const/options.ts
index c20496c3..052c435a 100644
--- a/packages/printer-legacy/src/const/options.ts
+++ b/packages/printer-legacy/src/const/options.ts
@@ -20,9 +20,7 @@ export enum TypeHierarchy {
 
 export enum SectionLevels {
   NONE = "",
-  LEVEL_3 = "###",
-  LEVEL_4 = "####",
-  LEVEL_5 = "#####",
+  LEVEL = "#",
 }
 
 export const PRINT_TYPE_DEFAULT_OPTIONS: Required<PrinterConfigPrintTypeOptions> =
@@ -40,7 +38,6 @@ export const PRINT_TYPE_DEFAULT_OPTIONS: Required<PrinterConfigPrintTypeOptions>
 export const DEFAULT_OPTIONS: Required<
   Omit<
     PrintTypeOptions,
-    // | keyof MDXSupportType
     | "collapsible"
     | "groups"
     | "level"
@@ -54,7 +51,6 @@ export const DEFAULT_OPTIONS: Required<
   collapsible: Maybe<CollapsibleOption>;
   groups: Maybe<SchemaEntitiesGroupMap>;
   level: Maybe<SectionLevelValue>;
-  mdxSupport: boolean;
   onlyDocDirectives: GraphQLDirective[];
   parentType: Maybe<string>;
   schema: Maybe<GraphQLSchema>;
diff --git a/packages/printer-legacy/src/directive.ts b/packages/printer-legacy/src/directive.ts
index 59172e7e..6378ea44 100644
--- a/packages/printer-legacy/src/directive.ts
+++ b/packages/printer-legacy/src/directive.ts
@@ -53,7 +53,7 @@ export const printCustomDirective = (
     return undefined;
   }
 
-  return `${SectionLevels.LEVEL_4} ${typeNameLink}${MARKDOWN_EOL} ${description}${MARKDOWN_EOL} `;
+  return `${SectionLevels.LEVEL.repeat(4)} ${typeNameLink}${MARKDOWN_EOL} ${description}${MARKDOWN_EOL} `;
 };
 
 export const printCustomDirectives = (
@@ -83,7 +83,7 @@ export const printCustomDirectives = (
 
   const content = directives.join(MARKDOWN_EOP);
 
-  return `${SectionLevels.LEVEL_3} Directives${MARKDOWN_EOP}${content}${MARKDOWN_EOP}`;
+  return `${SectionLevels.LEVEL.repeat(3)} Directives${MARKDOWN_EOP}${content}${MARKDOWN_EOP}`;
 };
 
 export const getCustomTags = (
diff --git a/packages/printer-legacy/src/frontmatter.ts b/packages/printer-legacy/src/frontmatter.ts
index 341e836e..ab14d20f 100644
--- a/packages/printer-legacy/src/frontmatter.ts
+++ b/packages/printer-legacy/src/frontmatter.ts
@@ -1,98 +1,20 @@
-import type { FrontMatterOptions, Maybe } from "@graphql-markdown/types";
-import { toString } from "@graphql-markdown/utils";
-import {
-  FRONT_MATTER_DELIMITER,
-  MARKDOWN_CODE_INDENTATION,
-  MARKDOWN_EOL,
-} from "./const/strings";
-
-const tabs = (indentation: number = 0): string => {
-  return MARKDOWN_CODE_INDENTATION.repeat(indentation);
-};
-
-const formatFrontMatterObject = (
-  props: unknown,
-  indentation: number = 0,
-  prefix?: string,
-): string[] => {
-  const frontMatter: string[] = [];
-
-  if (!props || typeof props !== "object") {
-    return frontMatter;
-  }
-
-  for (const [key, value] of Object.entries(props)) {
-    frontMatter.push(
-      // eslint-disable-next-line @typescript-eslint/no-use-before-define
-      ...formatFrontMatterProp({ [key]: value }, indentation + 1, prefix),
-    );
-    prefix = " ".repeat(prefix?.length ?? 0);
-  }
-
-  return frontMatter;
-};
-
-const formatFrontMatterList = (
-  prop: unknown,
-  indentation: number = 0,
-  prefix: string = "- ",
-): string[] => {
-  const frontMatter: string[] = [];
-
-  if (!Array.isArray(prop)) {
-    return frontMatter;
-  }
-
-  prop.forEach((entry: unknown) => {
-    if (typeof entry === "object") {
-      frontMatter.push(
-        ...formatFrontMatterObject(entry, -1, prefix).map((item) => {
-          return `${tabs(indentation)}${item}`;
-        }),
-      );
-    } else {
-      frontMatter.push(`${tabs(indentation)}- ${toString(entry)}`);
-    }
-  });
-
-  return frontMatter;
-};
-
-export const formatFrontMatterProp = (
-  prop: unknown,
-  indentation: number = 0,
-  prefix?: string,
-): string[] => {
-  if (typeof prop === "undefined" || prop === null) {
-    return [];
-  }
-
-  const tabs = MARKDOWN_CODE_INDENTATION.repeat(indentation);
-  const [key, value] = Object.entries(prop)[0];
-  const index = `${tabs}${prefix ?? ""}${key}:`;
-
-  switch (true) {
-    case typeof value !== "string" && Array.isArray(value):
-      return [index, ...formatFrontMatterList(value, indentation + 1, prefix)];
-    case typeof value === "object" && value !== null:
-      return [index, ...formatFrontMatterObject(value, indentation, prefix)];
-    default:
-      return [`${index} ${value}`];
-  }
-};
+import type {
+  FrontMatterOptions,
+  Maybe,
+  PrintTypeOptions,
+} from "@graphql-markdown/types";
+import { formatFrontMatterObject } from "@graphql-markdown/utils";
 
 export const printFrontMatter = (
-  id: string,
   title: string,
-  props?: Maybe<FrontMatterOptions>,
+  props: Maybe<FrontMatterOptions>,
+  options: PrintTypeOptions,
 ): string => {
-  const frontMatter = formatFrontMatterObject({ ...props, id, title }, -1);
+  const frontMatter = formatFrontMatterObject({ ...props, title }, -1);
 
-  const header = [
-    FRONT_MATTER_DELIMITER,
-    ...frontMatter,
-    FRONT_MATTER_DELIMITER,
-  ];
+  if (!options.formatMDXFrontmatter) {
+    return "";
+  }
 
-  return header.join(MARKDOWN_EOL);
+  return options.formatMDXFrontmatter(props, frontMatter) as string;
 };
diff --git a/packages/printer-legacy/src/graphql/scalar.ts b/packages/printer-legacy/src/graphql/scalar.ts
index 05771080..c2775b76 100644
--- a/packages/printer-legacy/src/graphql/scalar.ts
+++ b/packages/printer-legacy/src/graphql/scalar.ts
@@ -21,7 +21,7 @@ export const printSpecification = (
   const url = type.specifiedByURL;
 
   // Needs newline between "export const specifiedByLinkCss" and markdown header to prevent compilation error in docusaurus
-  return `${SectionLevels.LEVEL_3} ${options.formatMDXSpecifiedByLink!(url)}${MARKDOWN_EOP}` as MDXString;
+  return `${SectionLevels.LEVEL.repeat(3)} ${options.formatMDXSpecifiedByLink!(url)}${MARKDOWN_EOP}` as MDXString;
 };
 
 export const printScalarMetadata = (
diff --git a/packages/printer-legacy/src/link.ts b/packages/printer-legacy/src/link.ts
index cfc7b5c8..4d21a2fa 100644
--- a/packages/printer-legacy/src/link.ts
+++ b/packages/printer-legacy/src/link.ts
@@ -225,7 +225,7 @@ export const toLink = (
   } as TypeLink;
 
   if (options.formatMDXLink) {
-    return options.formatMDXLink(link);
+    return options.formatMDXLink(link) as TypeLink;
   }
 
   return link;
@@ -312,5 +312,5 @@ export const printParentLink = (
       ...options,
       withAttributes: true,
     }),
-  );
+  ) as MDXString;
 };
diff --git a/packages/printer-legacy/src/mdx/index.ts b/packages/printer-legacy/src/mdx/index.ts
index 8ca8bfb4..a1d8c52f 100644
--- a/packages/printer-legacy/src/mdx/index.ts
+++ b/packages/printer-legacy/src/mdx/index.ts
@@ -1,28 +1,29 @@
-/* eslint-disable @typescript-eslint/no-unused-vars */
 import type {
   AdmonitionType,
   Badge,
+  FrontMatterOptions,
   Maybe,
   MDXString,
   MDXSupportType,
   MetaOptions,
-  PackageName,
   TypeLink,
 } from "@graphql-markdown/types";
 
-import { MARKDOWN_EOL, MARKDOWN_EOP } from "../const/strings";
+import {
+  FRONT_MATTER_DELIMITER,
+  MARKDOWN_EOL,
+  MARKDOWN_EOP,
+} from "../const/strings";
 
-import { log, LogLevel } from "@graphql-markdown/logger";
-
-const formatMDXBadge = ({ text, classname }: Badge): MDXString => {
-  return `<mark class="gqlmd-mdx-badge">${text as string}</mark>` as MDXString;
+const formatMDXBadge = (badge: Badge): MDXString => {
+  return `<mark class="gqlmd-mdx-badge">${badge.text as string}</mark>` as MDXString;
 };
 
 const formatMDXAdmonition = (
   { text, title, type, icon }: AdmonitionType,
-  meta: Maybe<MetaOptions>,
+  _meta: Maybe<MetaOptions>,
 ): MDXString => {
-  return `${MARKDOWN_EOP}<fieldset class="gqlmd-mdx-admonition-fieldset">${MARKDOWN_EOL}<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-${type.toLocaleLowerCase()}">${icon ?? type.toUpperCase()}</span> **${title}**</legend>${MARKDOWN_EOL}<span>${text}</span>${MARKDOWN_EOL}</fieldset>` as MDXString;
+  return `${MARKDOWN_EOP}<fieldset class="gqlmd-mdx-admonition-fieldset">${MARKDOWN_EOL}<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-${type.toLocaleLowerCase()}">${icon ?? type.toUpperCase()} ${title}</span></legend>${MARKDOWN_EOL}<span>${text}</span>${MARKDOWN_EOL}</fieldset>` as MDXString;
 };
 
 const formatMDXBullet = (text: string = ""): MDXString => {
@@ -56,6 +57,17 @@ const formatMDXLink = (link: TypeLink): TypeLink => {
   return link;
 };
 
+const formatMDXFrontmatter = (
+  _props: Maybe<FrontMatterOptions>,
+  formatted: Maybe<string[]>,
+): MDXString => {
+  return formatted
+    ? ([FRONT_MATTER_DELIMITER, ...formatted, FRONT_MATTER_DELIMITER].join(
+        MARKDOWN_EOL,
+      ) as MDXString)
+    : ("" as MDXString);
+};
+
 export const mdxDeclaration = "";
 
 const defaultModule = {
@@ -63,42 +75,33 @@ const defaultModule = {
   formatMDXBadge,
   formatMDXBullet,
   formatMDXDetails,
+  formatMDXFrontmatter,
   formatMDXLink,
   formatMDXNameEntity,
   formatMDXSpecifiedByLink,
   mdxDeclaration,
-  mdxSupport: false,
 } as MDXSupportType;
 
 export const mdxModule = async (
-  mdxPackage?: Maybe<PackageName>,
+  mdxPackage?: Record<string, unknown>,
 ): Promise<Readonly<MDXSupportType>> => {
   if (!mdxPackage) {
     return defaultModule;
   }
-  return import(mdxPackage)
-    .then((_module: Record<string, unknown>) => {
-      const module = (_module.default ?? _module) as Record<string, unknown>;
-      return {
-        formatMDXAdmonition: module.formatMDXAdmonition ?? formatMDXAdmonition,
-        formatMDXBadge: module.formatMDXBadge ?? formatMDXBadge,
-        formatMDXBullet: module.formatMDXBullet ?? formatMDXBullet,
-        formatMDXDetails: module.formatMDXDetails ?? formatMDXDetails,
-        formatMDXLink: module.formatMDXLink ?? formatMDXLink,
-        formatMDXNameEntity: module.formatMDXNameEntity ?? formatMDXNameEntity,
-        formatMDXSpecifiedByLink:
-          module.formatMDXSpecifiedByLink ?? formatMDXSpecifiedByLink,
-        mdxDeclaration: module.mdxDeclaration ?? mdxDeclaration,
-        mdxSupport: true,
-      } as MDXSupportType;
-    })
-    .catch(() => {
-      log(
-        `An error occurred while loading MDX formatter "${mdxPackage}"`,
-        LogLevel.warn,
-      );
-      return defaultModule;
-    });
+
+  const module = (mdxPackage.default ?? mdxPackage) as Record<string, unknown>;
+  return {
+    formatMDXAdmonition: module.formatMDXAdmonition ?? formatMDXAdmonition,
+    formatMDXBadge: module.formatMDXBadge ?? formatMDXBadge,
+    formatMDXBullet: module.formatMDXBullet ?? formatMDXBullet,
+    formatMDXDetails: module.formatMDXDetails ?? formatMDXDetails,
+    formatMDXFrontmatter: module.formatMDXFrontmatter ?? formatMDXFrontmatter,
+    formatMDXLink: module.formatMDXLink ?? formatMDXLink,
+    formatMDXNameEntity: module.formatMDXNameEntity ?? formatMDXNameEntity,
+    formatMDXSpecifiedByLink:
+      module.formatMDXSpecifiedByLink ?? formatMDXSpecifiedByLink,
+    mdxDeclaration: module.mdxDeclaration ?? mdxDeclaration,
+  } as MDXSupportType;
 };
 
 export default defaultModule;
diff --git a/packages/printer-legacy/src/printer.ts b/packages/printer-legacy/src/printer.ts
index 50a934c2..72c36691 100644
--- a/packages/printer-legacy/src/printer.ts
+++ b/packages/printer-legacy/src/printer.ts
@@ -8,7 +8,6 @@ import type {
   MDXSupportType,
   Maybe,
   MetaOptions,
-  PackageName,
   PrintTypeOptions,
   PrinterConfigPrintTypeOptions,
   SchemaEntitiesGroupMap,
@@ -102,7 +101,7 @@ export class Printer implements IPrinter {
       customDirectives: undefined,
       groups: undefined,
     },
-    mdxParser?: PackageName,
+    mdxParser?: Record<string, unknown>,
   ): Promise<void> {
     if (typeof Printer.options !== "undefined") {
       return;
@@ -145,13 +144,13 @@ export class Printer implements IPrinter {
     title: string,
     options: PrintTypeOptions,
   ): string => {
-    if (!options.mdxSupport) {
-      return "";
+    if (options.frontMatter === false) {
+      return `# ${title}${MARKDOWN_EOP}`;
     }
 
     const fmOptions = options.frontMatter ?? DEFAULT_OPTIONS.frontMatter;
 
-    return printFrontMatter(id, title, fmOptions);
+    return printFrontMatter(title, { ...fmOptions, id }, options);
   };
 
   static readonly printCode = (
@@ -217,7 +216,7 @@ export class Printer implements IPrinter {
       return "";
     }
 
-    return `${SectionLevels.LEVEL_3} Example${MARKDOWN_EOP}${MARKDOWN_SOC}${example}${MARKDOWN_EOC}${MARKDOWN_EOP}`;
+    return `${SectionLevels.LEVEL.repeat(3)} Example${MARKDOWN_EOP}${MARKDOWN_SOC}${example}${MARKDOWN_EOC}${MARKDOWN_EOP}`;
   };
 
   static readonly printTypeMetadata = (
@@ -322,6 +321,8 @@ export class Printer implements IPrinter {
       metadata,
       example,
       relations,
-    ].join(MARKDOWN_EOP) as MDXString;
+    ]
+      .join(MARKDOWN_EOP)
+      .trim() as MDXString;
   };
 }
diff --git a/packages/printer-legacy/src/relation.ts b/packages/printer-legacy/src/relation.ts
index 3f14a50e..292ca05f 100644
--- a/packages/printer-legacy/src/relation.ts
+++ b/packages/printer-legacy/src/relation.ts
@@ -88,7 +88,7 @@ export const printRelationOf = <T>(
     })
     .join(options.formatMDXBullet!()) as MDXString;
 
-  return `${SectionLevels.LEVEL_3} ${section}${MARKDOWN_EOP}${content}${MARKDOWN_EOP}` as MDXString;
+  return `${SectionLevels.LEVEL.repeat(3)} ${section}${MARKDOWN_EOP}${content}${MARKDOWN_EOP}` as MDXString;
 };
 
 export const printRelations = (
diff --git a/packages/printer-legacy/src/section.ts b/packages/printer-legacy/src/section.ts
index 8c39fc86..c77c2f5a 100644
--- a/packages/printer-legacy/src/section.ts
+++ b/packages/printer-legacy/src/section.ts
@@ -2,7 +2,6 @@ import type {
   GraphQLArgument,
   MDXString,
   PrintTypeOptions,
-  SectionLevel,
   SectionLevelValue,
 } from "@graphql-markdown/types";
 
@@ -16,20 +15,12 @@ import { printCustomTags } from "./directive";
 import { DEPRECATED, MARKDOWN_EOL, MARKDOWN_EOP } from "./const/strings";
 import { SectionLevels } from "./const/options";
 
-export const sectionLevels: SectionLevel[] = [
-  SectionLevels.LEVEL_3 as SectionLevelValue,
-  SectionLevels.LEVEL_4 as SectionLevelValue,
-  SectionLevels.LEVEL_5 as SectionLevelValue,
-];
-
 export const printSectionItem = <T>(
   type: T,
   options: PrintTypeOptions,
 ): MDXString | string => {
   const level =
-    "level" in options && typeof options.level === "string"
-      ? options.level
-      : SectionLevels.LEVEL_4;
+    "level" in options && typeof options.level === "number" ? options.level : 4;
 
   if (!hasPrintableDirective(type, options)) {
     return "";
@@ -43,7 +34,7 @@ export const printSectionItem = <T>(
   const badges = printBadges(type, options);
   const tags = printCustomTags(type, options);
   const parentTypeLink = printParentLink(type, options);
-  const title = `${level} ${typeNameLink}${parentTypeLink} ${badges} ${tags}${MARKDOWN_EOL}`;
+  const title = `${SectionLevels.LEVEL.repeat(level)} ${typeNameLink}${parentTypeLink} ${badges} ${tags}${MARKDOWN_EOL}`;
 
   const description = printDescription(type, options, "")
     .trim()
@@ -54,7 +45,7 @@ export const printSectionItem = <T>(
     // eslint-disable-next-line @typescript-eslint/no-use-before-define
     section += printSectionItems(type.args as GraphQLArgument[], {
       ...options,
-      level: SectionLevels.LEVEL_5 as SectionLevelValue,
+      level: 5 as SectionLevelValue,
       parentType:
         typeof options.parentType === "undefined"
           ? type.name
@@ -74,9 +65,7 @@ export const printSectionItems = <V>(
   }
 
   const level = (
-    "level" in options && typeof options.level === "string"
-      ? options.level
-      : SectionLevels.LEVEL_4
+    "level" in options && typeof options.level === "number" ? options.level : 4
   ) as SectionLevelValue;
 
   return values
@@ -102,19 +91,17 @@ export const printSection = <V>(
   }
 
   const level = (
-    "level" in options && typeof options.level === "string"
-      ? options.level
-      : SectionLevels.LEVEL_3
+    "level" in options && typeof options.level === "number" ? options.level : 3
   ) as SectionLevelValue;
 
-  const levelPosition = sectionLevels.indexOf(level);
-
   const [openSection, closeSection] = ((): MDXString[] | string[] => {
     if (
       typeof options.collapsible?.dataOpen === "string" &&
       typeof options.collapsible.dataClose === "string"
     ) {
-      return options.formatMDXDetails!(options.collapsible).split(`\r`);
+      return options.formatMDXDetails!(options.collapsible).split(
+        `\r`,
+      ) as MDXString[];
     }
     return [MARKDOWN_EOP, MARKDOWN_EOP];
   })();
@@ -122,16 +109,15 @@ export const printSection = <V>(
   const items = printSectionItems(values, {
     ...options,
     collapsible: undefined, // do not propagate collapsible
-    level: (levelPosition > -1
-      ? sectionLevels[levelPosition + 1]
-      : undefined) as SectionLevelValue,
+    level:
+      level >= 3 && level <= 5 ? ((level + 1) as SectionLevelValue) : undefined,
   });
 
   if (items === "") {
     return ""; // do not print section is no items printed
   }
 
-  return `${level} ${section}${openSection}${items}${closeSection}` as MDXString;
+  return `${SectionLevels.LEVEL.repeat(level)} ${section}${openSection}${items}${closeSection}` as MDXString;
 };
 
 export const printMetadataSection = <T, V>(
@@ -171,7 +157,7 @@ export const printMetadataSection = <T, V>(
       const deprecatedMeta = printSection(deprecated, "", {
         ...options,
         parentType: type.name as string,
-        level: SectionLevels.NONE as SectionLevelValue,
+        level: 0 as SectionLevelValue,
         collapsible: {
           dataOpen: DEPRECATED,
           dataClose: DEPRECATED,
diff --git a/packages/printer-legacy/tsconfig.json b/packages/printer-legacy/tsconfig.json
index dc5be53d..c4782d21 100644
--- a/packages/printer-legacy/tsconfig.json
+++ b/packages/printer-legacy/tsconfig.json
@@ -13,9 +13,5 @@
     }
   },
 
-  "references": [
-    { "path": "../graphql" },
-    { "path": "../logger" },
-    { "path": "../utils" }
-  ]
+  "references": [{ "path": "../graphql" }, { "path": "../utils" }]
 }
diff --git a/packages/types/src/core.d.ts b/packages/types/src/core.d.ts
index db8a2d03..f0f92fa6 100644
--- a/packages/types/src/core.d.ts
+++ b/packages/types/src/core.d.ts
@@ -7,7 +7,36 @@ import type { CustomDirective } from "./helpers";
 
 import type { Maybe } from "./utils";
 
-export type FrontMatterOptions = Record<string, unknown>;
+export type FrontMatterOptions = Record<string, unknown> | false;
+
+export interface MDXSupportType {
+  generateIndexMetafile: (
+    dirPath: string,
+    category: string,
+    ...args: unknown[]
+  ) => Promise<void> | void;
+  formatMDXAdmonition: (
+    { text, title, type, icon }: AdmonitionType,
+    meta: Maybe<MetaOptions>,
+  ) => MDXString;
+  formatMDXBadge: ({ text, classname }: Badge) => MDXString;
+  formatMDXBullet: (text?: string) => MDXString;
+  formatMDXDetails: ({
+    dataOpen,
+    dataClose,
+  }: {
+    dataOpen?: Maybe<string>;
+    dataClose?: Maybe<string>;
+  }) => MDXString;
+  formatMDXLink: (link: TypeLink) => TypeLink;
+  formatMDXNameEntity: (name: string, parentType?: Maybe<string>) => MDXString;
+  formatMDXSpecifiedByLink: (url: string) => MDXString;
+  formatMDXFrontmatter: (
+    props: Maybe<FrontMatterOptions>,
+    formatted: Maybe<string[]>,
+  ) => MDXString;
+  mdxDeclaration: string;
+}
 
 export interface ApiGroupOverrideType {
   operations?: string;
diff --git a/packages/types/src/printer.d.ts b/packages/types/src/printer.d.ts
index 5abe7446..8aecaea2 100644
--- a/packages/types/src/printer.d.ts
+++ b/packages/types/src/printer.d.ts
@@ -1,6 +1,7 @@
 import type {
   ConfigPrintTypeOptions,
   FrontMatterOptions,
+  MDXSupportType,
   TypeDeprecatedOption,
   TypeExampleSectionOption,
   TypeHierarchyObjectType,
@@ -13,27 +14,6 @@ import type {
 import type { CustomDirectiveMap } from "./helpers";
 import type { Maybe, MDXString } from "./utils";
 
-export interface MDXSupportType {
-  formatMDXAdmonition: (
-    { text, title, type, icon }: AdmonitionType,
-    meta: Maybe<MetaOptions>,
-  ) => MDXString;
-  formatMDXBadge: ({ text, classname }: Badge) => MDXString;
-  formatMDXBullet: (text?: string) => MDXString;
-  formatMDXDetails: ({
-    dataOpen,
-    dataClose,
-  }: {
-    dataOpen?: Maybe<string>;
-    dataClose?: Maybe<string>;
-  }) => MDXString;
-  formatMDXLink: (link: TypeLink) => TypeLink;
-  formatMDXNameEntity: (name: string, parentType?: Maybe<string>) => MDXString;
-  formatMDXSpecifiedByLink: (url: string) => MDXString;
-  mdxDeclaration: string;
-  mdxSupport: boolean;
-}
-
 export type RootTypeName =
   | "DIRECTIVE"
   | "ENUM"
@@ -55,7 +35,7 @@ export interface MetaOptions {
 }
 
 export interface AdmonitionType {
-  icon: Maybe<string>;
+  icon?: Maybe<string>;
   text: string;
   title: Maybe<string>;
   type: string;
@@ -100,11 +80,10 @@ export type PrintTypeOptions = Partial<MDXSupportType> & {
   withAttributes?: boolean;
 };
 
-export type SectionLevelValue = string & {
+export type SectionLevelValue = {
   _opaque: typeof SECTION_LEVEL_VALUE;
-};
+} & (0 | 3 | 4 | 5);
 declare const SECTION_LEVEL_VALUE: unique symbol;
-export type SectionLevel = SectionLevelValue | "####" | "#####";
 
 export interface Badge {
   text: TypeLocale | string;
@@ -143,7 +122,7 @@ export abstract class IPrinter {
     baseURL: string,
     linkRoot: string,
     options: Maybe<PrinterOptions>,
-    mdxParser?: PackageName,
+    mdxModule?: unknown,
   ): Promise<void>;
   static printHeader(
     id: string,
diff --git a/packages/utils/src/frontmatter.ts b/packages/utils/src/frontmatter.ts
new file mode 100644
index 00000000..fa5b31ff
--- /dev/null
+++ b/packages/utils/src/frontmatter.ts
@@ -0,0 +1,75 @@
+import { toString } from "./string";
+
+const tabs = (indentation: number = 0): string => {
+  return "  ".repeat(indentation);
+};
+
+export const formatFrontMatterObject = (
+  props: unknown,
+  indentation: number = 0,
+  prefix?: string,
+): string[] => {
+  const frontMatter: string[] = [];
+
+  if (!props || typeof props !== "object") {
+    return frontMatter;
+  }
+
+  for (const [key, value] of Object.entries(props)) {
+    frontMatter.push(
+      // eslint-disable-next-line @typescript-eslint/no-use-before-define
+      ...formatFrontMatterProp({ [key]: value }, indentation + 1, prefix),
+    );
+    prefix = " ".repeat(prefix?.length ?? 0);
+  }
+
+  return frontMatter;
+};
+
+export const formatFrontMatterList = (
+  prop: unknown,
+  indentation: number = 0,
+  prefix: string = "- ",
+): string[] => {
+  const frontMatter: string[] = [];
+
+  if (!Array.isArray(prop)) {
+    return frontMatter;
+  }
+
+  prop.forEach((entry: unknown) => {
+    if (typeof entry === "object") {
+      frontMatter.push(
+        ...formatFrontMatterObject(entry, -1, prefix).map((item) => {
+          return `${tabs(indentation)}${item}`;
+        }),
+      );
+    } else {
+      frontMatter.push(`${tabs(indentation)}- ${toString(entry)}`);
+    }
+  });
+
+  return frontMatter;
+};
+
+export const formatFrontMatterProp = (
+  prop: unknown,
+  indentation: number = 0,
+  prefix?: string,
+): string[] => {
+  if (typeof prop === "undefined" || prop === null) {
+    return [];
+  }
+
+  const [key, value] = Object.entries(prop)[0];
+  const index = `${tabs(indentation)}${prefix ?? ""}${key}:`;
+
+  switch (true) {
+    case typeof value !== "string" && Array.isArray(value):
+      return [index, ...formatFrontMatterList(value, indentation + 1, prefix)];
+    case typeof value === "object" && value !== null:
+      return [index, ...formatFrontMatterObject(value, indentation, prefix)];
+    default:
+      return [`${index} ${value}`];
+  }
+};
diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts
index 06b9479b..04560e88 100644
--- a/packages/utils/src/index.ts
+++ b/packages/utils/src/index.ts
@@ -1,6 +1,7 @@
-export * from "./fs";
-export * from "./prettier";
 export * from "./array";
+export * from "./frontmatter";
+export * from "./fs";
 export * from "./object";
+export * from "./prettier";
 export * from "./string";
 export * as pathUrl from "./url";
diff --git a/packages/utils/src/prettier.ts b/packages/utils/src/prettier.ts
index 86a7faea..f46e56bd 100644
--- a/packages/utils/src/prettier.ts
+++ b/packages/utils/src/prettier.ts
@@ -6,10 +6,6 @@
 
 import type { LoggerType } from "@graphql-markdown/types";
 
-/* istanbul ignore file */
-
-// Stryker disable all
-
 /**
  * Prettify a string using {@link https://prettier.io/docs/en/api#prettierformatsource-options | prettier.format}.
  *
@@ -37,7 +33,7 @@ export const prettify = async (
     if ("logger" in global && global.logger) {
       (global.logger as LoggerType)._log("Prettier is not found");
     } else {
-      console.log("Prettier is not found");
+      global.console.log("Prettier is not found");
     }
     return undefined;
   }
diff --git a/packages/utils/src/url.ts b/packages/utils/src/url.ts
index 4d342528..e192c6f9 100644
--- a/packages/utils/src/url.ts
+++ b/packages/utils/src/url.ts
@@ -1,4 +1,3 @@
-/* istanbul ignore file */
 /**
  * Alias `path.posix` to normalize URL handling on Windows.
  *


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index a8778b07..5f85931b 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -24,14 +24,15 @@ jobs:
       matrix:
         package:
           [
-            "docusaurus",
+            "cli",
             "core",
             "diff",
-            "printer-legacy",
-            "utils",
+            "docusaurus",
+            "graphql",
             "helpers",
             "logger",
-            "graphql",
+            "printer-legacy",
+            "utils",
           ]
 
     steps:
diff --git a/packages/cli/tests/unit/index.test.ts b/packages/cli/tests/unit/index.test.ts
new file mode 100644
index 00000000..743d2ebf
--- /dev/null
+++ b/packages/cli/tests/unit/index.test.ts
@@ -0,0 +1,617 @@
+/* eslint-disable @typescript-eslint/no-require-imports */
+// packages/cli/test/index.test.ts
+import type { Options } from "@graphql-markdown/types";
+import { getGraphQLMarkdownCli, runGraphQLMarkdown } from "../../src/index";
+
+// Mock dependencies
+jest.mock(
+  "@graphql-markdown/core",
+  () => {
+    return {
+      buildConfig: jest
+        .fn()
+        .mockImplementation(async (config): Promise<Options> => {
+          return Promise.resolve(config);
+        }),
+      generateDocFromSchema: jest.fn().mockResolvedValue(undefined),
+    };
+  },
+  { virtual: true },
+);
+
+jest.mock("@graphql-markdown/logger", () => {
+  return jest.fn().mockImplementation(() => {
+    return {
+      info: jest.fn(),
+      error: jest.fn(),
+      warn: jest.fn(),
+      debug: jest.fn(),
+    };
+  });
+});
+
+jest.mock("graphql-config", () => {
+  return {
+    loadConfig: jest.fn().mockResolvedValue({
+      getDefault: jest.fn().mockReturnValue({
+        schema: "./schema.graphql",
+        documents: "./src/**/*.graphql",
+        extensions: {
+          "graphql-markdown": {
+            rootPath: "./docs",
+            baseURL: "api",
+          },
+        },
+      }),
+    }),
+  };
+});
+
+describe("CLI Module", () => {
+  beforeEach(() => {
+    jest.clearAllMocks();
+  });
+
+  describe("getGraphQLMarkdownCli", () => {
+    test("returns a configured commander command", () => {
+      expect.assertions(3);
+
+      const options = {
+        schema: "./schema.graphql",
+        rootPath: "./docs",
+      };
+      const loggerModule = "@docusaurus/logger";
+      const mdxPackage = "@graphql-markdown/docusaurus/mdx";
+
+      const command = getGraphQLMarkdownCli(options, loggerModule, mdxPackage);
+
+      expect(command).toBeDefined();
+      expect(command.description()).toBe(
+        "Generate GraphQL Schema Documentation",
+      );
+      expect(command.options).toMatchInlineSnapshot(`
+[
+  Option {
+    "defaultValue": undefined,
+    "description": "Schema location",
+    "flags": "-s, --schema <schema>",
+    "long": "--schema",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-s",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Root folder for doc generation",
+    "flags": "-r, --root <rootPath>",
+    "long": "--root",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-r",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Base URL to be used by static generator",
+    "flags": "-b, --base <baseURL>",
+    "long": "--base",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-b",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Root for links in documentation",
+    "flags": "-l, --link <linkRoot>",
+    "long": "--link",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-l",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "File location for doc landing page",
+    "flags": "-h, --homepage <homepage>",
+    "long": "--homepage",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-h",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Schema entity hierarchy: \`api\`, \`entity\`, \`flat\`",
+    "flags": "--hierarchy <hierarchy>",
+    "long": "--hierarchy",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable code section for types",
+    "flags": "--noCode",
+    "long": "--noCode",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable example section for types",
+    "flags": "--noExample",
+    "long": "--noExample",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable parent type name as field prefix",
+    "flags": "--noParentType",
+    "long": "--noParentType",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable related types sections",
+    "flags": "--noRelatedType",
+    "long": "--noRelatedType",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable badges for types",
+    "flags": "--noTypeBadges",
+    "long": "--noTypeBadges",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Enable generated index for categories",
+    "flags": "--index",
+    "long": "--index",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Force document generation",
+    "flags": "-f, --force",
+    "long": "--force",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+    "short": "-f",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Set diff method",
+    "flags": "-d, --diff <diffMethod>",
+    "long": "--diff",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-d",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Set temp dir for schema diff",
+    "flags": "-t, --tmp <tmpDir>",
+    "long": "--tmp",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-t",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Group documentation by directive",
+    "flags": "--groupByDirective <@directive(field|=fallback)>",
+    "long": "--groupByDirective",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Only print types with matching directive",
+    "flags": "--only <@directive...>",
+    "long": "--only",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Skip types with matching directive",
+    "flags": "--skip <@directive...>",
+    "long": "--skip",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Option for printing deprecated entities: \`default\`, \`group\` or \`skip\`",
+    "flags": "--deprecated <option>",
+    "long": "--deprecated",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Prettify generated files",
+    "flags": "--pretty",
+    "long": "--pretty",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Print configuration (for debugging)",
+    "flags": "--config",
+    "long": "--config",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": "@graphql-markdown/docusaurus/mdx",
+    "description": "Set MDX package processor",
+    "flags": "--mdxParser <mdxParser>",
+    "long": "--mdxParser",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+]
+`);
+    });
+  });
+
+  test("returns a configured commander command with ID", () => {
+    expect.assertions(2);
+
+    const options = {
+      id: "test",
+      schema: "./schema.graphql",
+      rootPath: "./docs",
+    };
+    const loggerModule = "@docusaurus/logger";
+    const mdxPackage = "@graphql-markdown/docusaurus/mdx";
+
+    const command = getGraphQLMarkdownCli(options, loggerModule, mdxPackage);
+
+    expect(command).toBeDefined();
+    expect(command.description()).toBe(
+      "Generate GraphQL Schema Documentation for configuration with id test",
+    );
+  });
+
+  test("returns a configured commander command without customMdxParser", () => {
+    expect.assertions(2);
+
+    const options = {
+      schema: "./schema.graphql",
+      rootPath: "./docs",
+    };
+
+    const command = getGraphQLMarkdownCli(options);
+
+    expect(command).toBeDefined();
+    expect(command.options).toMatchInlineSnapshot(`
+[
+  Option {
+    "defaultValue": undefined,
+    "description": "Schema location",
+    "flags": "-s, --schema <schema>",
+    "long": "--schema",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-s",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Root folder for doc generation",
+    "flags": "-r, --root <rootPath>",
+    "long": "--root",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-r",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Base URL to be used by static generator",
+    "flags": "-b, --base <baseURL>",
+    "long": "--base",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-b",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Root for links in documentation",
+    "flags": "-l, --link <linkRoot>",
+    "long": "--link",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-l",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "File location for doc landing page",
+    "flags": "-h, --homepage <homepage>",
+    "long": "--homepage",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-h",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Schema entity hierarchy: \`api\`, \`entity\`, \`flat\`",
+    "flags": "--hierarchy <hierarchy>",
+    "long": "--hierarchy",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable code section for types",
+    "flags": "--noCode",
+    "long": "--noCode",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable example section for types",
+    "flags": "--noExample",
+    "long": "--noExample",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable parent type name as field prefix",
+    "flags": "--noParentType",
+    "long": "--noParentType",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable related types sections",
+    "flags": "--noRelatedType",
+    "long": "--noRelatedType",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Disable badges for types",
+    "flags": "--noTypeBadges",
+    "long": "--noTypeBadges",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Enable generated index for categories",
+    "flags": "--index",
+    "long": "--index",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Force document generation",
+    "flags": "-f, --force",
+    "long": "--force",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+    "short": "-f",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Set diff method",
+    "flags": "-d, --diff <diffMethod>",
+    "long": "--diff",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-d",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Set temp dir for schema diff",
+    "flags": "-t, --tmp <tmpDir>",
+    "long": "--tmp",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+    "short": "-t",
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Group documentation by directive",
+    "flags": "--groupByDirective <@directive(field|=fallback)>",
+    "long": "--groupByDirective",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Only print types with matching directive",
+    "flags": "--only <@directive...>",
+    "long": "--only",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Skip types with matching directive",
+    "flags": "--skip <@directive...>",
+    "long": "--skip",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Option for printing deprecated entities: \`default\`, \`group\` or \`skip\`",
+    "flags": "--deprecated <option>",
+    "long": "--deprecated",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": true,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Prettify generated files",
+    "flags": "--pretty",
+    "long": "--pretty",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+  Option {
+    "defaultValue": undefined,
+    "description": "Print configuration (for debugging)",
+    "flags": "--config",
+    "long": "--config",
+    "mandatory": false,
+    "negate": false,
+    "optional": false,
+    "required": false,
+  },
+]
+`);
+  });
+
+  describe("runGraphQLMarkdown", () => {
+    test("runs documentation generation with provided options", async () => {
+      expect.assertions(1);
+
+      const options = {
+        schema: "./schema.graphql",
+        rootPath: "./docs",
+      };
+      const cliOptions = {};
+      const loggerModule = "@docusaurus/logger";
+
+      await runGraphQLMarkdown(options, cliOptions, loggerModule);
+
+      expect(
+        require("@graphql-markdown/core").generateDocFromSchema,
+      ).toHaveBeenCalled();
+    });
+
+    test("handles errors during documentation generation", async () => {
+      expect.assertions(1);
+
+      const error = new Error("Generation failed");
+      require("@graphql-markdown/core").generateDocFromSchema.mockRejectedValueOnce(
+        error,
+      );
+
+      const options = {
+        schema: "./schema.graphql",
+      };
+
+      await expect(runGraphQLMarkdown(options, {})).rejects.toThrow(
+        "Generation failed",
+      );
+    });
+
+    test("prints JSON configuration if --config flag is set", async () => {
+      expect.assertions(2);
+
+      const options = {
+        schema: "./schema.graphql",
+        rootPath: "./docs",
+      };
+      const cliOptions = { config: true };
+
+      const spy = jest
+        .spyOn(global.console, "dir")
+        .mockImplementation(() => {});
+
+      await runGraphQLMarkdown(options, cliOptions);
+
+      expect(spy).toHaveBeenCalledWith(options, { depth: null });
+      expect(
+        require("@graphql-markdown/core").generateDocFromSchema,
+      ).not.toHaveBeenCalled();
+    });
+  });
+});
diff --git a/packages/core/tests/integration/__snapshots__/generator.spec.ts.snap b/packages/core/tests/integration/__snapshots__/generator.spec.ts.snap
index c58b82a2..0cd0462d 100644
--- a/packages/core/tests/integration/__snapshots__/generator.spec.ts.snap
+++ b/packages/core/tests/integration/__snapshots__/generator.spec.ts.snap
@@ -3,103 +3,41 @@
 exports[`renderer generateDocFromSchema() Markdown document structure from GraphQL schema is correct when using api hierarchy 1`] = `
 {
   "generated.md": "Dummy homepage for tweet.graphql",
-  "operations/_category_.yml": "label: Operations
-position: 1
-className: graphql-markdown-api-section
-link: null
-collapsible: false
-collapsed: false
-",
-  "operations/directives/_category_.yml": "label: Directives
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "operations/directives/include.md": "include",
-  "operations/directives/skip.md": "skip",
-  "operations/mutations/_category_.yml": "label: Mutations
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "operations/mutations/add-course.md": "add-course",
-  "operations/mutations/drop-course.md": "drop-course",
-  "operations/mutations/update-gpa.md": "update-gpa",
-  "operations/mutations/update-grade.md": "update-grade",
-  "operations/queries/_category_.yml": "label: Queries
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "operations/queries/all-courses.md": "all-courses",
-  "operations/queries/course.md": "course",
-  "operations/queries/gpa.md": "gpa",
-  "operations/queries/math-courses.md": "math-courses",
-  "operations/queries/science-courses.md": "science-courses",
-  "operations/queries/search-role.md": "search-role",
-  "operations/queries/un-weighted-gpa.md": "un-weighted-gpa",
-  "operations/queries/weighted-gpa.md": "weighted-gpa",
-  "types/_category_.yml": "label: Types
-position: 1
-className: graphql-markdown-api-section
-link: null
-collapsible: false
-collapsed: false
-",
-  "types/directives/_category_.yml": "label: Directives
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "types/directives/deprecated.md": "deprecated",
-  "types/directives/doc.md": "doc",
-  "types/directives/no-doc.md": "no-doc",
-  "types/directives/one-of.md": "one-of",
-  "types/directives/public.md": "public",
-  "types/directives/specified-by.md": "specified-by",
-  "types/enums/_category_.yml": "label: Enums
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "types/enums/roles.md": "roles",
-  "types/interfaces/_category_.yml": "label: Interfaces
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "types/interfaces/record.md": "record",
-  "types/objects/_category_.yml": "label: Objects
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "types/objects/course.md": "course",
-  "types/objects/department-information.md": "department-information",
-  "types/objects/semester.md": "semester",
-  "types/objects/unused-type.md": "unused-type",
-  "types/scalars/_category_.yml": "label: Scalars
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "types/scalars/boolean.md": "boolean",
-  "types/scalars/date.md": "date",
-  "types/scalars/email-address.md": "email-address",
-  "types/scalars/id.md": "id",
-  "types/scalars/int.md": "int",
-  "types/scalars/phone-number.md": "phone-number",
-  "types/scalars/string.md": "string",
-  "types/scalars/time.md": "time",
-  "types/scalars/url.md": "url",
+  "operations/directives/include.mdx": "include",
+  "operations/directives/skip.mdx": "skip",
+  "operations/mutations/add-course.mdx": "add-course",
+  "operations/mutations/drop-course.mdx": "drop-course",
+  "operations/mutations/update-gpa.mdx": "update-gpa",
+  "operations/mutations/update-grade.mdx": "update-grade",
+  "operations/queries/all-courses.mdx": "all-courses",
+  "operations/queries/course.mdx": "course",
+  "operations/queries/gpa.mdx": "gpa",
+  "operations/queries/math-courses.mdx": "math-courses",
+  "operations/queries/science-courses.mdx": "science-courses",
+  "operations/queries/search-role.mdx": "search-role",
+  "operations/queries/un-weighted-gpa.mdx": "un-weighted-gpa",
+  "operations/queries/weighted-gpa.mdx": "weighted-gpa",
+  "types/directives/deprecated.mdx": "deprecated",
+  "types/directives/doc.mdx": "doc",
+  "types/directives/no-doc.mdx": "no-doc",
+  "types/directives/one-of.mdx": "one-of",
+  "types/directives/public.mdx": "public",
+  "types/directives/specified-by.mdx": "specified-by",
+  "types/enums/roles.mdx": "roles",
+  "types/interfaces/record.mdx": "record",
+  "types/objects/course.mdx": "course",
+  "types/objects/department-information.mdx": "department-information",
+  "types/objects/semester.mdx": "semester",
+  "types/objects/unused-type.mdx": "unused-type",
+  "types/scalars/boolean.mdx": "boolean",
+  "types/scalars/date.mdx": "date",
+  "types/scalars/email-address.mdx": "email-address",
+  "types/scalars/id.mdx": "id",
+  "types/scalars/int.mdx": "int",
+  "types/scalars/phone-number.mdx": "phone-number",
+  "types/scalars/string.mdx": "string",
+  "types/scalars/time.mdx": "time",
+  "types/scalars/url.mdx": "url",
 }
 `;
 
@@ -149,120 +87,42 @@ exports[`renderer generateDocFromSchema() Markdown document structure from Graph
 
 exports[`renderer generateDocFromSchema() Markdown document structure from GraphQL schema is correct when using grouping 1`] = `
 {
-  "course/_category_.yml": "label: Course
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "course/mutations/_category_.yml": "label: Mutations
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "course/mutations/add-course.md": "add-course",
-  "course/mutations/drop-course.md": "drop-course",
-  "course/queries/_category_.yml": "label: Queries
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "course/queries/all-courses.md": "all-courses",
-  "course/queries/course.md": "course",
-  "course/queries/math-courses.md": "math-courses",
-  "course/queries/science-courses.md": "science-courses",
+  "course/mutations/add-course.mdx": "add-course",
+  "course/mutations/drop-course.mdx": "drop-course",
+  "course/queries/all-courses.mdx": "all-courses",
+  "course/queries/course.mdx": "course",
+  "course/queries/math-courses.mdx": "math-courses",
+  "course/queries/science-courses.mdx": "science-courses",
   "generated.md": "Dummy homepage for tweet.graphql",
-  "grade/_category_.yml": "label: Grade
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "grade/mutations/_category_.yml": "label: Mutations
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "grade/mutations/update-gpa.md": "update-gpa",
-  "grade/mutations/update-grade.md": "update-grade",
-  "grade/queries/_category_.yml": "label: Queries
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "grade/queries/gpa.md": "gpa",
-  "grade/queries/un-weighted-gpa.md": "un-weighted-gpa",
-  "grade/queries/weighted-gpa.md": "weighted-gpa",
-  "misc/_category_.yml": "label: Misc
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/directives/_category_.yml": "label: Directives
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/directives/deprecated.md": "deprecated",
-  "misc/directives/doc.md": "doc",
-  "misc/directives/include.md": "include",
-  "misc/directives/no-doc.md": "no-doc",
-  "misc/directives/one-of.md": "one-of",
-  "misc/directives/public.md": "public",
-  "misc/directives/skip.md": "skip",
-  "misc/directives/specified-by.md": "specified-by",
-  "misc/enums/_category_.yml": "label: Enums
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/enums/roles.md": "roles",
-  "misc/interfaces/_category_.yml": "label: Interfaces
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/interfaces/record.md": "record",
-  "misc/objects/_category_.yml": "label: Objects
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/objects/course.md": "course",
-  "misc/objects/department-information.md": "department-information",
-  "misc/objects/semester.md": "semester",
-  "misc/objects/unused-type.md": "unused-type",
-  "misc/queries/_category_.yml": "label: Queries
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/queries/search-role.md": "search-role",
-  "misc/scalars/_category_.yml": "label: Scalars
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "misc/scalars/boolean.md": "boolean",
-  "misc/scalars/date.md": "date",
-  "misc/scalars/email-address.md": "email-address",
-  "misc/scalars/id.md": "id",
-  "misc/scalars/int.md": "int",
-  "misc/scalars/phone-number.md": "phone-number",
-  "misc/scalars/string.md": "string",
-  "misc/scalars/time.md": "time",
-  "misc/scalars/url.md": "url",
+  "grade/mutations/update-gpa.mdx": "update-gpa",
+  "grade/mutations/update-grade.mdx": "update-grade",
+  "grade/queries/gpa.mdx": "gpa",
+  "grade/queries/un-weighted-gpa.mdx": "un-weighted-gpa",
+  "grade/queries/weighted-gpa.mdx": "weighted-gpa",
+  "misc/directives/deprecated.mdx": "deprecated",
+  "misc/directives/doc.mdx": "doc",
+  "misc/directives/include.mdx": "include",
+  "misc/directives/no-doc.mdx": "no-doc",
+  "misc/directives/one-of.mdx": "one-of",
+  "misc/directives/public.mdx": "public",
+  "misc/directives/skip.mdx": "skip",
+  "misc/directives/specified-by.mdx": "specified-by",
+  "misc/enums/roles.mdx": "roles",
+  "misc/interfaces/record.mdx": "record",
+  "misc/objects/course.mdx": "course",
+  "misc/objects/department-information.mdx": "department-information",
+  "misc/objects/semester.mdx": "semester",
+  "misc/objects/unused-type.mdx": "unused-type",
+  "misc/queries/search-role.mdx": "search-role",
+  "misc/scalars/boolean.mdx": "boolean",
+  "misc/scalars/date.mdx": "date",
+  "misc/scalars/email-address.mdx": "email-address",
+  "misc/scalars/id.mdx": "id",
+  "misc/scalars/int.mdx": "int",
+  "misc/scalars/phone-number.mdx": "phone-number",
+  "misc/scalars/string.mdx": "string",
+  "misc/scalars/time.mdx": "time",
+  "misc/scalars/url.mdx": "url",
 }
 `;
 
@@ -270,91 +130,37 @@ exports[`renderer generateDocFromSchema() Markdown document structure from Graph
 
 exports[`renderer generateDocFromSchema() generates Markdown document structure from GraphQL schema 1`] = `
 {
-  "directives/_category_.yml": "label: Directives
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "directives/deprecated.md": "deprecated",
-  "directives/include.md": "include",
-  "directives/one-of.md": "one-of",
-  "directives/skip.md": "skip",
-  "directives/specified-by.md": "specified-by",
-  "enums/_category_.yml": "label: Enums
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "enums/media-type.md": "media-type",
+  "directives/deprecated.mdx": "deprecated",
+  "directives/include.mdx": "include",
+  "directives/one-of.mdx": "one-of",
+  "directives/skip.mdx": "skip",
+  "directives/specified-by.mdx": "specified-by",
+  "enums/media-type.mdx": "media-type",
   "generated.md": "Dummy homepage for tweet.graphql",
-  "inputs/_category_.yml": "label: Inputs
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "inputs/tweet-content.md": "tweet-content",
-  "interfaces/_category_.yml": "label: Interfaces
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "interfaces/node.md": "node",
-  "mutations/_category_.yml": "label: Mutations
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "mutations/create-tweet.md": "create-tweet",
-  "mutations/delete-tweet.md": "delete-tweet",
-  "mutations/mark-tweet-read.md": "mark-tweet-read",
-  "objects/_category_.yml": "label: Objects
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "objects/media.md": "media",
-  "objects/meta.md": "meta",
-  "objects/notification.md": "notification",
-  "objects/stat.md": "stat",
-  "objects/tweet.md": "tweet",
-  "objects/user.md": "user",
-  "queries/_category_.yml": "label: Queries
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "queries/notifications-meta.md": "notifications-meta",
-  "queries/tweet.md": "tweet",
-  "queries/tweets-meta.md": "tweets-meta",
-  "queries/tweets.md": "tweets",
-  "queries/user.md": "user",
-  "queries/users.md": "users",
-  "scalars/_category_.yml": "label: Scalars
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "scalars/boolean.md": "boolean",
-  "scalars/date.md": "date",
-  "scalars/id.md": "id",
-  "scalars/int.md": "int",
-  "scalars/sri.md": "sri",
-  "scalars/string.md": "string",
-  "scalars/url.md": "url",
-  "subscriptions/_category_.yml": "label: Subscriptions
-position: 1
-link: null
-collapsible: true
-collapsed: true
-",
-  "subscriptions/notifications.md": "notifications",
+  "inputs/tweet-content.mdx": "tweet-content",
+  "interfaces/node.mdx": "node",
+  "mutations/create-tweet.mdx": "create-tweet",
+  "mutations/delete-tweet.mdx": "delete-tweet",
+  "mutations/mark-tweet-read.mdx": "mark-tweet-read",
+  "objects/media.mdx": "media",
+  "objects/meta.mdx": "meta",
+  "objects/notification.mdx": "notification",
+  "objects/stat.mdx": "stat",
+  "objects/tweet.mdx": "tweet",
+  "objects/user.mdx": "user",
+  "queries/notifications-meta.mdx": "notifications-meta",
+  "queries/tweet.mdx": "tweet",
+  "queries/tweets-meta.mdx": "tweets-meta",
+  "queries/tweets.mdx": "tweets",
+  "queries/user.mdx": "user",
+  "queries/users.mdx": "users",
+  "scalars/boolean.mdx": "boolean",
+  "scalars/date.mdx": "date",
+  "scalars/id.mdx": "id",
+  "scalars/int.mdx": "int",
+  "scalars/sri.mdx": "sri",
+  "scalars/string.mdx": "string",
+  "scalars/url.mdx": "url",
+  "subscriptions/notifications.mdx": "notifications",
 }
 `;
diff --git a/packages/core/tests/integration/generator.spec.ts b/packages/core/tests/integration/generator.spec.ts
index e8c45425..fb151ec2 100644
--- a/packages/core/tests/integration/generator.spec.ts
+++ b/packages/core/tests/integration/generator.spec.ts
@@ -1,4 +1,5 @@
-import { join } from "node:path";
+/* eslint-disable @typescript-eslint/no-base-to-string */
+import path, { join } from "node:path";
 
 import { vol } from "memfs";
 jest.mock("fs");
@@ -20,6 +21,18 @@ import { Printer } from "@graphql-markdown/printer-legacy";
 jest.mock("@graphql-markdown/diff");
 import * as diff from "@graphql-markdown/diff";
 
+jest.mock(
+  "mdx-parser-mock",
+  () => {
+    return {
+      generateIndexMetafile: (dirPath: string, category: string): string => {
+        return path.join(dirPath, category).toLocaleLowerCase();
+      },
+    };
+  },
+  { virtual: true },
+);
+
 import { generateDocFromSchema } from "../../src/generator";
 import {
   DEFAULT_OPTIONS,
@@ -66,6 +79,7 @@ describe("renderer", () => {
             "@graphql-tools/graphql-file-loader" as PackageName,
         },
         metatags: [],
+        mdxParser: "mdx-parser-mock" as PackageName,
         onlyDocDirective: [],
         outputDir: "/output",
         prettify: false,
@@ -101,6 +115,7 @@ describe("renderer", () => {
           ["GraphQLFileLoader" as ClassName]:
             "@graphql-tools/graphql-file-loader" as PackageName,
         },
+        mdxParser: "mdx-parser-mock" as PackageName,
         metatags: [],
         onlyDocDirective: [],
         outputDir: "/output",
@@ -146,6 +161,7 @@ describe("renderer", () => {
           ["GraphQLFileLoader" as ClassName]:
             "@graphql-tools/graphql-file-loader" as PackageName,
         },
+        mdxParser: "mdx-parser-mock" as PackageName,
         metatags: [],
         onlyDocDirective: [],
         outputDir: "/output",
@@ -183,6 +199,7 @@ describe("renderer", () => {
           ["GraphQLFileLoader" as ClassName]:
             "@graphql-tools/graphql-file-loader" as PackageName,
         },
+        mdxParser: "mdx-parser-mock" as PackageName,
         metatags: [],
         onlyDocDirective: [],
         outputDir: "/output",
diff --git a/packages/core/tests/unit/generator.test.ts b/packages/core/tests/unit/generator.test.ts
index 1532c4cf..3b34c34e 100644
--- a/packages/core/tests/unit/generator.test.ts
+++ b/packages/core/tests/unit/generator.test.ts
@@ -78,6 +78,7 @@ describe("generator", () => {
     beforeEach(() => {
       // silent console
       jest.spyOn(global.console, "info").mockImplementation(() => {});
+      jest.spyOn(global.console, "warn").mockImplementation(() => {});
       jest.spyOn(global.console, "error").mockImplementation(() => {});
     });
 
@@ -93,12 +94,11 @@ describe("generator", () => {
       return new GraphQLDirective({ name, locations: [] });
     };
 
-    test.each([
-      [undefined, false],
-      ["custom-mdx", true],
-    ])(
+    test.each([[undefined], ["custom-mdx"]])(
       "passes options to Printer and Renderer with mdxParser set to %s",
-      async (mdxParser, hasMDXSupport) => {
+      async (mdxParser) => {
+        expect.assertions(2);
+
         jest.spyOn(CoreDiff, "hasChanges").mockResolvedValueOnce(true);
         jest
           .spyOn(GraphQL, "getDocumentLoaders")
@@ -144,7 +144,7 @@ describe("generator", () => {
               expect.objectContaining({ name: "docDirective" }),
             ],
           },
-          mdxParser,
+          undefined,
         );
         expect(rendererSpy).toHaveBeenCalledWith(
           {},
@@ -157,7 +157,7 @@ describe("generator", () => {
             deprecated: options.printTypeOptions!.deprecated,
             hierarchy: options.printTypeOptions!.hierarchy,
           },
-          hasMDXSupport,
+          undefined,
         );
       },
     );
diff --git a/packages/core/tests/unit/renderer.test.ts b/packages/core/tests/unit/renderer.test.ts
index 7101ef82..956e089c 100644
--- a/packages/core/tests/unit/renderer.test.ts
+++ b/packages/core/tests/unit/renderer.test.ts
@@ -5,6 +5,7 @@ import type {
   ApiGroupOverrideType,
   IPrinter,
   MDXString,
+  PackageName,
   RendererDocOptions,
   SchemaEntity,
   TypeDeprecatedOption,
@@ -32,6 +33,7 @@ jest.mock("@graphql-markdown/utils", (): unknown => {
     fileExists: jest.fn(),
     saveFile: jest.fn(),
     copyFile: jest.fn(),
+    readFile: jest.fn(),
   };
 });
 import * as Utils from "@graphql-markdown/utils";
@@ -41,6 +43,7 @@ jest.mock("@graphql-markdown/graphql", (): unknown => {
     __esModule: true,
     ...jest.requireActual("@graphql-markdown/graphql"),
     isDeprecated: jest.fn(),
+    isApiType: jest.fn(),
   };
 });
 import * as GraphQL from "@graphql-markdown/graphql";
@@ -69,6 +72,11 @@ describe("renderer", () => {
         undefined,
         DEFAULT_OPTIONS.pretty!,
         DEFAULT_RENDERER_OPTIONS,
+        {
+          generateIndexMetafile: jest.fn((dirPath, category) => {
+            return path.join(dirPath, category).toLocaleLowerCase();
+          }),
+        },
       );
 
       // silent console
@@ -98,7 +106,7 @@ describe("renderer", () => {
 
         expect(meta).toEqual({ category: "Foobar", slug: "foobar/foo-bar" });
         expect(spy).toHaveBeenCalledWith(
-          `${output}/foo-bar.md`,
+          `${output}/foo-bar.mdx`,
           "Lorem ipsum",
           undefined,
         );
@@ -126,12 +134,52 @@ describe("renderer", () => {
 
         expect(meta).toEqual({ category: "schema", slug: "foo-bar" });
         expect(spy).toHaveBeenCalledWith(
-          `${output}/foo-bar.md`,
+          `${output}/foo-bar.mdx`,
           "Lorem ipsum",
           undefined,
         );
       });
 
+      test("creates entity page with MDX extension when hasMDXSupport is true", async () => {
+        expect.assertions(1);
+
+        jest
+          .spyOn(Printer, "printType")
+          .mockReturnValue("Lorem ipsum" as MDXString);
+        const spy = jest.spyOn(Utils, "saveFile");
+
+        jest.replaceProperty(rendererInstance, "mdxModule", {});
+
+        const output = "/output/foobar";
+        await rendererInstance.renderTypeEntities(output, "FooBar", "FooBar");
+
+        expect(spy).toHaveBeenCalledWith(
+          `${output}/foo-bar.mdx`,
+          "Lorem ipsum",
+          undefined,
+        );
+      });
+
+      test("applies prettify function when prettify is true", async () => {
+        expect.assertions(1);
+
+        jest
+          .spyOn(Printer, "printType")
+          .mockReturnValue("Lorem ipsum" as MDXString);
+        const spy = jest.spyOn(Utils, "saveFile");
+
+        jest.replaceProperty(rendererInstance, "prettify", true);
+
+        const output = "/output/foobar";
+        await rendererInstance.renderTypeEntities(output, "FooBar", "FooBar");
+
+        expect(spy).toHaveBeenCalledWith(
+          `${output}/foo-bar.mdx`,
+          "Lorem ipsum",
+          Utils.prettifyMarkdown,
+        );
+      });
+
       test("do nothing if type is not defined", async () => {
         expect.assertions(1);
 
@@ -153,9 +201,7 @@ describe("renderer", () => {
           throw new Error();
         });
 
-        const spy = jest
-          .spyOn(global.console, "warn")
-          .mockImplementationOnce(() => {});
+        const spy = jest.spyOn(global.console, "warn");
 
         const meta = await rendererInstance.renderTypeEntities(
           "test",
@@ -186,7 +232,7 @@ describe("renderer", () => {
 
         expect(meta).toBeUndefined();
         expect(spy).toHaveBeenCalledWith(
-          `An error occurred while processing file test/foo-bar.md for type "TestType"`,
+          `An error occurred while processing file test/foo-bar.mdx for type "TestType"`,
         );
       });
     });
@@ -205,6 +251,30 @@ describe("renderer", () => {
           "Test Homepage",
         );
       });
+
+      test("replaces template variables in homepage content", async () => {
+        expect.assertions(1);
+
+        jest
+          .spyOn(Utils, "readFile")
+          .mockResolvedValueOnce(
+            "baseURL: ##baseURL## - Generated: ##generated-date-time##",
+          );
+        const spy = jest.spyOn(Utils, "saveFile");
+
+        // Mock Date to have consistent test results
+        const mockDate = new Date(2023, 0, 1, 12, 0, 0);
+        jest.spyOn(global, "Date").mockImplementation(() => {
+          return mockDate as unknown as Date;
+        });
+
+        await rendererInstance.renderHomepage("/assets/generated.md");
+
+        expect(spy).toHaveBeenCalledWith(
+          "/output/generated.md",
+          `baseURL: /graphql - Generated: ${mockDate.toLocaleString()}`,
+        );
+      });
     });
 
     describe("renderRootTypes()", () => {
@@ -236,146 +306,53 @@ describe("renderer", () => {
 
         expect(spy).toHaveBeenNthCalledWith(
           1,
-          "/output/types/objects/foo.md",
+          "/output/types/objects/foo.mdx",
           "content",
           undefined,
         );
         expect(spy).toHaveBeenNthCalledWith(
           2,
-          "/output/types/objects/bar.md",
+          "/output/types/objects/bar.mdx",
           "content",
           undefined,
         );
       });
-    });
 
-    describe("generateCategoryMetafile()", () => {
-      test("generate _category_.yml file", async () => {
+      test("returns undefined if type is not an object", async () => {
         expect.assertions(1);
 
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
-        const spy = jest.spyOn(Utils, "saveFile");
-
-        await rendererInstance.generateCategoryMetafile(category, outputPath);
+        const result = await rendererInstance.renderRootTypes("objects", null);
 
-        expect(spy).toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 1\nlink: null\ncollapsible: true\ncollapsed: true\n`,
-        );
+        expect(result).toBeUndefined();
       });
 
-      test("generate _category_.yml file with options override", async () => {
-        expect.assertions(1);
-
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
-        const spy = jest.spyOn(Utils, "saveFile");
-
-        await rendererInstance.generateCategoryMetafile(
-          category,
-          outputPath,
-          undefined,
-          undefined,
-          { collapsed: false, collapsible: false },
-        );
-
-        expect(spy).toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 1\nlink: null\ncollapsible: false\ncollapsed: false\n`,
-        );
-      });
-
-      test("generate _category_.yml file with generated index", async () => {
-        expect.assertions(1);
-
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-
-        rendererInstance.options = {
-          ...DEFAULT_RENDERER_OPTIONS,
-          index: true,
-        };
-
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
-        const spy = jest.spyOn(Utils, "saveFile");
-
-        await rendererInstance.generateCategoryMetafile(category, outputPath);
-
-        expect(spy).toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 1\nlink: \n  type: generated-index\n  title: 'Foobar overview'\ncollapsible: true\ncollapsed: true\n`,
-        );
-      });
-
-      test("do not generate _category_.yml file if it exists", async () => {
-        expect.assertions(1);
-
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(true);
-        const spy = jest.spyOn(Utils, "saveFile");
-
-        await rendererInstance.generateCategoryMetafile(category, outputPath);
-
-        expect(spy).not.toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 1\nlink: \n  type: generated-index\n  title: 'Foobar overview'\ncollapsible: true\ncollapsed: true\n`,
-        );
-      });
-
-      test("generate _category_.yml file with sidebar position", async () => {
-        expect.assertions(1);
-
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
-        const spy = jest.spyOn(Utils, "saveFile");
-
-        await rendererInstance.generateCategoryMetafile(
-          category,
-          outputPath,
-          42,
-        );
-
-        expect(spy).toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 42\nlink: null\ncollapsible: true\ncollapsed: true\n`,
-        );
-      });
-
-      test("generate _category_.yml file with classname", async () => {
-        expect.assertions(1);
-
-        const category = "foobar";
-        const outputPath = "/output/docs";
-        const filePath = path.join(outputPath, "_category_.yml");
-        const styleClass = "foo-baz";
+      test("renders root types with flat hierarchy", async () => {
+        expect.assertions(2);
 
-        jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+        jest.spyOn(Printer, "printType").mockImplementation(() => {
+          return "content" as MDXString;
+        });
+        jest.replaceProperty(rendererInstance, "options", {
+          frontMatter: undefined,
+          hierarchy: { [TypeHierarchy.FLAT]: {} },
+        });
         const spy = jest.spyOn(Utils, "saveFile");
 
-        await rendererInstance.generateCategoryMetafile(
-          category,
-          outputPath,
-          42,
-          styleClass,
-        );
+        await rendererInstance.renderRootTypes("objects", {
+          foo: new GraphQLScalarType({
+            name: "foo",
+            astNode: {
+              kind: Kind.SCALAR_TYPE_DEFINITION,
+              name: { kind: Kind.NAME, value: "foo" },
+            },
+          }),
+        });
 
+        expect(spy).toHaveBeenCalledTimes(1);
         expect(spy).toHaveBeenCalledWith(
-          filePath,
-          `label: Foobar\nposition: 42\nclassName: ${styleClass}\nlink: null\ncollapsible: true\ncollapsed: true\n`,
+          "/output/foo.mdx",
+          "content",
+          undefined,
         );
       });
     });
@@ -384,7 +361,7 @@ describe("renderer", () => {
       test("generate type _category_.yml file", async () => {
         expect.assertions(3);
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           frontMatter: undefined,
           hierarchy: { [TypeHierarchy.ENTITY]: {} },
@@ -397,7 +374,7 @@ describe("renderer", () => {
         );
 
         expect(spy).toHaveBeenCalledTimes(1);
-        expect(spy).toHaveBeenCalledWith("objects", "/output/objects");
+        expect(spy).toHaveBeenCalledWith("/output/objects", "objects");
         expect(dirPath).toBe("/output/objects");
       });
 
@@ -406,7 +383,7 @@ describe("renderer", () => {
 
         const [type, name, root, group] = [{}, "Foo", "objects", "lorem"];
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "group", {
           [root]: { [name]: group },
         });
@@ -420,8 +397,8 @@ describe("renderer", () => {
           root as SchemaEntity,
         );
 
-        expect(spy).toHaveBeenCalledWith("lorem", "/output/lorem");
-        expect(spy).toHaveBeenCalledWith("objects", "/output/lorem/objects");
+        expect(spy).toHaveBeenCalledWith("/output/lorem", "lorem");
+        expect(spy).toHaveBeenCalledWith("/output/lorem/objects", "objects");
         expect(dirPath).toBe(`/output/${group}/${root.toLowerCase()}`);
       });
 
@@ -430,7 +407,7 @@ describe("renderer", () => {
 
         const [type, name, root] = [{}, "Foo", "Baz"];
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "group",
           frontMatter: undefined,
@@ -444,13 +421,11 @@ describe("renderer", () => {
           root as SchemaEntity,
         );
 
-        expect(spy).toHaveBeenCalledWith(
-          "deprecated",
-          "/output/deprecated",
-          999,
-          "deprecated",
-        );
-        expect(spy).toHaveBeenCalledWith("Baz", "/output/deprecated/baz");
+        expect(spy).toHaveBeenCalledWith("/output/deprecated", "deprecated", {
+          sidebarPosition: 999,
+          styleClass: "deprecated",
+        });
+        expect(spy).toHaveBeenCalledWith("/output/deprecated/baz", "Baz");
         expect(dirPath).toBe(`/output/deprecated/${root.toLowerCase()}`);
       });
 
@@ -459,7 +434,7 @@ describe("renderer", () => {
 
         const [type, name, root] = [{}, "Foo", "Baz"];
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "group",
           frontMatter: undefined,
@@ -473,7 +448,7 @@ describe("renderer", () => {
           root as SchemaEntity,
         );
 
-        expect(spy).toHaveBeenCalledWith("Baz", "/output/baz");
+        expect(spy).toHaveBeenCalledWith("/output/baz", "Baz");
         expect(dirPath).toBe(`/output/${root.toLowerCase()}`);
       });
 
@@ -482,7 +457,7 @@ describe("renderer", () => {
 
         const [type, name, root] = [{}, "Foo", "Baz"];
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "default",
           frontMatter: undefined,
@@ -496,7 +471,7 @@ describe("renderer", () => {
           root as SchemaEntity,
         );
 
-        expect(spy).toHaveBeenCalledWith("Baz", "/output/baz");
+        expect(spy).toHaveBeenCalledWith("/output/baz", "Baz");
         expect(dirPath).toBe(`/output/${root.toLowerCase()}`);
       });
 
@@ -505,7 +480,7 @@ describe("renderer", () => {
 
         const [type, name, root, group] = [{}, "Foo", "Baz", "lorem"];
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "group",
           frontMatter: undefined,
@@ -531,7 +506,7 @@ describe("renderer", () => {
       test("generate api _category_.yml file", async () => {
         expect.assertions(3);
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "default",
           frontMatter: undefined,
@@ -548,8 +523,8 @@ describe("renderer", () => {
 
         expect(spy).toHaveBeenCalledTimes(2);
         expect(spy).toHaveBeenCalledWith(
-          "queries",
           `/output/${API_GROUPS.operations}/queries`,
+          "queries",
         );
         expect(dirPath).toBe(`/output/${API_GROUPS.operations}/queries`);
       });
@@ -557,7 +532,7 @@ describe("renderer", () => {
       test("generate system _category_.yml file", async () => {
         expect.assertions(2);
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "default",
           frontMatter: undefined,
@@ -573,8 +548,8 @@ describe("renderer", () => {
         );
 
         expect(spy).toHaveBeenCalledWith(
-          "objects",
           `/output/${API_GROUPS.types}/objects`,
+          "objects",
         );
         expect(dirPath).toBe(`/output/${API_GROUPS.types}/objects`);
       });
@@ -582,7 +557,7 @@ describe("renderer", () => {
       test("does not generate _category_.yml file if hierarchy is flat", async () => {
         expect.assertions(2);
 
-        const spy = jest.spyOn(rendererInstance, "generateCategoryMetafile");
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
         jest.replaceProperty(rendererInstance, "options", {
           deprecated: "default",
           frontMatter: undefined,
@@ -600,39 +575,132 @@ describe("renderer", () => {
         expect(spy).not.toHaveBeenCalled();
         expect(dirPath).toBe(`/output`);
       });
+
+      test("handles custom API group names", async () => {
+        expect.assertions(2);
+
+        const spy = jest.spyOn(rendererInstance, "generateIndexMetafile");
+        jest.replaceProperty(rendererInstance, "options", {
+          deprecated: "default",
+          frontMatter: undefined,
+          hierarchy: {
+            [TypeHierarchy.API]: {
+              operations: "api",
+              types: "entities",
+            },
+          },
+        });
+
+        jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(true);
+
+        const dirPath = await rendererInstance.generateCategoryMetafileType(
+          {},
+          "Foo",
+          "queries",
+        );
+
+        expect(spy).toHaveBeenCalledWith("/output/api/queries", "queries");
+        expect(dirPath).toBe(`/output/api/queries`);
+      });
     });
-  });
 
-  describe("getApiGroupFolder()", () => {
-    test.each([[null], [undefined], [false], [{}], [true]])(
-      "returns default folders if %s",
-      (apiGroupOption) => {
+    describe("getApiGroupFolder()", () => {
+      test.each([[null], [undefined], [false], [{}], [true]])(
+        "returns default folders if %s",
+        (apiGroupOption) => {
+          expect.hasAssertions();
+
+          jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(true);
+          expect(getApiGroupFolder({}, apiGroupOption)).toBe(
+            API_GROUPS.operations,
+          );
+
+          jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(false);
+          expect(getApiGroupFolder({}, apiGroupOption)).toBe(API_GROUPS.types);
+        },
+      );
+
+      test("overrides default names", () => {
         expect.hasAssertions();
 
+        const apiGroupOption: ApiGroupOverrideType = {
+          operations: "api",
+          types: "entities",
+        };
+
         jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(true);
         expect(getApiGroupFolder({}, apiGroupOption)).toBe(
-          API_GROUPS.operations,
+          apiGroupOption.operations,
         );
 
         jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(false);
-        expect(getApiGroupFolder({}, apiGroupOption)).toBe(API_GROUPS.types);
-      },
-    );
-    test("overrides default names", () => {
-      expect.hasAssertions();
-
-      const apiGroupOption: ApiGroupOverrideType = {
-        operations: "api",
-        types: "entities",
-      };
-
-      jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(true);
-      expect(getApiGroupFolder({}, apiGroupOption)).toBe(
-        apiGroupOption.operations,
-      );
+        expect(getApiGroupFolder({}, apiGroupOption)).toBe(
+          apiGroupOption.types,
+        );
+      });
+    });
 
-      jest.spyOn(GraphQL, "isApiType").mockReturnValueOnce(false);
-      expect(getApiGroupFolder({}, apiGroupOption)).toBe(apiGroupOption.types);
+    describe("getRenderer()", () => {
+      test("creates output directory before initializing renderer", async () => {
+        expect.assertions(1);
+
+        const ensureDirSpy = jest.spyOn(Utils, "ensureDir");
+
+        await getRenderer(
+          Printer as unknown as typeof IPrinter,
+          "/output",
+          "graphql",
+          undefined,
+          false,
+          DEFAULT_RENDERER_OPTIONS,
+        );
+
+        expect(ensureDirSpy).toHaveBeenCalledWith("/output", {
+          forceEmpty: undefined,
+        });
+      });
+
+      test("passes force option to ensureDir when provided", async () => {
+        expect.assertions(1);
+
+        const ensureDirSpy = jest.spyOn(Utils, "ensureDir");
+
+        await getRenderer(
+          Printer as unknown as typeof IPrinter,
+          "/output",
+          "graphql",
+          undefined,
+          false,
+          { ...DEFAULT_RENDERER_OPTIONS, force: true },
+        );
+
+        expect(ensureDirSpy).toHaveBeenCalledWith("/output", {
+          forceEmpty: true,
+        });
+      });
+
+      test("initializes renderer with correct parameters", async () => {
+        expect.assertions(1);
+
+        const renderer = await getRenderer(
+          Printer as unknown as typeof IPrinter,
+          "/custom-output",
+          "custom-base-url",
+          { objects: { TestType: "test-group" } },
+          true,
+          DEFAULT_RENDERER_OPTIONS,
+          "@graphql-markdown/mdx-parser" as PackageName,
+        );
+
+        expect(renderer).toMatchObject({
+          printer: Printer,
+          outputDir: "/custom-output",
+          baseURL: "custom-base-url",
+          group: { objects: { TestType: "test-group" } },
+          prettify: true,
+          options: DEFAULT_RENDERER_OPTIONS,
+        });
+      });
     });
   });
 });
diff --git a/packages/docusaurus/tests/__mocks__/node:fs/promises.ts b/packages/docusaurus/tests/__mocks__/node:fs/promises.ts
new file mode 100644
index 00000000..be60ddd5
--- /dev/null
+++ b/packages/docusaurus/tests/__mocks__/node:fs/promises.ts
@@ -0,0 +1,14 @@
+import { vol } from "memfs";
+import { ufs } from "unionfs";
+
+import type { IFS } from "unionfs";
+
+const fs = jest.requireActual("node:fs");
+
+const promises = ufs.use(fs).use(vol as unknown as IFS).promises;
+
+module.exports = { ...promises, rm: promises.rmdir };
+
+if ("rm" in promises) {
+  module.exports = promises;
+}
diff --git a/packages/docusaurus/tests/unit/index.test.ts b/packages/docusaurus/tests/unit/index.test.ts
new file mode 100644
index 00000000..02c8122e
--- /dev/null
+++ b/packages/docusaurus/tests/unit/index.test.ts
@@ -0,0 +1,92 @@
+import type { LoadContext } from "@docusaurus/types";
+
+import pluginGraphQLDocGenerator from "../../src/index";
+
+jest.mock("@graphql-markdown/cli", () => {
+  return {
+    getGraphQLMarkdownCli: jest.fn(),
+    runGraphQLMarkdown: jest.fn(),
+  };
+});
+import {
+  getGraphQLMarkdownCli,
+  runGraphQLMarkdown,
+} from "@graphql-markdown/cli";
+
+jest.mock("@graphql-markdown/logger", () => {
+  return jest.fn();
+});
+import Logger from "@graphql-markdown/logger";
+
+describe("pluginGraphQLDocGenerator", () => {
+  const mockCli = {
+    addCommand: jest.fn(),
+    // eslint-disable-next-line @typescript-eslint/no-explicit-any
+  } as any;
+
+  const mockOptions = {
+    runOnBuild: true,
+    someOtherOption: "value",
+  };
+
+  beforeEach(() => {
+    jest.clearAllMocks();
+  });
+
+  test("calls Logger with LOGGER_MODULE", async () => {
+    await pluginGraphQLDocGenerator({} as LoadContext, mockOptions);
+    expect(Logger).toHaveBeenCalledWith("@docusaurus/logger");
+  });
+
+  test("returns a plugin object with the correct name", async () => {
+    const plugin = await pluginGraphQLDocGenerator(
+      {} as LoadContext,
+      mockOptions,
+    );
+    expect(plugin.name).toBe("docusaurus-graphql-doc-generator");
+  });
+
+  describe("loadContent", () => {
+    test("does not call runGraphQLMarkdown if runOnBuild is false", async () => {
+      const plugin = await pluginGraphQLDocGenerator({} as LoadContext, {
+        runOnBuild: false,
+      });
+      await plugin.loadContent!();
+      expect(runGraphQLMarkdown).not.toHaveBeenCalled();
+    });
+
+    test("calls runGraphQLMarkdown if runOnBuild is true", async () => {
+      const plugin = await pluginGraphQLDocGenerator(
+        {} as LoadContext,
+        mockOptions,
+      );
+      await plugin.loadContent!();
+      expect(runGraphQLMarkdown).toHaveBeenCalledWith(
+        mockOptions,
+        {},
+        "@docusaurus/logger",
+      );
+    });
+  });
+
+  describe("extendCli", () => {
+    test("adds a command to the CLI", async () => {
+      const plugin = await pluginGraphQLDocGenerator(
+        {} as LoadContext,
+        mockOptions,
+      );
+      plugin.extendCli!(mockCli);
+      expect(mockCli.addCommand).toHaveBeenCalled();
+      expect(getGraphQLMarkdownCli).toHaveBeenCalledWith(
+        expect.objectContaining({
+          docOptions: {
+            generatorFrameworkName: "docusaurus",
+            generatorFrameworkVersion: expect.any(String),
+          },
+        }),
+        "@docusaurus/logger",
+        "@graphql-markdown/docusaurus/mdx",
+      );
+    });
+  });
+});
diff --git a/packages/docusaurus/tests/unit/mdx/category.test.ts b/packages/docusaurus/tests/unit/mdx/category.test.ts
new file mode 100644
index 00000000..e275aef8
--- /dev/null
+++ b/packages/docusaurus/tests/unit/mdx/category.test.ts
@@ -0,0 +1,157 @@
+import path from "node:path";
+
+jest.mock("fs");
+jest.mock("node:fs/promises");
+
+jest.mock("@graphql-markdown/utils", (): unknown => {
+  return {
+    __esModule: true,
+    ...jest.requireActual("@graphql-markdown/utils"),
+    isDeprecated: jest.fn(),
+    ensureDir: jest.fn(),
+    fileExists: jest.fn(),
+    saveFile: jest.fn(),
+    copyFile: jest.fn(),
+    readFile: jest.fn(),
+  };
+});
+import * as Utils from "@graphql-markdown/utils";
+
+import { generateIndexMetafile } from "../../../src/mdx/category";
+
+describe("generateIndexMetafile()", () => {
+  const CATEGORY_YAML = "_category_.yml";
+
+  test("generate _category_.yml file", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = path.join("/output/docs", category);
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category);
+
+    expect(spy).toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 1\nlink: null\ncollapsible: true\ncollapsed: true\n`,
+    );
+  });
+
+  test("generate _category_.yml file with options override", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = path.join("/output/docs", category);
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category, {
+      collapsed: false,
+      collapsible: false,
+    });
+
+    expect(spy).toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 1\nlink: null\ncollapsible: false\ncollapsed: false\n`,
+    );
+  });
+
+  test("generate _category_.yml file with generated index", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = path.join("/output/docs", category);
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category, { index: true });
+
+    expect(spy).toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 1\nlink: \n  type: generated-index\n  title: 'Foobar overview'\ncollapsible: true\ncollapsed: true\n`,
+    );
+  });
+
+  test("do not generate _category_.yml file if it exists", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = "/output/docs";
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(true);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category);
+
+    expect(spy).not.toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 1\nlink: \n  type: generated-index\n  title: 'Foobar overview'\ncollapsible: true\ncollapsed: true\n`,
+    );
+  });
+
+  test("generate _category_.yml file with sidebar position", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = path.join("/output/docs", category);
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category, {
+      sidebarPosition: 42,
+    });
+
+    expect(spy).toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 42\nlink: null\ncollapsible: true\ncollapsed: true\n`,
+    );
+  });
+
+  test("generate _category_.yml file with classname", async () => {
+    expect.assertions(1);
+
+    const category = "foobar";
+    const outputPath = path.join("/output/docs", category);
+    const filePath = path.join(outputPath, CATEGORY_YAML);
+    const styleClass = "foo-baz";
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const spy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category, {
+      sidebarPosition: 42,
+      styleClass,
+    });
+
+    expect(spy).toHaveBeenCalledWith(
+      filePath,
+      `label: Foobar\nposition: 42\nclassName: ${styleClass}\nlink: null\ncollapsible: true\ncollapsed: true\n`,
+    );
+  });
+
+  test("ensures directory exists before saving file", async () => {
+    expect.assertions(2);
+
+    const category = "foobar";
+    const outputPath = "/output/docs";
+
+    jest.spyOn(Utils, "fileExists").mockResolvedValue(false);
+    const ensureDirSpy = jest.spyOn(Utils, "ensureDir");
+    const saveFileSpy = jest.spyOn(Utils, "saveFile");
+
+    await generateIndexMetafile(outputPath, category);
+
+    expect(ensureDirSpy).toHaveBeenCalledWith(outputPath);
+    expect(saveFileSpy).toHaveBeenCalled();
+  });
+});
diff --git a/packages/docusaurus/tests/unit/mdx/index.test.ts b/packages/docusaurus/tests/unit/mdx/index.test.ts
new file mode 100644
index 00000000..5af5d61b
--- /dev/null
+++ b/packages/docusaurus/tests/unit/mdx/index.test.ts
@@ -0,0 +1,89 @@
+import {
+  formatMDXAdmonition,
+  formatMDXBadge,
+  formatMDXBullet,
+  formatMDXDetails,
+  formatMDXLink,
+  formatMDXNameEntity,
+  formatMDXSpecifiedByLink,
+} from "../../../src/mdx";
+
+describe("formatMDXBadge", () => {
+  test("returns a formatted MDX badge string", () => {
+    const badge = { text: "Test Badge", classname: "test-class" };
+    const result = formatMDXBadge(badge);
+    expect(result).toBe('<Badge class="badge test-class" text="Test Badge"/>');
+  });
+});
+
+describe("formatMDXAdmonition", () => {
+  test("returns a formatted MDX admonition string for Docusaurus v2", () => {
+    const admonition = {
+      text: "Test Text",
+      title: "Test Title",
+      type: "warning",
+    };
+    const meta = {
+      generatorFrameworkName: "docusaurus",
+      generatorFrameworkVersion: "2.0.0",
+    };
+    const result = formatMDXAdmonition(admonition, meta);
+    expect(result).toBe("\n\n:::caution Test TitleTest Text:::");
+  });
+
+  test("returns a formatted MDX admonition string for non-Docusaurus", () => {
+    const admonition = { text: "Test Text", title: "Test Title", type: "info" };
+    const meta = null;
+    const result = formatMDXAdmonition(admonition, meta);
+    expect(result).toBe("\n\n:::info[Test Title]Test Text:::");
+  });
+});
+
+describe("formatMDXBullet", () => {
+  test("returns a formatted MDX bullet string", () => {
+    const result = formatMDXBullet("Test Bullet");
+    expect(result).toBe("<Bullet />Test Bullet");
+  });
+});
+
+describe("formatMDXDetails", () => {
+  test("returns a formatted MDX details string", () => {
+    const details = { dataOpen: "Open", dataClose: "Close" };
+    const result = formatMDXDetails(details);
+    expect(result).toBe(
+      '\n\n<Details dataOpen="Hide Open" dataClose="Show Close">\n\n\r\n\n</Details>\n\n',
+    );
+  });
+});
+
+describe("formatMDXSpecifiedByLink", () => {
+  test("returns a formatted MDX specified by link string", () => {
+    const url = "https://example.com";
+    const result = formatMDXSpecifiedByLink(url);
+    expect(result).toBe('<SpecifiedBy url="https://example.com"/>');
+  });
+});
+
+describe("formatMDXNameEntity", () => {
+  test("returns a formatted MDX name entity string with parent type", () => {
+    const result = formatMDXNameEntity("EntityName", "ParentType");
+    expect(result).toBe(
+      "<code style={{ fontWeight: 'normal' }}>ParentType.<b>EntityName</b></code>",
+    );
+  });
+
+  test("returns a formatted MDX name entity string without parent type", () => {
+    const result = formatMDXNameEntity("EntityName");
+    expect(result).toBe(
+      "<code style={{ fontWeight: 'normal' }}><b>EntityName</b></code>",
+    );
+  });
+});
+
+describe("formatMDXLink", () => {
+  test("returns a formatted MDX link object", () => {
+    const link = { text: "Link Text", url: "/example" };
+    const result = formatMDXLink(link);
+    expect(result).toEqual({ text: "Link Text", url: "/example.mdx" });
+  });
+});
diff --git a/packages/printer-legacy/tests/__mocks__/custom-mdx.ts b/packages/printer-legacy/tests/__mocks__/custom-mdx.ts
index 8ee2aa65..96d790b5 100644
--- a/packages/printer-legacy/tests/__mocks__/custom-mdx.ts
+++ b/packages/printer-legacy/tests/__mocks__/custom-mdx.ts
@@ -3,8 +3,8 @@ export default {
   formatMDXBadge: jest.fn(),
   formatMDXBullet: jest.fn(),
   formatMDXDetails: jest.fn(),
+  formatMDXFrontmatter: jest.fn(),
   formatMDXNameEntity: jest.fn(),
   formatMDXSpecifiedByLink: jest.fn(),
   mdxDeclaration: jest.fn(),
-  mdxSupport: true,
 };
diff --git a/packages/printer-legacy/tests/unit/common.test.ts b/packages/printer-legacy/tests/unit/common.test.ts
index ad6c0eb5..e01652e3 100644
--- a/packages/printer-legacy/tests/unit/common.test.ts
+++ b/packages/printer-legacy/tests/unit/common.test.ts
@@ -132,7 +132,7 @@ describe("common", () => {
 "
 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 &#x007B; Foobar &#x007D;
@@ -206,7 +206,7 @@ Lorem ipsum"
 "
 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 </span>
@@ -230,7 +230,7 @@ Lorem ipsum"
 "
 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 &#x007B; foobar &#x007D;
@@ -316,7 +316,7 @@ Test testDirective"
 "
 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 test
diff --git a/packages/printer-legacy/tests/unit/graphql/directive.test.ts b/packages/printer-legacy/tests/unit/graphql/directive.test.ts
index ae711e0e..b0ff99ef 100644
--- a/packages/printer-legacy/tests/unit/graphql/directive.test.ts
+++ b/packages/printer-legacy/tests/unit/graphql/directive.test.ts
@@ -85,7 +85,7 @@ describe("directive", () => {
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">FooBar</code>.<code class="gqlmd-mdx-entity-name">Bar</code></span>](#)<span class="gqlmd-mdx-bullet">&nbsp;●&nbsp;</span>[<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-name">Boolean</code></span>](/types/scalars/boolean) <mark class="gqlmd-mdx-badge">deprecated</mark> <mark class="gqlmd-mdx-badge">scalar</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
diff --git a/packages/printer-legacy/tests/unit/graphql/enum.test.ts b/packages/printer-legacy/tests/unit/graphql/enum.test.ts
index a73e7ff1..d0be0194 100644
--- a/packages/printer-legacy/tests/unit/graphql/enum.test.ts
+++ b/packages/printer-legacy/tests/unit/graphql/enum.test.ts
@@ -28,7 +28,7 @@ describe("enum", () => {
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">EnumTypeName</code>.<code class="gqlmd-mdx-entity-name">two</code></span>](#) <mark class="gqlmd-mdx-badge">deprecated</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
@@ -63,7 +63,7 @@ Deprecated
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">EnumTypeName</code>.<code class="gqlmd-mdx-entity-name">two</code></span>](#) <mark class="gqlmd-mdx-badge">deprecated</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
diff --git a/packages/printer-legacy/tests/unit/graphql/object.test.ts b/packages/printer-legacy/tests/unit/graphql/object.test.ts
index 37404f37..3d3c80c5 100644
--- a/packages/printer-legacy/tests/unit/graphql/object.test.ts
+++ b/packages/printer-legacy/tests/unit/graphql/object.test.ts
@@ -49,7 +49,7 @@ describe("object", () => {
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">TestName</code>.<code class="gqlmd-mdx-entity-name">two</code></span>](#)<span class="gqlmd-mdx-bullet">&nbsp;●&nbsp;</span>[<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-name">Boolean</code></span>](/types/scalars/boolean) <mark class="gqlmd-mdx-badge">deprecated</mark> <mark class="gqlmd-mdx-badge">scalar</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
@@ -102,7 +102,7 @@ Deprecated
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">TestName</code>.<code class="gqlmd-mdx-entity-name">two</code></span>](#)<span class="gqlmd-mdx-bullet">&nbsp;●&nbsp;</span>[<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-name">Boolean</code></span>](/types/scalars/boolean) <mark class="gqlmd-mdx-badge">deprecated</mark> <mark class="gqlmd-mdx-badge">scalar</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
diff --git a/packages/printer-legacy/tests/unit/graphql/operation.test.ts b/packages/printer-legacy/tests/unit/graphql/operation.test.ts
index 107b963c..af0a4971 100644
--- a/packages/printer-legacy/tests/unit/graphql/operation.test.ts
+++ b/packages/printer-legacy/tests/unit/graphql/operation.test.ts
@@ -142,7 +142,7 @@ describe("operation", () => {
 
 #### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-parent">TestQuery</code>.<code class="gqlmd-mdx-entity-name">Bar</code></span>](#)<span class="gqlmd-mdx-bullet">&nbsp;●&nbsp;</span>[<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-name">String</code></span>](/types/scalars/string) <mark class="gqlmd-mdx-badge">deprecated</mark> <mark class="gqlmd-mdx-badge">scalar</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 Deprecated
diff --git a/packages/printer-legacy/tests/unit/mdx/mdx.test.ts b/packages/printer-legacy/tests/unit/mdx/mdx.test.ts
index 64ac4f0f..02311447 100644
--- a/packages/printer-legacy/tests/unit/mdx/mdx.test.ts
+++ b/packages/printer-legacy/tests/unit/mdx/mdx.test.ts
@@ -1,27 +1,8 @@
-import type { PackageName } from "@graphql-markdown/types";
-
 import MDX, { mdxModule } from "../../../src/mdx";
 
 jest.mock("custom-mdx");
 
 describe("mdx", () => {
-  beforeAll(() => {
-    Object.assign(global, { logger: global.console });
-  });
-
-  beforeEach(() => {
-    // silent console
-    jest.spyOn(global.console, "warn").mockImplementation(() => {});
-  });
-
-  afterEach(() => {
-    jest.clearAllMocks();
-  });
-
-  afterAll(() => {
-    delete global.logger;
-  });
-
   describe("formatMDXBadge", () => {
     test("returns a formatted badge using standard markdown", () => {
       expect(MDX.formatMDXBadge({ text: "Test badge", classname: "" })).toBe(
@@ -46,7 +27,7 @@ describe("mdx", () => {
 "
 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">WARNING</span> **Warning**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">WARNING Warning</span></legend>
 <span>Test admonition</span>
 </fieldset>"
 `);
@@ -90,20 +71,8 @@ describe("mdx", () => {
       await expect(mdxModule()).resolves.toBe(MDX);
     });
 
-    test("returns default markdown formatters if module loading error", async () => {
-      const loggerSpy = jest.spyOn(global.console, "warn");
-      await expect(mdxModule("not-a-module" as PackageName)).resolves.toBe(MDX);
-      expect(loggerSpy.mock.lastCall).toMatchInlineSnapshot(`
-[
-  "An error occurred while loading MDX formatter "not-a-module"",
-]
-`);
-    });
-
     test("returns custom markdown formatters if module defined", async () => {
-      await expect(mdxModule("custom-mdx" as PackageName)).resolves.not.toBe(
-        MDX,
-      );
+      await expect(mdxModule({})).resolves.not.toBe(MDX);
     });
   });
 });
diff --git a/packages/printer-legacy/tests/unit/printer.test.ts b/packages/printer-legacy/tests/unit/printer.test.ts
index b8e559b7..8cbba334 100644
--- a/packages/printer-legacy/tests/unit/printer.test.ts
+++ b/packages/printer-legacy/tests/unit/printer.test.ts
@@ -17,12 +17,14 @@ import type { PrintTypeOptions } from "@graphql-markdown/types";
 
 jest.mock("@graphql-markdown/utils", () => {
   return {
-    slugify: jest.fn(),
     escapeMDX: jest.fn(),
-    pathUrl: { join: posix.join },
+    formatFrontMatterObject: jest.fn(),
     isEmpty: jest.fn(),
+    pathUrl: { join: posix.join },
+    slugify: jest.fn(),
   };
 });
+import * as Utils from "@graphql-markdown/utils";
 
 jest.mock("@graphql-markdown/graphql", () => {
   return {
@@ -182,6 +184,7 @@ describe("Printer", () => {
   "formatMDXBadge": [Function],
   "formatMDXBullet": [Function],
   "formatMDXDetails": [Function],
+  "formatMDXFrontmatter": [Function],
   "formatMDXLink": [Function],
   "formatMDXNameEntity": [Function],
   "formatMDXSpecifiedByLink": [Function],
@@ -192,7 +195,6 @@ describe("Printer", () => {
   },
   "level": undefined,
   "mdxDeclaration": "",
-  "mdxSupport": false,
   "meta": undefined,
   "metatags": [],
   "onlyDocDirectives": [],
@@ -252,6 +254,7 @@ describe("Printer", () => {
   "formatMDXBadge": [Function],
   "formatMDXBullet": [Function],
   "formatMDXDetails": [Function],
+  "formatMDXFrontmatter": [Function],
   "formatMDXLink": [Function],
   "formatMDXNameEntity": [Function],
   "formatMDXSpecifiedByLink": [Function],
@@ -262,7 +265,6 @@ describe("Printer", () => {
   },
   "level": undefined,
   "mdxDeclaration": "",
-  "mdxSupport": false,
   "meta": undefined,
   "metatags": [],
   "onlyDocDirectives": [],
@@ -311,25 +313,36 @@ describe("Printer", () => {
   });
 
   describe("printHeader()", () => {
-    test("returns a empty string if no mdxSupport", () => {
+    test("returns a l1 title if no frontmatter support", () => {
       expect.hasAssertions();
 
       const header = Printer.printHeader(
         "an-object-type-name",
         "An Object Type Name",
-        DEFAULT_OPTIONS,
+        { ...DEFAULT_OPTIONS, frontMatter: false },
       );
 
-      expect(header).toBe("");
+      expect(header).toBe(
+        `# An Object Type Name
+
+`,
+      );
     });
 
     test("returns a MDX frontmatter document header", () => {
       expect.hasAssertions();
 
+      jest
+        .spyOn(Utils, "formatFrontMatterObject")
+        .mockReturnValue([
+          "id: an-object-type-name",
+          "title: An Object Type Name",
+        ]);
+
       const header = Printer.printHeader(
         "an-object-type-name",
         "An Object Type Name",
-        { ...DEFAULT_OPTIONS, mdxSupport: true },
+        DEFAULT_OPTIONS,
       );
 
       expect(header).toMatchInlineSnapshot(`
@@ -343,13 +356,21 @@ describe("Printer", () => {
     test("returns a MDX frontmatter document header with custom info", () => {
       expect.hasAssertions();
 
+      jest
+        .spyOn(Utils, "formatFrontMatterObject")
+        .mockReturnValue([
+          "draft: true",
+          "hide_table_of_contents: null",
+          "id: an-object-type-name",
+          "title: An Object Type Name",
+        ]);
+
       const header = Printer.printHeader(
         "an-object-type-name",
         "An Object Type Name",
         {
           ...DEFAULT_OPTIONS,
           frontMatter: { draft: true, hide_table_of_contents: null },
-          mdxSupport: true,
         },
       );
 
diff --git a/packages/printer-legacy/tests/unit/section.test.ts b/packages/printer-legacy/tests/unit/section.test.ts
index 3fe11c68..f9a4666a 100644
--- a/packages/printer-legacy/tests/unit/section.test.ts
+++ b/packages/printer-legacy/tests/unit/section.test.ts
@@ -18,7 +18,7 @@ import {
 
 import { DEPRECATED } from "../../src/const/strings";
 
-import { DEFAULT_OPTIONS, SectionLevels } from "../../src/const/options";
+import { DEFAULT_OPTIONS } from "../../src/const/options";
 
 describe("section", () => {
   describe("printSection()", () => {
@@ -48,7 +48,7 @@ describe("section", () => {
 
       const section = printSection(content, "", {
         ...DEFAULT_OPTIONS,
-        level: SectionLevels.NONE as SectionLevelValue,
+        level: 0 as SectionLevelValue,
         collapsible: {
           dataOpen: DEPRECATED,
           dataClose: DEPRECATED,
@@ -79,7 +79,7 @@ describe("section", () => {
 
       const section = printSection(content, title, {
         ...DEFAULT_OPTIONS,
-        level: "#" as SectionLevelValue,
+        level: 1 as SectionLevelValue,
       });
 
       expect(section).toMatchInlineSnapshot(`
@@ -399,7 +399,7 @@ sunt in culpa qui officia deserunt mollit anim id est laborum.
       expect(section).toMatchInlineSnapshot(`
 "#### [<span class="gqlmd-mdx-entity"><code class="gqlmd-mdx-entity-name">EntityTypeName</code></span>](#) <mark class="gqlmd-mdx-badge">deprecated</mark> 
 <fieldset class="gqlmd-mdx-admonition-fieldset">
-<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️</span> **DEPRECATED**</legend>
+<legend class="gqlmd-mdx-admonition-legend"><span class="gqlmd-mdx-admonition-legend-type gqlmd-mdx-admonition-legend-type-warning">⚠️ DEPRECATED</span></legend>
 <span>
 
 </span>
diff --git a/packages/utils/tests/__mocks__/prettier.ts b/packages/utils/tests/__mocks__/prettier.ts
new file mode 100644
index 00000000..64e03834
--- /dev/null
+++ b/packages/utils/tests/__mocks__/prettier.ts
@@ -0,0 +1,6 @@
+module.exports = {
+  __esModule: true,
+  format: jest.fn().mockImplementation(async (content) => {
+    return Promise.resolve(`prettified:${content}`);
+  }),
+};
diff --git a/packages/utils/tests/unit/array.test.ts b/packages/utils/tests/unit/array.test.ts
index abacdd09..4b68ac49 100644
--- a/packages/utils/tests/unit/array.test.ts
+++ b/packages/utils/tests/unit/array.test.ts
@@ -1,9 +1,10 @@
+// packages/utils/tests/unit/array.test.ts
 import { toArray, convertArrayToMapObject } from "../../src/array";
 
 describe("array", () => {
   describe("toArray()", () => {
     test("returns an array of values from a k/v object", () => {
-      expect.hasAssertions();
+      expect.assertions(1);
 
       const input = {
         bool: true,
@@ -17,15 +18,37 @@ describe("array", () => {
     });
 
     test("returns undefined if not an object", () => {
-      expect.hasAssertions();
+      expect.assertions(3);
 
       expect(toArray(undefined)).toBeUndefined();
+      expect(toArray(null)).toBeUndefined();
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      expect(toArray("not an object" as any)).toBeUndefined();
+    });
+
+    test("returns empty array for empty object", () => {
+      expect.assertions(1);
+
+      expect(toArray({})).toStrictEqual([]);
+    });
+
+    test("preserves order of object properties", () => {
+      expect.assertions(1);
+
+      const input = {
+        z: "last",
+        a: "first",
+        m: "middle",
+      };
+
+      // Note: Modern JS engines preserve insertion order of object properties
+      expect(toArray(input)).toStrictEqual(["last", "first", "middle"]);
     });
   });
 
   describe("convertArrayToMapObject()", () => {
     test("returns a k/v object from an array of objects with name property", () => {
-      expect.hasAssertions();
+      expect.assertions(1);
 
       const input: Record<string, unknown>[] = [
         { name: true },
@@ -45,9 +68,53 @@ describe("array", () => {
     });
 
     test("returns undefined if not an array", () => {
-      expect.hasAssertions();
+      expect.assertions(3);
 
       expect(convertArrayToMapObject(undefined)).toBeUndefined();
+      expect(convertArrayToMapObject(null)).toBeUndefined();
+      // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      expect(convertArrayToMapObject({} as any)).toBeUndefined();
+    });
+
+    test("returns empty object for empty array", () => {
+      expect.assertions(1);
+
+      expect(convertArrayToMapObject([])).toStrictEqual({});
+    });
+
+    test("handles objects with non-string name properties", () => {
+      expect.assertions(1);
+
+      const input = [
+        { name: 123 },
+        { name: true },
+        { name: { nested: "object" } },
+      ];
+
+      const result = convertArrayToMapObject(input);
+
+      expect(result).toStrictEqual({
+        "123": { name: 123 },
+        true: { name: true },
+        "[object Object]": { name: { nested: "object" } },
+      });
+    });
+
+    test("skips objects without name property", () => {
+      expect.assertions(1);
+
+      const input = [
+        { name: "valid" },
+        { id: "invalid" },
+        { name: "another valid" },
+      ];
+
+      const result = convertArrayToMapObject(input);
+
+      expect(result).toStrictEqual({
+        valid: { name: "valid" },
+        "another valid": { name: "another valid" },
+      });
     });
   });
 });
diff --git a/packages/printer-legacy/tests/unit/frontmatter.test.ts b/packages/utils/tests/unit/frontmatter.test.ts
similarity index 100%
rename from packages/printer-legacy/tests/unit/frontmatter.test.ts
rename to packages/utils/tests/unit/frontmatter.test.ts
diff --git a/packages/utils/tests/unit/object.test.ts b/packages/utils/tests/unit/object.test.ts
index de4a9a7b..3c4225ed 100644
--- a/packages/utils/tests/unit/object.test.ts
+++ b/packages/utils/tests/unit/object.test.ts
@@ -1,17 +1,64 @@
+// packages/utils/tests/unit/object.test.ts
 import { isEmpty } from "../../src/object";
 
 describe("object", () => {
   describe("isEmpty()", () => {
     test("returns true if object has no property or method", () => {
-      expect.hasAssertions();
+      expect.assertions(1);
 
       expect(isEmpty({})).toBeTruthy();
     });
 
     test("returns false if object has a method or property", () => {
-      expect.hasAssertions();
+      expect.assertions(1);
 
       expect(isEmpty({ foo: "test" })).toBeFalsy();
     });
+
+    test("returns true for null values", () => {
+      expect.assertions(1);
+
+      expect(isEmpty(null)).toBeTruthy();
+    });
+
+    test("returns true for undefined values", () => {
+      expect.assertions(1);
+
+      expect(isEmpty(undefined)).toBeTruthy();
+    });
+
+    test("returns true for non-object values", () => {
+      expect.assertions(3);
+
+      expect(isEmpty("string")).toBeTruthy();
+      expect(isEmpty(123)).toBeTruthy();
+      expect(isEmpty(true)).toBeTruthy();
+    });
+
+    test("returns false for objects with nested properties", () => {
+      expect.assertions(1);
+
+      const obj = {
+        nested: {
+          property: "value",
+        },
+      };
+
+      expect(isEmpty(obj)).toBeFalsy();
+    });
+
+    test("returns false for arrays with elements", () => {
+      expect.assertions(1);
+
+      expect(isEmpty([1, 2, 3])).toBeFalsy();
+    });
+
+    test("returns true for empty arrays", () => {
+      expect.assertions(1);
+
+      // This is a bit tricky since arrays are objects, but empty arrays have length 0
+      // The implementation should consider this case
+      expect(isEmpty([])).toBeTruthy();
+    });
   });
 });
diff --git a/packages/utils/tests/unit/prettier.test.ts b/packages/utils/tests/unit/prettier.test.ts
new file mode 100644
index 00000000..3d22960f
--- /dev/null
+++ b/packages/utils/tests/unit/prettier.test.ts
@@ -0,0 +1,54 @@
+// packages/utils/tests/unit/prettier.test.ts
+import { prettify, prettifyMarkdown } from "../../src/prettier";
+
+describe("prettier", () => {
+  afterEach(() => {
+    jest.clearAllMocks();
+  });
+
+  describe("prettify()", () => {
+    test("formats content using the specified parser", async () => {
+      expect.assertions(1);
+
+      const result = await prettify("test content", "markdown");
+      expect(result).toBe("prettified:test content");
+    });
+
+    test.skip("logs error and returns undefined when prettier is not available", async () => {
+      expect.assertions(2);
+
+      jest.mock(
+        "prettier",
+        () => {
+          throw new Error("Prettier is not found");
+        },
+        { virtual: true },
+      );
+
+      const consoleSpy = jest.spyOn(global.console, "log").mockImplementation();
+
+      const result = await prettify("test content", "markdown");
+
+      expect(result).toBeUndefined();
+      expect(consoleSpy).toHaveBeenCalledWith("Prettier is not found");
+
+      jest.unmock("prettier");
+    });
+  });
+
+  describe("prettifyMarkdown()", () => {
+    test("calls prettify with markdown parser", async () => {
+      expect.assertions(1);
+
+      // eslint-disable-next-line @typescript-eslint/no-require-imports
+      const prettifySpy = jest.spyOn(require("../../src/prettier"), "prettify");
+
+      await prettifyMarkdown("# Markdown content");
+
+      expect(prettifySpy).toHaveBeenCalledWith(
+        "# Markdown content",
+        "markdown",
+      );
+    });
+  });
+});
diff --git a/packages/utils/tests/unit/url.test.ts b/packages/utils/tests/unit/url.test.ts
new file mode 100644
index 00000000..685e176f
--- /dev/null
+++ b/packages/utils/tests/unit/url.test.ts
@@ -0,0 +1,23 @@
+// packages/utils/tests/unit/url.test.ts
+import { join, resolve } from "../../src/url";
+
+describe("url", () => {
+  describe("join()", () => {
+    test("correctly joins URL path segments", () => {
+      expect.assertions(3);
+
+      expect(join("foo", "bar")).toBe("foo/bar");
+      expect(join("/foo", "bar")).toBe("/foo/bar");
+      expect(join("foo", "/bar")).toBe("foo/bar");
+    });
+  });
+
+  describe("resolve()", () => {
+    test("correctly resolves URL paths", () => {
+      expect.assertions(2);
+
+      expect(resolve("/foo/bar", "../baz")).toBe("/foo/baz");
+      expect(resolve("foo", "bar")).toBe(process.cwd() + "/foo/bar");
+    });
+  });
+});