@graphql-tools/executor@4.1.3
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/executor-apollo-link@3.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/executor-envelop@5.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/executor-legacy-ws@2.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/executor-urql-exchange@2.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/executor-yoga@4.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/executor-envelop@5.0.5
@graphql-tools/graphql-tag-pluck@9.0.6
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
graphql-tools@10.0.5
Patch Changes
- Updated dependencies []:
- @graphql-tools/schema@11.0.5
@graphql-tools/import@8.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/links@11.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/load@9.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/schema@11.0.5
@graphql-tools/load-files@8.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/apollo-engine-loader@9.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/code-file-loader@9.0.6
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/graphql-tag-pluck@9.0.6
- @graphql-tools/load-files@8.0.5
@graphql-tools/external-fragment-loader@1.0.6
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/graphql-tag-pluck@9.0.6
- @graphql-tools/load-files@8.0.5
@graphql-tools/git-loader@9.0.6
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/graphql-tag-pluck@9.0.6
@graphql-tools/github-loader@10.0.6
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/graphql-tag-pluck@9.0.6
@graphql-tools/graphql-file-loader@9.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/import@8.0.5
- @graphql-tools/load-files@8.0.5
@graphql-tools/json-file-loader@9.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/load-files@8.0.5
@graphql-tools/module-loader@9.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/url-loader@10.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/executor-legacy-ws@2.0.5
@graphql-tools/merge@10.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/mock@10.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/schema@11.0.5
@graphql-tools/node-require@8.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/load@9.0.5
- @graphql-tools/graphql-file-loader@9.0.5
@graphql-tools/relay-operation-optimizer@8.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/resolvers-composition@8.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
@graphql-tools/schema@11.0.5
Patch Changes
- Updated dependencies [
501109b]:- @graphql-tools/utils@13.1.2
- @graphql-tools/merge@10.0.5
@graphql-tools/utils@13.1.2
Patch Changes
-
#8558
501109bThanks @ardatan! -printSchemaWithDirectivesno longer turns unquoted directive argument literals into strings.In GraphQL SDL, an unquoted identifier in value position is an
EnumValueAST node. A quoted value is aStringValue. Those are different kinds even when the argument type is a custom scalar rather than anenumtype.parseLiteralon that scalar receives the original kind, so a custom scalar can treatargument_valueand"argument_value"as different inputs.The printer was reconstructing directive arguments from JS values.
valueFromASTUntypedmaps both kinds to the same string, andastFromValuethen emits aStringValue. The printed SDL became@directive(arg: "argument_value")even though the schema AST still had@directive(arg: argument_value).That is a round-trip / fidelity bug: loaders, schema diffs, snapshots, and subgraph publishes see different SDL, and a scalar that distinguishes the two kinds changes meaning. Default scalars coerce both to the same JS string, so many runtime paths do not notice.
When the original AST is still the source of truth,
printSchemaWithDirectivesnow keeps those directive argument nodes, including nested list and input-object values. If directive values are supplied only through extensions (code-first), JS strings are still printed as strings because the original kind is not available.Fixes #8557