-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
refactor custom isEqual to utilise lodash.isequal #4915
Conversation
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.
Your indifference between these two approaches is surprising, since this version is much better. Not having to bump the major version of apollo-utilities
is enough of a reason by itself. Don't be afraid to have an opinion!
@benjamn thanks- this is certainly a simpler fix to land, but a proper fix would be to deprecate and remove it all together. |
I am not sure why netlify deploy failed, but I doubt it has to do with any of the changes I've done. |
Follow-up to #4915. I have kept the tests from that PR, just not the lodash-based implementation of isEqual. The lodash.isequal package has a ton of extra features we don't need, and weighs in at a whopping 10KB minified (3.8KB after gzip). Very little of that machinery is really necessary to fix #4824. I extracted this functionality into a separate npm package called @wry/equality, so that we have the flexibility to depend on the same logic in other packages without importing apollo-utilities.
Follow-up to #4915. I have kept the tests from that PR, just not the lodash-based implementation of isEqual. The lodash.isequal package has a ton of extra features we don't need, and weighs in at a whopping 10KB minified (3.8KB after gzip). Very little of that machinery is really necessary to fix #4824. I extracted this functionality into a separate npm package called @wry/equality, so that we have the flexibility to depend on the same logic in other packages without importing apollo-utilities.
* Reimplement isEqual without pulling in massive lodash.isequal. Follow-up to #4915. I have kept the tests from that PR, just not the lodash-based implementation of isEqual. The lodash.isequal package has a ton of extra features we don't need, and weighs in at a whopping 10KB minified (3.8KB after gzip). Very little of that machinery is really necessary to fix #4824. I extracted this functionality into a separate npm package called @wry/equality, so that we have the flexibility to depend on the same logic in other packages without importing apollo-utilities. * Treat @wry/equality as an external package when bundling apollo-utilities. * Update @wry/equality to latest version (0.1.2). * Mention PR #4924 in CHANGELOG.md.
as requested here: #4903 (review)
I don't care which one of the PRs get's merged, as long as the bug is fixed
Checklist: