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
Update Syncpack and use it to pin @wordpress packages to wp-6.0 #37034
Conversation
As part of this update, it was required to update PostCSS and postcss-loader versions. A slight API change was needed in the internal style build module to support this.
Test Results SummaryCommit SHA: 1794a6f
To view the full API test report, click here. To view the full E2E test report, click here. To view all test reports, visit the WooCommerce Test Reports Dashboard. |
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## trunk #37034 +/- ##
========================================
Coverage 46.7% 46.7%
+ Complexity 17188 17187 -1
========================================
Files 429 429
Lines 64821 64828 +7
========================================
+ Hits 30251 30274 +23
+ Misses 34570 34554 -16
|
dad57ce
to
b4b803f
Compare
…is package is not exposed.
@lsinger was asking about my process with Syncpack so I thought I'd put it here. When you want to update a dependency via Syncpack you can start by adding a dependency group filter like the ones I added in Once you've done that there will be some packages out of date. I used to wholesale update them all at once but I've been bitten by that before so instead now I do:
This will list all the places your dependency group is out of date. Now rather than running blind
Then you can update the lockfile by running
If you're happy with that then you can commit changes to the lock file and package json files and move on to the next dependency. As time goes on we should need less of these mass wholesale dep changes because we'll have most things in sync with syncpack. |
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.
Thanks for working on this. Based on e2e tests passing as well as some manual testing, I'm satisfied that there aren't any serious regressions because of it. Great work 👍
All Submissions:
Changes proposed in this Pull Request:
There is a desire to sync all
@wordpress
packages in the repository to the same versions for consistency. We chose to match L2 as the version. Wordpress 6.2 will be released at the end of March which will put us at package version 6.0 for the next Wordpress release (7.6.0) so I'm pre-emptively setting the version to 6.0 here. Another reason I jumped to 6.0 is that the 5.9 packages are really looking old now and caused quite a few problems/conflicts.But, important note we don't need to pin
@wordpress
dependencies that are used as part of dev or testing because these dependencies are not exposed in Wordpress itself. This PR excludes those dependencies from being synchronized. At some point we may want to update and sync these dependencies (but not towp-6.0
) but it can be done one piece at a time because wholesale updating them could cause issues for teams that we haven't anticipated.Other things of note:
I updated syncpack to latest version. It has more informative output and fixes some oddities I saw during dev.
Updating versions required fixing an issue with PostCSS version being used. I moved the postcss-loader to 4+ and with that you need to depend on postcss directly as well, I opted for 8+ which is already a dependency of the admin package.
I excluded block editor packages in
product-editor
. This is because this project is bleeding edge WIP utilising block editor directly, and I don't want to cause issues for them as they are probably relying on latest APIs right now.I pinned
@types/wordpress__components
to try and best match the types of thecomponents
package in 6.0 as possible.How to test the changes in this Pull Request:
Notes for testing/review:
When I say smoke test, I mean look for things that are obviously broken or a white screen type error in the basic WooCommerce screens, including onboarding and the WooCommerce home screen.
Other information:
pnpm --filter=<project> changelog add
?FOR PR REVIEWER ONLY: