From b3aafb1e47ac39ed83f32df099e83fdfa169c647 Mon Sep 17 00:00:00 2001 From: Kamil Kisiela Date: Fri, 22 Nov 2024 08:26:52 +0100 Subject: [PATCH] Update to latest (#87) --- README.md | 4 +- REPORT.md | 94 +++++++++++++-------------- gateways/cosmo-router/install.sh | 2 +- gateways/grafbase-gateway/install.sh | 2 +- gateways/grafbase-gateway/results.txt | 18 ++--- gateways/hive-gateway/install.sh | 2 +- gateways/hive-gateway/results.txt | 6 +- package-lock.json | 64 +++++++++--------- package.json | 6 +- website/index.html | 53 ++++++++------- 10 files changed, 128 insertions(+), 123 deletions(-) diff --git a/README.md b/README.md index c36c4d8..afd657b 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ This repository contains a set of tests to evaluate and compare the compatibilit | Gateway | Compatibility | Test Cases | Test Suites | | :-------------------------------------------------------------: | :-----------: | :----------: | :---------: | -| [Hive Gateway](https://the-guild.dev/graphql/hive/docs/gateway) | 100.00% | 🟢 171 | 🟢 41 | +| [Hive Gateway](https://the-guild.dev/graphql/hive/docs/gateway) | 99.42% | 🟢 170 ❌ 1 | 🟢 40 ❌ 1 | | [Apollo Router](https://www.apollographql.com/) | 97.66% | 🟢 167 ❌ 4 | 🟢 39 ❌ 2 | | [Apollo Gateway](https://www.apollographql.com/) | 97.08% | 🟢 166 ❌ 5 | 🟢 38 ❌ 3 | +| [Grafbase Gateway](https://grafbase.com) | 74.85% | 🟢 128 ❌ 43 | 🟢 29 ❌ 12 | | [Cosmo Router](https://wundergraph.com) | 71.93% | 🟢 123 ❌ 48 | 🟢 21 ❌ 20 | -| [Grafbase Gateway](https://grafbase.com) | 66.08% | 🟢 113 ❌ 58 | 🟢 22 ❌ 19 | | [Inigo Gateway](https://inigo.io) | 46.78% | 🟢 80 ❌ 91 | 🟢 12 ❌ 29 | diff --git a/REPORT.md b/REPORT.md index d385fc8..ac26053 100644 --- a/REPORT.md +++ b/REPORT.md @@ -4,11 +4,11 @@ | Gateway | Compatibility | Test Cases | Test Suites | | :-------------------------------------------------------------: | :-----------: | :----------: | :---------: | -| [Hive Gateway](https://the-guild.dev/graphql/hive/docs/gateway) | 100.00% | 🟢 171 | 🟢 41 | +| [Hive Gateway](https://the-guild.dev/graphql/hive/docs/gateway) | 99.42% | 🟢 170 ❌ 1 | 🟢 40 ❌ 1 | | [Apollo Router](https://www.apollographql.com/) | 97.66% | 🟢 167 ❌ 4 | 🟢 39 ❌ 2 | | [Apollo Gateway](https://www.apollographql.com/) | 97.08% | 🟢 166 ❌ 5 | 🟢 38 ❌ 3 | +| [Grafbase Gateway](https://grafbase.com) | 74.85% | 🟢 128 ❌ 43 | 🟢 29 ❌ 12 | | [Cosmo Router](https://wundergraph.com) | 71.93% | 🟢 123 ❌ 48 | 🟢 21 ❌ 20 | -| [Grafbase Gateway](https://grafbase.com) | 66.08% | 🟢 113 ❌ 58 | 🟢 22 ❌ 19 | | [Inigo Gateway](https://inigo.io) | 46.78% | 🟢 80 ❌ 91 | 🟢 12 ❌ 29 | ## Detailed Results @@ -69,7 +69,7 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id null-keys
🟢
override-type-interface -
🟢🟢🟢🟢
+
❌🟢🟢🟢
override-with-requires
🟢🟢🟢🟢
parent-entity-call @@ -296,31 +296,31 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id
🟢🟢🟢🟢🟢🟢🟢🟢
- + -### Cosmo Router +### Grafbase Gateway -- [Repository](https://github.com/wundergraph/cosmo) -- [Website](https://wundergraph.com) +- [Repository](https://github.com/grafbase/grafbase) +- [Website](https://grafbase.com)
Results abstract-types -
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
+
🟢🟢❌🟢🟢❌❌❌❌❌❌❌❌❌❌❌❌
child-type-mismatch -
❌❌❌🟢
+
🟢🟢🟢🟢
circular-reference-interface
🟢🟢
complex-entity-call -
+
🟢
corrupted-supergraph-node-id -
❌🟢🟢🟢🟢❌🟢🟢🟢🟢
+
❌🟢❌🟢🟢❌🟢🟢🟢🟢
enum-intersection
🟢🟢🟢🟢🟢
fed1-external-extends
🟢🟢
fed1-external-extends-resolvable -
+
🟢
fed1-external-extension
🟢🟢
fed2-external-extends @@ -332,11 +332,11 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id input-object-intersection
🟢🟢🟢
interface-object-with-requires -
❌❌🟢🟢❌❌❌
+
🟢🟢❌🟢❌❌❌
keys-mashup
🟢
mutations -
🟢🟢❌
+
🟢🟢🟢
mysterious-external
🟢🟢
nested-provides @@ -344,62 +344,62 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id node
🟢
non-resolvable-interface-object -
🟢🟢🟢🟢❌🟢❌
+
❌🟢❌🟢🟢🟢❌
null-keys
override-type-interface -
🟢❌🟢🟢
+
❌❌🟢🟢
override-with-requires
🟢🟢🟢🟢
parent-entity-call
🟢
parent-entity-call-complex -
+
🟢
provides-on-interface
❌❌
provides-on-union -
❌❌
+
🟢❌
requires-interface -
🟢🟢❌🟢🟢
+
🟢🟢🟢🟢🟢
requires-requires
🟢🟢🟢🟢🟢
requires-with-argument -
❌❌❌❌❌
+
🟢🟢🟢🟢🟢
requires-with-fragments -
❌❌❌❌❌❌
+
❌🟢🟢🟢❌🟢
shared-root -
🟢❌
+
🟢🟢
simple-entity-call
🟢
simple-inaccessible
🟢🟢🟢🟢
simple-interface-object -
🟢❌🟢🟢🟢❌❌❌❌🟢❌❌❌
+
🟢🟢❌🟢❌❌❌🟢❌❌❌❌❌
simple-override
🟢🟢
simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
typename -
🟢🟢🟢🟢❌🟢
+
🟢🟢🟢🟢🟢🟢
unavailable-override
🟢🟢
union-interface-distributed -
❌🟢🟢🟢🟢🟢🟢
+
🟢❌🟢🟢🟢🟢🟢
union-intersection -
🟢🟢🟢❌❌🟢🟢❌
+
🟢🟢🟢❌🟢🟢🟢❌
- + -### Grafbase Gateway +### Cosmo Router -- [Repository](https://github.com/grafbase/grafbase) -- [Website](https://grafbase.com) +- [Repository](https://github.com/wundergraph/cosmo) +- [Website](https://wundergraph.com)
Results abstract-types -
🟢🟢❌🟢🟢❌❌❌❌❌❌❌❌❌❌❌❌
+
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
child-type-mismatch
❌❌❌🟢
circular-reference-interface @@ -407,7 +407,7 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id complex-entity-call
corrupted-supergraph-node-id -
❌🟢❌🟢🟢❌🟢🟢🟢🟢
+
❌🟢🟢🟢🟢❌🟢🟢🟢🟢
enum-intersection
🟢🟢🟢🟢🟢
fed1-external-extends @@ -425,7 +425,7 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id input-object-intersection
🟢🟢🟢
interface-object-with-requires -
🟢🟢❌🟢❌❌❌
+
❌❌🟢🟢❌❌❌
keys-mashup
🟢
mutations @@ -437,49 +437,49 @@ You can look at the full list of tests [here](./src/test-suites/). Every test id node
🟢
non-resolvable-interface-object -
❌🟢❌🟢🟢🟢❌
+
🟢🟢🟢🟢❌🟢❌
null-keys
override-type-interface -
❌❌🟢🟢
+
🟢❌🟢🟢
override-with-requires
🟢🟢🟢🟢
parent-entity-call -
-parent-entity-call-complex
🟢
+parent-entity-call-complex +
provides-on-interface
❌❌
provides-on-union -
🟢❌
+
❌❌
requires-interface -
🟢🟢🟢🟢🟢
+
🟢🟢❌🟢🟢
requires-requires -
❌❌❌🟢❌
+
🟢🟢🟢🟢🟢
requires-with-argument -
🟢❌❌❌❌
+
❌❌❌❌❌
requires-with-fragments -
❌🟢🟢🟢❌🟢
+
❌❌❌❌❌❌
shared-root -
🟢🟢
+
🟢❌
simple-entity-call
🟢
simple-inaccessible
🟢🟢🟢🟢
simple-interface-object -
🟢🟢❌🟢❌❌❌🟢❌❌❌❌❌
+
🟢❌🟢🟢🟢❌❌❌❌🟢❌❌❌
simple-override
🟢🟢
simple-requires-provides
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
typename -
🟢🟢🟢🟢🟢🟢
+
🟢🟢🟢🟢❌🟢
unavailable-override
🟢🟢
union-interface-distributed -
🟢❌🟢🟢🟢🟢🟢
+
❌🟢🟢🟢🟢🟢🟢
union-intersection -
🟢🟢🟢❌🟢🟢🟢❌
+
🟢🟢🟢❌❌🟢🟢❌
diff --git a/gateways/cosmo-router/install.sh b/gateways/cosmo-router/install.sh index c7cd6fd..4e25a04 100755 --- a/gateways/cosmo-router/install.sh +++ b/gateways/cosmo-router/install.sh @@ -8,7 +8,7 @@ set -u BINARY_DOWNLOAD_PREFIX="https://github.com/wundergraph/cosmo/releases/download" # https://github.com/wundergraph/cosmo/releases -DOWNLOAD_VERSION="0.143.2" +DOWNLOAD_VERSION="0.144.0" download_binary() { downloader --check diff --git a/gateways/grafbase-gateway/install.sh b/gateways/grafbase-gateway/install.sh index 5ccfda7..329ccfd 100755 --- a/gateways/grafbase-gateway/install.sh +++ b/gateways/grafbase-gateway/install.sh @@ -5,7 +5,7 @@ set -euo pipefail # to the current directory instead of /usr/local/bin # https://github.com/grafbase/grafbase/releases -VERSION="0.19.0" +VERSION="0.20.1" error() { echo -e "${Red}error${Color_Off}:" "$@" >&2 diff --git a/gateways/grafbase-gateway/results.txt b/gateways/grafbase-gateway/results.txt index 5113a8e..6402466 100644 --- a/gateways/grafbase-gateway/results.txt +++ b/gateways/grafbase-gateway/results.txt @@ -1,11 +1,11 @@ abstract-types ..X..XXXXXXXXXXXX child-type-mismatch -XXX. +.... circular-reference-interface .. complex-entity-call -X +. corrupted-supergraph-node-id X.X..X.... enum-intersection @@ -13,7 +13,7 @@ enum-intersection fed1-external-extends .. fed1-external-extends-resolvable -X +. fed1-external-extension .. fed2-external-extends @@ -29,7 +29,7 @@ interface-object-with-requires keys-mashup . mutations -..X +... mysterious-external .. nested-provides @@ -45,7 +45,7 @@ XX.. override-with-requires .... parent-entity-call -X +. parent-entity-call-complex . provides-on-interface @@ -55,9 +55,9 @@ provides-on-union requires-interface ..... requires-requires -XXX.X +..... requires-with-argument -.XXXX +..... requires-with-fragments X...X. shared-root @@ -83,5 +83,5 @@ union-intersection --- Total: 171 -Passed: 113 -Failed: 58 \ No newline at end of file +Passed: 128 +Failed: 43 \ No newline at end of file diff --git a/gateways/hive-gateway/install.sh b/gateways/hive-gateway/install.sh index efb813d..4a0d238 100755 --- a/gateways/hive-gateway/install.sh +++ b/gateways/hive-gateway/install.sh @@ -1,2 +1,2 @@ # https://github.com/graphql-hive/gateway/releases -curl -sSL https://graphql-hive.com/install-gateway.sh | sh -s "1.4.12" \ No newline at end of file +curl -sSL https://graphql-hive.com/install-gateway.sh | sh -s "1.5.1" \ No newline at end of file diff --git a/gateways/hive-gateway/results.txt b/gateways/hive-gateway/results.txt index c1d86b3..271c742 100644 --- a/gateways/hive-gateway/results.txt +++ b/gateways/hive-gateway/results.txt @@ -41,7 +41,7 @@ non-resolvable-interface-object null-keys . override-type-interface -.... +X... override-with-requires .... parent-entity-call @@ -83,5 +83,5 @@ union-intersection --- Total: 171 -Passed: 171 -Failed: 0 \ No newline at end of file +Passed: 170 +Failed: 1 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index fde0750..86091fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "fets": "0.8.4", "get-port": "7.1.0", "graphql": "16.9.0", - "graphql-yoga": "5.10.2", + "graphql-yoga": "5.10.3", "jest-diff": "29.7.0", "kill-port-process": "3.2.1", "wait-on": "8.0.1", @@ -33,14 +33,14 @@ "@types/async-retry": "1.4.9", "@types/detect-port": "1.3.5", "@types/express": "5.0.0", - "@types/node": "22.9.0", + "@types/node": "22.9.1", "@types/wait-on": "5.3.4", "@types/yargs": "17.0.33", "express": "5.0.1", "prettier": "3.3.3", "tsx": "4.19.2", "typescript": "5.6.3", - "wgc": "0.70.3" + "wgc": "0.70.4" } }, "node_modules/@apollo/cache-control-types": { @@ -1285,12 +1285,12 @@ } }, "node_modules/@graphql-tools/executor": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.3.1.tgz", - "integrity": "sha512-tgJDdGf9SCAm64ofEMZdv925u6/J+eTmv36TGNLxgP2DpCJsZ6gnJ4A+0D28EazDXqJIvMiPd+3d+o3cCRCAnQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.3.3.tgz", + "integrity": "sha512-lpkgokF6vjGHNluANOTsWoSM0vuvUuVpjY1810tvM6Vlyoq2tJ+nmqweGbMsq/GLhmZQP1lY/nOkj2zPJXLWiw==", "license": "MIT", "dependencies": { - "@graphql-tools/utils": "^10.3.4", + "@graphql-tools/utils": "^10.5.6", "@graphql-typed-document-node/core": "3.2.0", "@repeaterjs/repeater": "^3.0.4", "tslib": "^2.4.0", @@ -1338,9 +1338,9 @@ } }, "node_modules/@graphql-tools/utils": { - "version": "10.5.4", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.5.4.tgz", - "integrity": "sha512-XHnyCWSlg1ccsD8s0y6ugo5GZ5TpkTiFVNPSYms5G0s6Z/xTuSmiLBfeqgkfaCwLmLaQnRCmNDL2JRnqc2R5bQ==", + "version": "10.5.6", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.5.6.tgz", + "integrity": "sha512-JAC44rhbLzXUHiltceyEpWkxmX4e45Dfg19wRFoA9EbDxQVbOzVNF76eEECdg0J1owFsJwfLqCwz7/6xzrovOw==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -2092,9 +2092,9 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.60.6", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.60.6.tgz", - "integrity": "sha512-FUzSDaiPkuZCmuGqrixfRRXJV9u+nrUh9lAlA5Q3ZFrOw1Js1VeBfxi1NIcJO3ZWJdKceBqKeBJdNcWStCYZnw==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.61.0.tgz", + "integrity": "sha512-SBzV27XAeCRBOQ8QcC94w2H1Md0+LI0gTWwc3qRJoaGuewKn5FNW4LSqwPFJZVEItfhMfGT7RpZuSFXjTi12pQ==", "dev": true, "license": "MIT", "peer": true, @@ -2242,9 +2242,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "22.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", + "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", "dev": true, "license": "MIT", "dependencies": { @@ -2398,9 +2398,9 @@ } }, "node_modules/@wundergraph/composition": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/@wundergraph/composition/-/composition-0.31.1.tgz", - "integrity": "sha512-3TEwOuqucA1Ryno7FWKsnrkAbuG5+/Gtm6jwFRs+KpapWHMmPB96OgthdPQ1vA20SE62MbeCGcgLDp7XQ26ezw==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@wundergraph/composition/-/composition-0.32.0.tgz", + "integrity": "sha512-z+NoWUz3GF3X+RrKpiNc4JwCF9+FJfQnVjOYOy98X8KRf94ND1aDAe67q04sTnLdI5/xzcTP/pk8u2t57viIdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2424,16 +2424,16 @@ } }, "node_modules/@wundergraph/cosmo-shared": { - "version": "0.32.5", - "resolved": "https://registry.npmjs.org/@wundergraph/cosmo-shared/-/cosmo-shared-0.32.5.tgz", - "integrity": "sha512-Gb8gE6BVZ7UaLI+bVu2TqpnLfs9NVCO7TBEfc+1VYrr17uy25sCwn9JRz6NR5CwgHi6wbGQt6CN8bANfIEAADw==", + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/@wundergraph/cosmo-shared/-/cosmo-shared-0.32.6.tgz", + "integrity": "sha512-vE7g+oN0gK1aJRbWKGdhUMaZEYfqDqbydSe1EcONjtIBdwE7bisF9h7gCXRPSLt4EKrri31WDttllPxYyX0Hqw==", "dev": true, "license": "Apache-2.0", "dependencies": { "@bufbuild/protobuf": "^1.9.0", "@graphql-tools/schema": "^8.5.1", "@graphql-tools/utils": "^9.2.1", - "@wundergraph/composition": "0.31.1", + "@wundergraph/composition": "0.32.0", "@wundergraph/cosmo-connect": "0.88.0", "graphql": "^16.9.0", "pino": "^8.14.1" @@ -4836,13 +4836,13 @@ } }, "node_modules/graphql-yoga": { - "version": "5.10.2", - "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.10.2.tgz", - "integrity": "sha512-LcbNUFCsCsv3enjGnXCUQNSKxM49iB4uF9H2Vb3WChBOSQjzqI1d83mvgMTgMVtrZYlKjgM/magMQZV211N2LA==", + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/graphql-yoga/-/graphql-yoga-5.10.3.tgz", + "integrity": "sha512-TE6tFvWvD6LHy1v0hleEnftla5Oo2plgat/r8yHcUSS0Qqb+5fb/eHlthNAi+81gFziHc1mUE5w8PqMjBL5/eA==", "license": "MIT", "dependencies": { "@envelop/core": "^5.0.1", - "@graphql-tools/executor": "^1.3.0", + "@graphql-tools/executor": "^1.3.3", "@graphql-tools/schema": "^10.0.4", "@graphql-tools/utils": "^10.3.2", "@graphql-yoga/logger": "^2.0.0", @@ -8616,9 +8616,9 @@ "license": "BSD-2-Clause" }, "node_modules/wgc": { - "version": "0.70.3", - "resolved": "https://registry.npmjs.org/wgc/-/wgc-0.70.3.tgz", - "integrity": "sha512-TuD/TXPu2pHPzonl4O6sDA4NMaEfvOu5ZvHpncNqOZI2HtSK0fX1/YGUlI7Cj/nbi9KuskY8dacAgRvxj+pxHg==", + "version": "0.70.4", + "resolved": "https://registry.npmjs.org/wgc/-/wgc-0.70.4.tgz", + "integrity": "sha512-p95CxODxAmEeiE4R29fj/9s3VxqbzsJGwuRAI76R/kzwwc8oXnqlmBY/bNDXEovbcrRKXdndZJKyqyIUiinL7Q==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8627,9 +8627,9 @@ "@connectrpc/connect-node": "^1.4.0", "@graphql-tools/utils": "^10.2.2", "@scarf/scarf": "^1.3.0", - "@wundergraph/composition": "0.31.1", + "@wundergraph/composition": "0.32.0", "@wundergraph/cosmo-connect": "0.88.0", - "@wundergraph/cosmo-shared": "0.32.5", + "@wundergraph/cosmo-shared": "0.32.6", "boxen": "^7.1.1", "cli-progress": "^3.12.0", "cli-table3": "^0.6.3", diff --git a/package.json b/package.json index ac1a9ed..b8e7cb5 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "fets": "0.8.4", "get-port": "7.1.0", "graphql": "16.9.0", - "graphql-yoga": "5.10.2", + "graphql-yoga": "5.10.3", "jest-diff": "29.7.0", "kill-port-process": "3.2.1", "wait-on": "8.0.1", @@ -71,7 +71,7 @@ "@apollo/server": "4.11.2", "@types/async-retry": "1.4.9", "@types/express": "5.0.0", - "@types/node": "22.9.0", + "@types/node": "22.9.1", "@types/wait-on": "5.3.4", "@types/yargs": "17.0.33", "@types/detect-port": "1.3.5", @@ -79,6 +79,6 @@ "prettier": "3.3.3", "tsx": "4.19.2", "typescript": "5.6.3", - "wgc": "0.70.3" + "wgc": "0.70.4" } } diff --git a/website/index.html b/website/index.html index a6378d0..2b8b725 100644 --- a/website/index.html +++ b/website/index.html @@ -40,7 +40,10 @@ content="https://federation-gateway-compatibility.pages.dev/og-image.png" /> - + @@ -229,7 +232,7 @@

Hive Gateway - 100.00% + 99.42% - ✓ 171 + ✓ 170 + ✗ 1 - ✓ 41 + ✓ 40 + ✗ 1 - Cosmo Router + Grafbase Gateway - 71.93% + 74.85% - ✓ 123 - ✗ 48 + ✓ 128 + ✗ 43 - ✓ 21 - ✗ 20 + ✓ 29 + ✗ 12 View report @@ -350,25 +355,25 @@

class="p-4 align-middle font-medium border-l-2 border-red-500" > - Grafbase Gateway + Cosmo Router - 66.08% + 71.93% - ✓ 113 - ✗ 58 + ✓ 123 + ✗ 48 - ✓ 22 - ✗ 19 + ✓ 21 + ✗ 20 View report