mirumee/ariadne

[federation] support new @composeDirective

開放

#1,031 建立於 2023年2月17日

 (1 則留言) (0 個反應) (0 位負責人)Python (195 個分叉)batch import
help wanted

倉庫指標

星標
 (2,342 顆星)
PR 合併指標
 (平均合併 12天) (30 天內合併 3 個 PR)

描述

Apollo Federation v2.1 introduced new @composeDirective directive that allows users to specify directives that should be preserved in the supergraph composition (by default composition strips out most directives from supergraph).

extend schema
  @link(
    url: "https://specs.apollo.dev/federation/v2.3",
    import: ["@composeDirective", "@extends", "@external", "@key", "@inaccessible", "@interfaceObject", "@override", "@provides", "@requires", "@shareable", "@tag"]
  )
  @link(url: "https://myspecs.dev/myCustomDirective/v1.0", import: ["@custom"])
  @composeDirective(name: "@custom")

// will be present in the supergraph definition
directive @custom on OBJECT

type Product @custom @key(fields: "id")
  id: ID!
  // other fields omitted for clarity
}

Additional resources:


New directive functionality can be tested using Apollo Federation Subgraph Compatibility NPX script (and Github Action). Example integration project is already provided in the subgraph compatibility testing repository.

貢獻者指南