From a5fb77a421ec8dde091e2e41fefd38495c2b222a Mon Sep 17 00:00:00 2001 From: Arda TANRIKULU Date: Thu, 12 Aug 2021 20:56:44 +0300 Subject: [PATCH] fix(merge): ignore comments while merging directives #3031 --- .changeset/plenty-jars-exist.md | 5 +++++ packages/merge/src/typedefs-mergers/directives.ts | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 .changeset/plenty-jars-exist.md diff --git a/.changeset/plenty-jars-exist.md b/.changeset/plenty-jars-exist.md new file mode 100644 index 00000000000..f17a44c3d39 --- /dev/null +++ b/.changeset/plenty-jars-exist.md @@ -0,0 +1,5 @@ +--- +'@graphql-tools/merge': patch +--- + +fix(merge): ignore comments while merging directives #3031 diff --git a/packages/merge/src/typedefs-mergers/directives.ts b/packages/merge/src/typedefs-mergers/directives.ts index 2808edbf62e..ef2a2410ee1 100644 --- a/packages/merge/src/typedefs-mergers/directives.ts +++ b/packages/merge/src/typedefs-mergers/directives.ts @@ -83,8 +83,14 @@ export function mergeDirectives( } function validateInputs(node: DirectiveDefinitionNode, existingNode: DirectiveDefinitionNode): void | never { - const printedNode = print(node); - const printedExistingNode = print(existingNode); + const printedNode = print({ + ...node, + description: undefined, + }); + const printedExistingNode = print({ + ...existingNode, + description: undefined, + }); // eslint-disable-next-line const leaveInputs = new RegExp('(directive @w*d*)|( on .*$)', 'g'); const sameArguments = printedNode.replace(leaveInputs, '') === printedExistingNode.replace(leaveInputs, '');