Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix a child data type field not being accessible via interfaceObject #82

Merged
merged 3 commits into from
Feb 11, 2025

Conversation

kamilkisiela
Copy link
Contributor

@kamilkisiela kamilkisiela commented Feb 11, 2025

Closes #80

Copy link
Contributor

github-actions bot commented Feb 11, 2025

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@theguild/federation-composition 0.14.4-alpha-20250211134604-ccb2a6b npm ↗︎ unpkg ↗︎

@kamilkisiela
Copy link
Contributor Author

I think I need one more person to approve.

@kamilkisiela kamilkisiela merged commit 7d640bf into main Feb 11, 2025
4 checks passed
@kamilkisiela kamilkisiela deleted the kamil-interface-obj-child-field branch February 11, 2025 16:32
kamilkisiela pushed a commit that referenced this pull request Feb 12, 2025
Patch Changes
#82 7d640bf Fix a child data type field not being accessible via interfaceObject
#81 ded4b47 Respect inaccessible enum values while creating the public schema from the supergraph AST
kamilkisiela pushed a commit that referenced this pull request Mar 26, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @theguild/[email protected]

# @theguild/federation-composition

## 0.14.5

### Patch Changes

- [#87](#87)
[`9c26af9`](9c26af9)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Do not raise
`DEFAULT_VALUE_USES_INACCESSIBLE` for inaccessible default value on
inaccessible field.

## 0.14.4

### Patch Changes

- [#82](#82)
[`7d640bf`](7d640bf)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a child
data type field not being accessible via interfaceObject

- [#81](#81)
[`ded4b47`](ded4b47)
Thanks [@ardatan](https://github.com/ardatan)! - Respect inaccessible
enum values while creating the public schema from the supergraph AST

## 0.14.3

### Patch Changes

- [#78](#78)
[`4e25e6d`](4e25e6d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
`transformSupergraphToPublicSchema` removes now `@policy`,
`@requiresScopes` and `@authenticated`

## 0.14.2

### Patch Changes

- [#76](#76)
[`a3cb724`](a3cb724)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a missing
`@join__field` on a query field where `@override` is used, but not in
all subgraphs.

## 0.14.1

### Patch Changes

- [#74](#74)
[`7456d14`](7456d14)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Show
TYPE_KIND_MISMATCH and ignore INTERFACE_FIELD_NO_IMPLEM when there is a
type kind mismatch

## 0.14.0

### Minor Changes

- [#72](#72)
[`780892d`](780892d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on enum values and unions

## 0.13.0

### Minor Changes

- [#70](#70)
[`627dea9`](627dea9)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on enum type definitions and extensions

## 0.12.1

### Patch Changes

- [#68](#68)
[`51dd57a`](51dd57a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Unknown types
are now always reported as GraphQLError (previously in some logic paths,
it was an
    exception).

## 0.12.0

### Minor Changes

- [#66](#66)
[`7603a4e`](7603a4e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
INTERFACE_FIELD_NO_IMPLEM

## 0.11.4

### Patch Changes

-   [#64](#64)

[`9ec8078`](9ec8078)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: detect
incorrect subtypes of
    interface fields across subgraphs

## 0.11.3

### Patch Changes

-   [#62](#62)

[`e50bc90`](e50bc90)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix: do not
expose `federation__Scope`
    and `federation__Policy` scalar definitions to a supergraph

## 0.11.2

### Patch Changes

-   [#60](#60)

[`2f7fef1`](2f7fef1)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Normalize
enum values to be printed as
enum values in Supergraph SDL, even if the user's subgraph schema has
them as strings

## 0.11.1

### Patch Changes

-   [#58](#58)

[`ab707b9`](ab707b9)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on Input Object
    types

## 0.11.0

### Minor Changes

-   [#52](#52)

[`589effd`](589effd)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
@interfaceObject directive

### Patch Changes

-   [#52](#52)

[`589effd`](589effd)
    Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
    INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE

## 0.10.1

### Patch Changes

-   [#55](#55)

[`5c4431d`](5c4431d)
    Thanks [@n1ru4l](https://github.com/n1ru4l)! - fix esm support

## 0.10.0

### Minor Changes

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Proper
implementation of
    SATISFIABILITY_ERROR

### Patch Changes

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
REQUIRES_FIELDS_MISSING_EXTERNAL in
    Fed v1

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
FIELD_TYPE_MISMATCH for unions and
    union members

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
PROVIDES_FIELDS_MISSING_EXTERNAL in
    Fed v1

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
REQUIRES_INVALID_FIELDS_TYPE for
    enum value

## 0.9.0

### Minor Changes

-   [#49](#49)

[`d6da339`](d6da339)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Adds
CompositionSuccess.publicSdl - SDL
    with only the queryable fields

## 0.8.2

### Patch Changes

-   [#46](#46)

[`cfa9950`](cfa9950)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
`requiresScopes__Scope` and
    `policy__Policy` to `transformSupergraphToPublicSchema`

-   [#44](#44)

[`de983b0`](de983b0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
containsSupergraphSpec to detect if
    Supergraph related scalars, enums or directives are used

## 0.8.1

### Patch Changes

-   [#42](#42)

[`f858c3f`](f858c3f)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Fix REQUIRED_INACCESSIBLE
occurring on inaccessible
    fields/input types

## 0.8.0

### Minor Changes

-   [#40](#40)

[`4cba351`](4cba351)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Implement validation
rules for
    `REQUIRED_INACCESSIBLE` for input types and field arguments.

## 0.7.1

### Patch Changes

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Visit every
field in provides and
    requires directives

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary
join\_\_field(override:) on Query fields when it points to non-existing
subgraph

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Deduplicate
composed directives

-   [#39](#39)

[`e77eb2c`](e77eb2c)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Ignore inaccessible field
arguments within the
    `DEFAULT_VALUE_USES_INACCESSIBLE` rule.

Fixes an issue where an inaccessible field argument uses a default value
that is inaccessible
    would cause a false error.

    ```graphql
    type User @key(fields: "id") {
      id: ID
      friends(type: FriendType = FAMILY @inaccessible): [User!]!
    }

    enum FriendType {
      FAMILY @inaccessible
      FRIEND
    }
    ```

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Remove
duplicated link spec definitions

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Drop unused
fields marked with
    @external only in a single type in Fed v1

-
[`220dfc0`](220dfc0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
usedOverridden on
    non-external key field

## 0.7.0

### Minor Changes

-
[`88a3fd0`](88a3fd0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Validate
directive definitions

### Patch Changes

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
@join\_\_field on
    non-external, but shareable fields, with @OverRide in some graphs

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
FIELD_TYPE_MISMATCH - support
    [User!] vs [User] in output types

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
@join\_\_field(usedOverridden:)

-
[`ee34815`](ee34815)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
ProvidedArgumentsOnDirectivesRule
    and allow to use "\[]" when "[String]" is expected

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - delete
subgraph spec according to
    schema definition/extension object

-
[`88a3fd0`](88a3fd0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: allow to
overwrite specified
    directives

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Ignore
inaccessible enum values in
    ENUM_VALUE_MISMATCH rule

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
SATISFIABILITY_ERROR - resolve
    query path step by step

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
description of fields with
    @OverRide

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Allow
@key(fields: ["a", "b"]) in
    Federation v1

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary join\_\_field(external)
    for extension type where field is not needed by the query planner

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary join\_\_field(external:
    true) on key fields

-
[`a8a253d`](a8a253d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
SATISFIABILITY_ERROR improvements

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
@join\_\_field(external: true)
    missing when field is overridden

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
SATISFIABILITY_ERROR - check
    satisfiability of non-entity types

## 0.6.2

### Patch Changes

-
[`1ddf34e`](1ddf34e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
EXTERNAL_ARGUMENT_MISSING - include
    nullable arguments as well

-
[`1ddf34e`](1ddf34e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Merge type
definitions and type
extensions when validating fields used in @requires, @provides and @key

-
[`2525a24`](2525a24)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support [T!]!
type in @key(fields),
    @provides(fields) and @requires(fields)

## 0.6.1

### Patch Changes

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
join\_\_field

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix default
values

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: cannot
move subgraphs without @key
    and common query path

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Ignore
specified directives and scalars
    when printing supergraph

## 0.6.0

### Minor Changes

-
[`9195942`](9195942)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Detect
composed directives without spec

### Patch Changes

-
[`3196317`](3196317)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix field
sharing logic for Federation
    v1

-
[`af15843`](af15843)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
OVERRIDE_SOURCE_HAS_OVERRIDE rule
    to find circular refs

-
[`c182a8a`](c182a8a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
discoverability of directive
    definitions

-
[`c182a8a`](c182a8a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
descriptions on arguments of object
    type fields

-
[`cab3b49`](cab3b49)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix adding
unnecessary
    `@join__type(extension:true)`

-
[`af15843`](af15843)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Prevent
shareable fields on root level
    subscription object

## 0.5.0

### Minor Changes

-   [#28](#28)

[`21fa482`](21fa482)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support v2.4,
v2.5 and v2.6

## 0.4.0

### Minor Changes

-   [#25](#25)

[`c17a037`](c17a037)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
PROVIDES_INVALID_FIELDS: empty
    selection set

### Patch Changes

-   [#26](#26)

[`3c45c20`](3c45c20)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
INVALID_FIELD_SHARING: adjust the check
    to detect valid override directive

## 0.3.0

### Minor Changes

-   [#23](#23)

[`2d72e03`](2d72e03)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add sortSDL
function to sort
    DocumentNode (type system definitions and extensions)

## 0.2.0

### Minor Changes

-   [#21](#21)

[`443283e`](443283e)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Remove
`stripFederationFromSupergraph` in favor of
    `transformSupergraphToPublicSchema`.

Instead of stripping only federation specific types,
`transformSupergraphToPublicSchema` yields
    the public api schema as served by the gateway.

## 0.1.4

### Patch Changes

-   [#19](#19)

[`e0ef0bb`](e0ef0bb)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Make
`stripFederationFromSupergraph`
    less strict and remove only Federation directives

## 0.1.3

### Patch Changes

-   [#17](#17)

[`a508ad2`](a508ad2)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
SATISFIABILITY_ERROR - allow to resolve
    a field via entity type's child

## 0.1.2

### Patch Changes

-   [#15](#15)

[`37e164c`](37e164c)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
join**FieldSet, link**Import,
    link\_\_Purpose to stripFederationFromSupergraph

## 0.1.1

### Patch Changes

-   [#12](#12)

[`75d2117`](75d2117)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
repository to package.json

## 0.1.0

### Minor Changes

-
[`8574d45`](8574d45)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Release
v0.1.0

## 0.0.0

### Minor Changes

-   [#9](#9)

[`b37a82d`](b37a82d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Initial
version

### Patch Changes

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Report error
when interfaceObject
    directive is detected

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a case
when all fields are marked
    as external and are only used by key directive

-
[`1196bde`](1196bde)
    Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Init

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
validateSubgraph function

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
kamilkisiela pushed a commit that referenced this pull request Mar 28, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @theguild/[email protected]

# @theguild/federation-composition

## 0.14.5

### Patch Changes

- [#87](#87)
[`9c26af9`](9c26af9)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Do not raise
`DEFAULT_VALUE_USES_INACCESSIBLE` for inaccessible default value on
inaccessible field.

## 0.14.4

### Patch Changes

- [#82](#82)
[`7d640bf`](7d640bf)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a child
data type field not being accessible via interfaceObject

- [#81](#81)
[`ded4b47`](ded4b47)
Thanks [@ardatan](https://github.com/ardatan)! - Respect inaccessible
enum values while creating the public schema from the supergraph AST

## 0.14.3

### Patch Changes

- [#78](#78)
[`4e25e6d`](4e25e6d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
`transformSupergraphToPublicSchema` removes now `@policy`,
`@requiresScopes` and `@authenticated`

## 0.14.2

### Patch Changes

- [#76](#76)
[`a3cb724`](a3cb724)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a missing
`@join__field` on a query field where `@override` is used, but not in
all subgraphs.

## 0.14.1

### Patch Changes

- [#74](#74)
[`7456d14`](7456d14)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Show
TYPE_KIND_MISMATCH and ignore INTERFACE_FIELD_NO_IMPLEM when there is a
type kind mismatch

## 0.14.0

### Minor Changes

- [#72](#72)
[`780892d`](780892d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on enum values and unions

## 0.13.0

### Minor Changes

- [#70](#70)
[`627dea9`](627dea9)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on enum type definitions and extensions

## 0.12.1

### Patch Changes

- [#68](#68)
[`51dd57a`](51dd57a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Unknown types
are now always reported as GraphQLError (previously in some logic paths,
it was an
    exception).

## 0.12.0

### Minor Changes

- [#66](#66)
[`7603a4e`](7603a4e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
INTERFACE_FIELD_NO_IMPLEM

## 0.11.4

### Patch Changes

-   [#64](#64)

[`9ec8078`](9ec8078)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: detect
incorrect subtypes of
    interface fields across subgraphs

## 0.11.3

### Patch Changes

-   [#62](#62)

[`e50bc90`](e50bc90)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix: do not
expose `federation__Scope`
    and `federation__Policy` scalar definitions to a supergraph

## 0.11.2

### Patch Changes

-   [#60](#60)

[`2f7fef1`](2f7fef1)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Normalize
enum values to be printed as
enum values in Supergraph SDL, even if the user's subgraph schema has
them as strings

## 0.11.1

### Patch Changes

-   [#58](#58)

[`ab707b9`](ab707b9)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
directives on Input Object
    types

## 0.11.0

### Minor Changes

-   [#52](#52)

[`589effd`](589effd)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
@interfaceObject directive

### Patch Changes

-   [#52](#52)

[`589effd`](589effd)
    Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
    INTERFACE_KEY_MISSING_IMPLEMENTATION_TYPE

## 0.10.1

### Patch Changes

-   [#55](#55)

[`5c4431d`](5c4431d)
    Thanks [@n1ru4l](https://github.com/n1ru4l)! - fix esm support

## 0.10.0

### Minor Changes

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Proper
implementation of
    SATISFIABILITY_ERROR

### Patch Changes

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
REQUIRES_FIELDS_MISSING_EXTERNAL in
    Fed v1

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
FIELD_TYPE_MISMATCH for unions and
    union members

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
PROVIDES_FIELDS_MISSING_EXTERNAL in
    Fed v1

-   [#51](#51)

[`8cd5287`](8cd5287)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
REQUIRES_INVALID_FIELDS_TYPE for
    enum value

## 0.9.0

### Minor Changes

-   [#49](#49)

[`d6da339`](d6da339)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Adds
CompositionSuccess.publicSdl - SDL
    with only the queryable fields

## 0.8.2

### Patch Changes

-   [#46](#46)

[`cfa9950`](cfa9950)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
`requiresScopes__Scope` and
    `policy__Policy` to `transformSupergraphToPublicSchema`

-   [#44](#44)

[`de983b0`](de983b0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
containsSupergraphSpec to detect if
    Supergraph related scalars, enums or directives are used

## 0.8.1

### Patch Changes

-   [#42](#42)

[`f858c3f`](f858c3f)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Fix REQUIRED_INACCESSIBLE
occurring on inaccessible
    fields/input types

## 0.8.0

### Minor Changes

-   [#40](#40)

[`4cba351`](4cba351)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Implement validation
rules for
    `REQUIRED_INACCESSIBLE` for input types and field arguments.

## 0.7.1

### Patch Changes

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Visit every
field in provides and
    requires directives

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary
join\_\_field(override:) on Query fields when it points to non-existing
subgraph

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Deduplicate
composed directives

-   [#39](#39)

[`e77eb2c`](e77eb2c)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Ignore inaccessible field
arguments within the
    `DEFAULT_VALUE_USES_INACCESSIBLE` rule.

Fixes an issue where an inaccessible field argument uses a default value
that is inaccessible
    would cause a false error.

    ```graphql
    type User @key(fields: "id") {
      id: ID
      friends(type: FriendType = FAMILY @inaccessible): [User!]!
    }

    enum FriendType {
      FAMILY @inaccessible
      FRIEND
    }
    ```

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Remove
duplicated link spec definitions

-   [#36](#36)

[`fdba937`](fdba937)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Drop unused
fields marked with
    @external only in a single type in Fed v1

-
[`220dfc0`](220dfc0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
usedOverridden on
    non-external key field

## 0.7.0

### Minor Changes

-
[`88a3fd0`](88a3fd0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Validate
directive definitions

### Patch Changes

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
@join\_\_field on
    non-external, but shareable fields, with @OverRide in some graphs

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
FIELD_TYPE_MISMATCH - support
    [User!] vs [User] in output types

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support
@join\_\_field(usedOverridden:)

-
[`ee34815`](ee34815)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
ProvidedArgumentsOnDirectivesRule
    and allow to use "\[]" when "[String]" is expected

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - delete
subgraph spec according to
    schema definition/extension object

-
[`88a3fd0`](88a3fd0)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: allow to
overwrite specified
    directives

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Ignore
inaccessible enum values in
    ENUM_VALUE_MISMATCH rule

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
SATISFIABILITY_ERROR - resolve
    query path step by step

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
description of fields with
    @OverRide

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Allow
@key(fields: ["a", "b"]) in
    Federation v1

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary join\_\_field(external)
    for extension type where field is not needed by the query planner

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
unnecessary join\_\_field(external:
    true) on key fields

-
[`a8a253d`](a8a253d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
SATISFIABILITY_ERROR improvements

-
[`a578a92`](a578a92)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
@join\_\_field(external: true)
    missing when field is overridden

-
[`56b6c95`](56b6c95)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Improve
SATISFIABILITY_ERROR - check
    satisfiability of non-entity types

## 0.6.2

### Patch Changes

-
[`1ddf34e`](1ddf34e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
EXTERNAL_ARGUMENT_MISSING - include
    nullable arguments as well

-
[`1ddf34e`](1ddf34e)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Merge type
definitions and type
extensions when validating fields used in @requires, @provides and @key

-
[`2525a24`](2525a24)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support [T!]!
type in @key(fields),
    @provides(fields) and @requires(fields)

## 0.6.1

### Patch Changes

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix missing
join\_\_field

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix default
values

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - fix: cannot
move subgraphs without @key
    and common query path

-
[`55343ba`](55343ba)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Ignore
specified directives and scalars
    when printing supergraph

## 0.6.0

### Minor Changes

-
[`9195942`](9195942)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Detect
composed directives without spec

### Patch Changes

-
[`3196317`](3196317)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix field
sharing logic for Federation
    v1

-
[`af15843`](af15843)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
OVERRIDE_SOURCE_HAS_OVERRIDE rule
    to find circular refs

-
[`c182a8a`](c182a8a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
discoverability of directive
    definitions

-
[`c182a8a`](c182a8a)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix
descriptions on arguments of object
    type fields

-
[`cab3b49`](cab3b49)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix adding
unnecessary
    `@join__type(extension:true)`

-
[`af15843`](af15843)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Prevent
shareable fields on root level
    subscription object

## 0.5.0

### Minor Changes

-   [#28](#28)

[`21fa482`](21fa482)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Support v2.4,
v2.5 and v2.6

## 0.4.0

### Minor Changes

-   [#25](#25)

[`c17a037`](c17a037)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
PROVIDES_INVALID_FIELDS: empty
    selection set

### Patch Changes

-   [#26](#26)

[`3c45c20`](3c45c20)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
INVALID_FIELD_SHARING: adjust the check
    to detect valid override directive

## 0.3.0

### Minor Changes

-   [#23](#23)

[`2d72e03`](2d72e03)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add sortSDL
function to sort
    DocumentNode (type system definitions and extensions)

## 0.2.0

### Minor Changes

-   [#21](#21)

[`443283e`](443283e)
Thanks [@n1ru4l](https://github.com/n1ru4l)! - Remove
`stripFederationFromSupergraph` in favor of
    `transformSupergraphToPublicSchema`.

Instead of stripping only federation specific types,
`transformSupergraphToPublicSchema` yields
    the public api schema as served by the gateway.

## 0.1.4

### Patch Changes

-   [#19](#19)

[`e0ef0bb`](e0ef0bb)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Make
`stripFederationFromSupergraph`
    less strict and remove only Federation directives

## 0.1.3

### Patch Changes

-   [#17](#17)

[`a508ad2`](a508ad2)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! -
SATISFIABILITY_ERROR - allow to resolve
    a field via entity type's child

## 0.1.2

### Patch Changes

-   [#15](#15)

[`37e164c`](37e164c)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
join**FieldSet, link**Import,
    link\_\_Purpose to stripFederationFromSupergraph

## 0.1.1

### Patch Changes

-   [#12](#12)

[`75d2117`](75d2117)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
repository to package.json

## 0.1.0

### Minor Changes

-
[`8574d45`](8574d45)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Release
v0.1.0

## 0.0.0

### Minor Changes

-   [#9](#9)

[`b37a82d`](b37a82d)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Initial
version

### Patch Changes

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Report error
when interfaceObject
    directive is detected

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Fix a case
when all fields are marked
    as external and are only used by key directive

-
[`1196bde`](1196bde)
    Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Init

-
[`1196bde`](1196bde)
Thanks [@kamilkisiela](https://github.com/kamilkisiela)! - Add
validateSubgraph function

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This was referenced Mar 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Composition error with @interfaceObject
3 participants