fix: declare grafast as peer dependency for pg-many-to-many via packageExtensions#877
Open
pyramation wants to merge 1 commit intomainfrom
Open
fix: declare grafast as peer dependency for pg-many-to-many via packageExtensions#877pyramation wants to merge 1 commit intomainfrom
pyramation wants to merge 1 commit intomainfrom
Conversation
…geExtensions @graphile-contrib/pg-many-to-many requires grafast at runtime but doesn't declare it as a dependency or peerDependency. In pnpm's strict module resolution, this can cause 'Cannot find module grafast' errors when node_modules is in a stale state. Add a pnpm packageExtensions entry to declare grafast as a peer dependency of @graphile-contrib/pg-many-to-many, ensuring pnpm always links it correctly regardless of cache state.
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
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.
Summary
@graphile-contrib/pg-many-to-manydoesrequire("grafast")at runtime but doesn't declare it as a dependency or peerDependency. Under pnpm's strict module resolution, this can causeCannot find module 'grafast'errors whennode_modulesis in a stale state (e.g. after switching branches or partial installs).Adds a
pnpm.packageExtensionsentry to the rootpackage.jsondeclaringgrafastas a peer dependency of@graphile-contrib/pg-many-to-many, ensuring pnpm always links it correctly.Note: The lockfile was regenerated from scratch, so the diff includes YAML formatting normalization (multi-line
resolution:blocks → single-line). No intentional version changes.Review & Testing Checklist for Human
grafast,postgraphile,graphile-build,graphql) to confirm versions are unchanged.rm -rf node_modules && pnpm install, then runpnpm run generateinsdk/constructive-sdkto confirmgrafastresolves. This was the original error path.Notes
grafastis already hoisted to.pnpm/node_modules/by default and resolves fine. ThepackageExtensionsentry is a defensive measure to make the dependency relationship explicit and prevent resolution failures in edge cases (stale caches, different pnpm versions, etc.).packageExtensionsChecksumin the lockfile changed as expected due to the new entry.Link to Devin session: https://app.devin.ai/sessions/5d550def7a314c97854ec12fa09dd4ca
Requested by: @pyramation