Skip to content

Commit

Permalink
feat(federation): allow users to change the version of the spec
Browse files Browse the repository at this point in the history
  • Loading branch information
ardatan committed Feb 8, 2023
1 parent b927e9f commit 7e8bb87
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 2 deletions.
6 changes: 6 additions & 0 deletions .changeset/strong-bags-reply.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@graphql-mesh/transform-federation': minor
'@graphql-mesh/types': minor
---

Allow users to change the version of the federation spec
2 changes: 1 addition & 1 deletion packages/transforms/federation/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ export default class FederationTransform implements MeshTransform {
const directivesObj: any = ((schemaWithUnionType.extensions as any).directives =
schemaWithUnionType.extensions.directives || {});
directivesObj.link = {
url: 'https://specs.apollo.dev/federation/v2.0',
url: 'https://specs.apollo.dev/federation/' + (this.config.version || 'v2.0'),
import: federationDirectives.map(dirName => `@${dirName}`),
};

Expand Down
5 changes: 5 additions & 0 deletions packages/transforms/federation/yaml-config.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ extend type Transform {

type FederationTransform @md {
types: [FederationTransformType!]
"""
Version of the federation spec
Default: v2.0
"""
version: String
}

type FederationTransformType {
Expand Down
4 changes: 4 additions & 0 deletions packages/types/src/config-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -3048,6 +3048,10 @@
"$ref": "#/definitions/FederationTransformType"
},
"additionalItems": false
},
"version": {
"type": "string",
"description": "Version of the federation spec\nDefault: v2.0"
}
}
},
Expand Down
5 changes: 5 additions & 0 deletions packages/types/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1101,6 +1101,11 @@ export interface ExtendTransform {
}
export interface FederationTransform {
types?: FederationTransformType[];
/**
* Version of the federation spec
* Default: v2.0
*/
version?: string;
}
export interface FederationTransformType {
name: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,6 @@
```yaml
args:
someArg: "{root.someKeyValue}"
```
```
* `version` (type: `String`) - Version of the federation spec
Default: v2.0

0 comments on commit 7e8bb87

Please sign in to comment.