apollographql / apollographql/federation

Conflicting peer dependency for graphql dependency (local development)

Open
#1,699 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
727
Forks
276
Avg merge
1h 47m
Merged PRs (30d)
1

Description

When installing for local development, there are warnings about a conflicting peer dependency with `graphql`.

```sh
➜ npm i --cache $(mktemp -d)
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: relay-compiler@12.0.0
npm WARN Found: graphql@16.3.0
npm WARN node_modules/graphql
npm WARN dev graphql@"16.3.0" from the root project
npm WARN 50 more (@apollo/client, @apollo/core-schema, ...)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer graphql@"^15.0.0" from relay-compiler@12.0.0
npm WARN node_modules/@graphql-tools/relay-operation-optimizer/node_modules/relay-compiler
npm WARN relay-compiler@"12.0.0" from @graphql-tools/relay-operation-optimizer@6.4.1
npm WARN node_modules/@graphql-tools/relay-operation-optimizer
npm WARN
npm WARN Conflicting peer dependency: graphql@15.8.0
npm WARN node_modules/graphql
npm WARN peer graphql@"^15.0.0" from relay-compiler@12.0.0
npm WARN node_modules/@graphql-tools/relay-operation-optimizer/node_modules/relay-compiler
npm WARN relay-compiler@"12.0.0" from @graphql-tools/relay-operation-optimizer@6.4.1
npm WARN node_modules/@graphql-tools/relay-operation-optimizer
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the warning with `npm i --cache $(mktemp -d)` and trace the dependency chain from `@graphql-tools/relay-operation-optimizer` to `relay-compiler` and its `graphql` peer requirement. Done means local development installation no longer reports the conflicting peer dependency, while the project's GraphQL dependencies remain compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, typescript
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.