-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
npm lockfile: hoist reakit and date-fns packages to the top #51500
Conversation
Size Change: -26 B (0%) Total Size: 1.4 MB
ℹ️ View Unchanged
|
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.
Nice 👍 🚀
Only needs a rebase before 🚢
It seems like in a follow up PR we can also hoist deepmerge
to the top - it's already in use in a few packages.
Thanks 🙌
20df31d
to
f32927a
Compare
Pushed a commit that does that, and also |
Flaky tests detected in f32927a. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/5281265847
|
Sounds great, thanks again! |
…s#51500) * npm lockfile: hoist reakit and date-fns packages to the top * Dedupe deepmerge * Dedupe colord
While looking at output of
npm run build:analyze-bundles
, I noticed that our lockfile installs thereakit
anddate-fns
packages into suboptimalpackages/components/node_modules
directory instead of the top-levelnode_modules
where they should be. The top-levelreakit
slot is free, there is no conflict with any other package. And thedate-fns
slot was occupied by old 1.x version used byconcurrently
, while all other packages use 2.x and are forced to install their own copies, duplicated many times over.This PR fixes that. Before it, the
components
package had its 3rd party dependencies in two directories:while now all dependencies are neatly sorted in one directory:
You can see clearly, for example, that
reakit
is the third largest dependency afterframer-motion
andradix-ui
.