Skip to content
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

Import minimal lodash packages #4127

Merged
merged 1 commit into from
Oct 12, 2020
Merged

Conversation

smhutch
Copy link
Contributor

@smhutch smhutch commented Oct 9, 2020

Summary

While I'm also bought into the larger goal of removing lodash completely, these changes are a halfway house towards that goal. With these changes, only used lodash modules should (I'm unsure how to verify this) end up in the eui bundle.

const throttle = require('lodash/throttle'), only the subset of lodash code your package uses will be bundled in projects that use your package.
Reference

Part of #360

Checklist

  • Check against all themes for compatibility in both light and dark modes
  • Checked in mobile
  • Checked in Chrome, Safari, Edge, and Firefox
  • Props have proper autodocs
  • Added documentation
  • Checked Code Sandbox works for the any docs examples
  • Added or updated jest tests
  • Checked for breaking changes and labeled appropriately
  • Checked for accessibility including keyboard-only and screenreader modes
  • A changelog entry exists and is marked appropriately

@kibanamachine
Copy link

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

@cchaos
Copy link
Contributor

cchaos commented Oct 12, 2020

Jenkins, test this

@kibanamachine
Copy link

Preview documentation changes for this PR: https://eui.elastic.co/pr_4127/

Copy link
Contributor

@thompsongl thompsongl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! We use this import method in most cases with lodash; thanks for finding these.

Copy link
Contributor

@chandlerprall chandlerprall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM; Compared the full build locally, saves 70kb on the minified bundle. This savings would similarly propagate to downstream projects using es / lib builds if those projects do not otherwise import from lodash.

@chandlerprall chandlerprall merged commit 01c6986 into elastic:master Oct 12, 2020
@smhutch smhutch deleted the split-lodash branch October 13, 2020 08:45
kshitij86 added a commit to kshitij86/eui that referenced this pull request Nov 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants