-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add peerDependencies to packages #1402
Conversation
Codecov Report
Flags with carried forward coverage won't be shown. Click here to find out more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the additional ones I think we need:
blockchain
<-- block
, @types/levelup
ethereum-js/util
<-- Do we need rlp
since the whole module is exported as part of util/externals
?
vm
<-- merkle-patricia-tree
as it's the type for one of the VMOpts
properties
General question - do we need @types/bn.js
as a peerDependency wherever we have bn.js
?
Hmm, can we please finish the discussion on this before opening PRs here? I have got several issues here:
I've switched the PR label here to "needs discussion" and "blocked". Some general note here for reviewers: apart from the discussion outcome this is a super-delicate PR. Please only review and do not merge until we have a very clear agreement here. |
my apologies for getting ahead of the discussion
yeah, I forgot that's really important. I'll close this PR for now and we can reopen if we'd like to continue in the future. |
No problem. 😄 This will likely be valuable for some future integration, have added an additional note to the breaking release issue on the PR. For now rather too early, but we might want to re-check on the subsequent round of breaking releases next year or so. |
Fixes #1200
I would appreciate a double check of every listed peerDep, that it is used in the public interface of the package.
I didn't add any for
client
since it is an executable that you pass in command line args, I don't think it has any peerDeps then, is this reasoning correct?npm 7 installs peer dependencies by default so this goes great with our new developer setup, and should ease end user library incompatibilities as explained in the linked issue.