Fix/mesh peer deps - #312
Merged
Merged
Conversation
…des for @graphql-mesh/utils@0.43.20 to resolve errors
romario-0
reviewed
Jun 12, 2026
romario-0
reviewed
Jun 25, 2026
romario-0
previously approved these changes
Jun 25, 2026
romario-0
approved these changes
Jul 2, 2026
nvyasadobe
approved these changes
Jul 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
aio api-mesh init fails with npm error ERESOLVE when user selects npm as package manager.: https://jira.corp.adobe.com/browse/CEXT-4473
Cause
Two independent dependency conflicts in the init template's
package.json:Conflict 1 — utils/types: The template depends on
@graphql-mesh/utilstransitively (via graphql → store → utils). npm resolvesutils@^0.43.20to the latest matching version from the registry —0.43.23— which tightened its peer dependency on@graphql-mesh/typesfrom^0.91.12to^0.91.15. The root project pinstypes@0.91.12, so npm's strict peer resolution rejects the tree.Checked registry -
Conflict 2 — cross-helpers (http):
@graphql-mesh/http@^0.96.9belongs to a newer mesh generation and pullscross-helpers@^0.4.x, while the rest of the stack (runtime@0.46.21) requirescross-helpers@^0.3.4.Same reproducilbe on diff machine locally
Why only
initfailsThe root CLI plugin's
package-lock.jsonlocksutilsto0.43.20(generated when that was the latest), sonpm installon the plugin itself respects the lockfile and never hits the conflict. The init template has no lockfile — everyaio api-mesh:initdoes a freshnpm installwhich resolves from the registry, pickingutils@0.43.23.Why yarn users don't see this
yarn allows multiple versions of a peer dependency to coexist.
Fix :
@graphql-mesh/httpfrom^0.96.9to0.3.26— cannot remove from root because@graphql-mesh/cli@0.82.30uses it internally for itsmesh servecommand (cli/commands/serve/serve.jsimportscreateMeshHTTPHandler). Pinning to0.3.26aligns with the version cli@0.82.30 already depends on.Checked

@graphql-mesh/httpis unused:server.js line 1 (imports runtime, not http):
https://github.com/adobe/aio-cli-plugin-api-mesh/blob/main/src/server.js#L1
server.js line 6 (imports graphql-yoga):
https://github.com/adobe/aio-cli-plugin-api-mesh/blob/main/src/server.js#L6
serverUtils.js (no http import):
https://github.com/adobe/aio-cli-plugin-api-mesh/blob/main/src/serverUtils.js
Template package.json line 27 (only place http appears):
https://github.com/adobe/aio-cli-plugin-api-mesh/blob/main/src/templates/package.json#L27
Tracing why http module history in the package:
@graphql-mesh/http@^0.96.9was introduced in PR #89[Closed] (Oct 2023, CEXT-1646 "Run Command - Local Dev Server") — it was likely tried as the HTTP transport, then replaced with graphql-yoga, but the dependency was never cleaned up from the template.@graphql-mesh/utils: "0.43.20"to overrides — defensive fix so the root is also protected ifpackage-lock.jsonis ever regenerated.Impact:
none.
None. The local dev server is unaffected — it never used
@graphql-mesh/http. Root retains http at0.3.26for cli's internal use.@graphql-mesh/http is listed in the template but never imported — the local dev server (aio api-mesh run) uses graphql-yoga + fastify directly via @graphql-mesh/runtime.
Confirmed by grep: zero imports of @graphql-mesh/http in CLI source code.
Related Issue
Motivation and Context
How Has This Been Tested?
Tested locally
Screenshots (if appropriate):
Types of changes
Checklist: