Skip to content

Commit 512a1f3

Browse files
committed
feat: update GraphQL compliance matrix and remove deprecated Apollo Federation dependency
1 parent 389a2a8 commit 512a1f3

4 files changed

Lines changed: 15 additions & 124 deletions

File tree

docs/protocol-compliance-matrix.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ ObjectQL supports four primary API protocols, each designed for different use ca
3939
| Specification | REST | GraphQL | OData V4 | JSON-RPC |
4040
|--------------|------|---------|----------|----------|
4141
| **Standard** | HTTP/1.1 RFC 7231 | GraphQL 2021 | OData V4.01 | JSON-RPC 2.0 |
42-
| **Compliance Level** | ✅ 100% |95% | ✅ 90% | ✅ 100% |
43-
| **Missing Features** | None | Federation | Delta Tokens | None |
44-
| **Custom Extensions** | None | Progress | Transaction Hints | SSE Progress |
42+
| **Compliance Level** | ✅ 100% |100% | ✅ 90% | ✅ 100% |
43+
| **Missing Features** | None | None | Delta Tokens | None |
44+
| **Custom Extensions** | None | Progress, Federation 2 | Transaction Hints | SSE Progress |
4545

4646
### Query Capabilities
4747

packages/protocols/graphql/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"test:watch": "vitest"
1818
},
1919
"dependencies": {
20-
"@apollo/federation": "^0.38.1",
2120
"@apollo/server": "^4.10.0",
2221
"@apollo/subgraph": "^2.13.0",
2322
"@graphql-tools/schema": "^10.0.2",

packages/protocols/graphql/src/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,15 @@ export class GraphQLPlugin implements RuntimePlugin {
686686
private generateSchema(): string {
687687
const objectTypes = this.getMetaTypes();
688688

689-
let typeDefs = `#graphql
689+
let typeDefs = `#graphql`;
690+
691+
if (this.config.enableFederation) {
692+
typeDefs += `
693+
extend schema @link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key", "@shareable"])
694+
`;
695+
}
696+
697+
typeDefs += `
690698
# Custom scalars
691699
"""
692700
Represents arbitrary JSON values. Can be used for dynamic data structures.

pnpm-lock.yaml

Lines changed: 3 additions & 119 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)