diff --git a/implementations/apollo-server/metadata.json b/implementations/apollo-server/metadata.json
index 6a9495e7a..6dbe9429a 100644
--- a/implementations/apollo-server/metadata.json
+++ b/implementations/apollo-server/metadata.json
@@ -6,6 +6,7 @@
"repository": {
"name": "apollo-server",
"owner": "apollographql",
+ "maintainer" : "apollographql",
"link": "https://github.com/apollographql/apollo-server"
},
"coreLibrary": {
@@ -14,6 +15,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer": "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/dgs/metadata.json b/implementations/dgs/metadata.json
index 6f12f57bf..9dce46666 100644
--- a/implementations/dgs/metadata.json
+++ b/implementations/dgs/metadata.json
@@ -15,6 +15,7 @@
"federationlibrary": {
"name": "federation-jvm",
"owner": "apollographql",
+ "maintainer" : "apollographql",
"link": "https://github.com/apollographql/federation-jvm"
}
}
\ No newline at end of file
diff --git a/implementations/express-graphql/metadata.json b/implementations/express-graphql/metadata.json
index 581e08ffd..b2125e37f 100644
--- a/implementations/express-graphql/metadata.json
+++ b/implementations/express-graphql/metadata.json
@@ -14,6 +14,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/graphql-java-kickstart/metadata.json b/implementations/graphql-java-kickstart/metadata.json
index bea7fa243..0730abb36 100644
--- a/implementations/graphql-java-kickstart/metadata.json
+++ b/implementations/graphql-java-kickstart/metadata.json
@@ -15,6 +15,7 @@
"federationlibrary": {
"name": "federation-jvm",
"owner": "apollographql",
+ "maintainer": "apollographql",
"link": "https://github.com/apollographql/federation-jvm"
}
}
\ No newline at end of file
diff --git a/implementations/graphql-yoga/metadata.json b/implementations/graphql-yoga/metadata.json
index 343e6087b..b1b8fd014 100644
--- a/implementations/graphql-yoga/metadata.json
+++ b/implementations/graphql-yoga/metadata.json
@@ -15,6 +15,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/helix/metadata.json b/implementations/helix/metadata.json
index 709e9bd38..fcff28660 100644
--- a/implementations/helix/metadata.json
+++ b/implementations/helix/metadata.json
@@ -15,6 +15,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/hotchocolate/metadata.json b/implementations/hotchocolate/metadata.json
index d233218bd..71ea73828 100644
--- a/implementations/hotchocolate/metadata.json
+++ b/implementations/hotchocolate/metadata.json
@@ -12,6 +12,7 @@
"federationlibrary": {
"name": "federation-hotchocolate",
"owner": "apollographql",
+ "maintainer": "apollographql",
"link": "https://github.com/apollographql/federation-hotchocolate"
}
}
\ No newline at end of file
diff --git a/implementations/mercurius/metadata.json b/implementations/mercurius/metadata.json
index fd921f06f..435befb48 100644
--- a/implementations/mercurius/metadata.json
+++ b/implementations/mercurius/metadata.json
@@ -14,6 +14,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/neo4j-graphql/metadata.json b/implementations/neo4j-graphql/metadata.json
index 09b63d2ff..2e163ce0c 100644
--- a/implementations/neo4j-graphql/metadata.json
+++ b/implementations/neo4j-graphql/metadata.json
@@ -14,6 +14,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
diff --git a/implementations/nestjs-code-first/metadata.json b/implementations/nestjs-code-first/metadata.json
index 3a07773db..bffe0b951 100644
--- a/implementations/nestjs-code-first/metadata.json
+++ b/implementations/nestjs-code-first/metadata.json
@@ -15,6 +15,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/nestjs/metadata.json b/implementations/nestjs/metadata.json
index 79cebabd7..b3769cbfa 100644
--- a/implementations/nestjs/metadata.json
+++ b/implementations/nestjs/metadata.json
@@ -15,6 +15,7 @@
},
"federationlibrary": {
"name": "Apollo Subgraph",
+ "maintainer" : "apollographql",
"link": "https://www.npmjs.com/package/@apollo/subgraph"
}
}
\ No newline at end of file
diff --git a/implementations/spring-graphql/metadata.json b/implementations/spring-graphql/metadata.json
index 65ceeed2d..85bad2ae9 100644
--- a/implementations/spring-graphql/metadata.json
+++ b/implementations/spring-graphql/metadata.json
@@ -15,6 +15,7 @@
"federationlibrary": {
"name": "federation-jvm",
"owner": "apollographql",
+ "maintainer": "apollographql",
"link": "https://github.com/apollographql/federation-jvm"
}
}
\ No newline at end of file
diff --git a/implementations/strawberry-graphql/metadata.json b/implementations/strawberry-graphql/metadata.json
index e96c58316..8afb2d3c2 100644
--- a/implementations/strawberry-graphql/metadata.json
+++ b/implementations/strawberry-graphql/metadata.json
@@ -6,7 +6,7 @@
"repository": {
"name": "strawberry",
"owner": "strawberry-graphql",
- "link": "https://github.com/strawberry-graphql/strawberry"
+ "link": "https://github.com/strawberry-graphql/strawberry",
},
"coreLibrary": {
"name": "GraphQL-core 3",
diff --git a/packages/compatibility/src/testRunner.ts b/packages/compatibility/src/testRunner.ts
index 2d65ba9c8..415ed4af3 100644
--- a/packages/compatibility/src/testRunner.ts
+++ b/packages/compatibility/src/testRunner.ts
@@ -162,6 +162,7 @@ export interface TestResultDetails {
export interface RepositoryInformation {
name: string;
owner?: string;
+ maintainer?: string;
link: string;
}
diff --git a/packages/compatibility/src/utils/markdown.ts b/packages/compatibility/src/utils/markdown.ts
index 816ed05d1..f2be02ce7 100644
--- a/packages/compatibility/src/utils/markdown.ts
+++ b/packages/compatibility/src/utils/markdown.ts
@@ -2,6 +2,10 @@ import { writeFileSync } from 'fs';
import { resolve } from 'path';
import { TestResultDetails, TestResults, TESTS } from '../testRunner';
+const apolloIcon: string =
+ '';
+const apolloName: string = 'apollographql';
+
export function generateMarkdown(results: TestResultDetails[]) {
const markdownFile = new MarkdownFile(true);
@@ -60,6 +64,7 @@ class MarkdownFile {
| Icon | Description |
| ---- | ---------------------------------------------------- |
+| ${apolloIcon} | Maintained by Apollo |
| 🟢 | Functionality is supported |
| ❌ | Critical functionality is NOT supported |
| 🔲 | Additional federation functionality is NOT supported |
@@ -123,7 +128,7 @@ class MarkdownFile {
}
renderSubgraphDetailsCell(result: TestResultDetails): String {
- let content = `${result.description}`;
+ let content = `${result.description}
`;
if (result.repository?.link) {
const starCount = Number(result.stargazerCount);
@@ -135,24 +140,36 @@ class MarkdownFile {
}
const lastReleaseDate = result.lastRelease.substring(0, 10);
- content += `Github: ${result.repository.owner}/${result.repository.name}
-Type: ${result.type}
-Stars: ${stars} ⭐
-Last Release: ${lastReleaseDate}`;
+ let repoName = result.repository.owner
+ ? `${result.repository.owner}/${result.repository.name}`
+ : result.repository.name;
+ if (result.repository.maintainer === apolloName) {
+ repoName += ` ${apolloIcon}`;
+ }
+ content += `Github: ${repoName}
+Type: ${result.type}
+Stars: ${stars} ⭐
+Last Release: ${lastReleaseDate}
`;
}
if (result.coreLibrary?.link) {
- const coreLibraryName = result.coreLibrary.owner
+ let coreLibraryName = result.coreLibrary.owner
? `${result.coreLibrary.owner}/${result.coreLibrary.name}`
: result.coreLibrary.name;
- content += `Core Library: ${coreLibraryName}`;
+ if (result.coreLibrary.maintainer === apolloName) {
+ coreLibraryName += ` ${apolloIcon}`;
+ }
+ content += `Core Library: ${coreLibraryName}
`;
}
if (result.federationlibrary?.link) {
- const fedLibraryName = result.federationlibrary.owner
+ let fedLibraryName = result.federationlibrary.owner
? `${result.federationlibrary.owner}/${result.federationlibrary.name}`
: result.federationlibrary.name;
- content += `Federation Library: ${fedLibraryName}`;
+ if (result.federationlibrary.maintainer === apolloName) {
+ fedLibraryName += ` ${apolloIcon}`;
+ }
+ content += `Federation Library: ${fedLibraryName}
`;
}
return content;