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
Migrate to yarn #40882
Comments
@nerrad @simison @nb @blowery @dmsnell @tyxla @sirbrillig @zinigor @sirreal @griffbrad @p-jackson @ChaosExAnima @brbrr @Stojdza @senadir @creativecoder Hey folks! In the past, you have shown some interest in Calypso migrating to |
Thanks for all the work on that, @scinos (and before @blowery and @jameslnewell)! This is exciting, looking forward to eliminating a whole class of tricky problems. A couple of (hopefully not too high-level) questions:
|
@nb There are two main criteria for the migration:
I think that if we can guarantee the above two points, we will be in a good spot and the migration won't introduce any new bug. |
Thanks, @scinos. “Contained, small, expected and explainable” change to the tree makes perfect sense. As for the bundles, I am curious to see whether we will be able to reason about the changes we see. Do you think it's worth trying to test on a smaller audience? Like wordpress.com staging (seen by proxied Automatticians)? Or it will be too much effort? |
For the record, the complete list of changes in the tree is listed in #40923 (comment). The changes in the bundles are listed in #40923 (comment) At this point, I think we are pretty safe. The only bit that slightly concerns me is the duplication of As for testing in a subset of users... in this specific case, I think it is too much effort. Keeping |
This project has been merged in master. The final list of dependency changes are listed in #41140 (comment). |
This issue is used to keep track of the migration from npm to yarn.
Summary
We move wp-calypso repo from npm to yarn (work already started by @blowery and @jameslnewell in #39121).
The biggest risk with this transition is accidentally altering the dependency tree. This could introduce production bugs at the same time we are changing our tools, making everything extra harder to diagnose and fix.
To ensure a clean transition, we first need to have a clean
npm
dependency tree.Preparation
These can be merged to master
package.json
(Links all subpackages to the parent package.json #39955)devDependencies
todependencies
(workaround for Failed to install dependencies in workspace: expected workspace package to exist yarnpkg/yarn#7807) (Moves existing devDependencies to dependencies #40880)npm
is used ifpackage-lock.json
is present,yarn
ifyarn.lock
is present) (Assert the correct package manager is used for run commands #40893)Migration to yarn
To keep things easy to review, we'll have a long-run feature branch
update/npm-to-yarn-main
. All these changes will be merged into that branch.yarn
commands (Replacenpm
commands withyarn
equivalents #40921)Once all the above have been reviewed and merged to
update/npm-to-yarn-main
, we'll do a final merge to master.The text was updated successfully, but these errors were encountered: