Skip to content

Renovate: update bundled wp package rules#50007

Merged
simison merged 5 commits into
trunkfrom
update/renovate-bundled-wp
Jun 30, 2026
Merged

Renovate: update bundled wp package rules#50007
simison merged 5 commits into
trunkfrom
update/renovate-bundled-wp

Conversation

@simison

@simison simison commented Jun 26, 2026

Copy link
Copy Markdown
Member

Follow-up to #49272 (review)

Latest bundled WP packages update revealed a few gaps.

Best to have #49272 merged first before this so that Renovate doesn't close it. We can merge this before the bundle update.

Proposed changes

  • Includes @wordpress/theme to avoid mismatching versions of bundled deps (notably @wordpress/ui, @wordpress/dataviews, @wordpress/admin-ui and others) using style tokens from different version than Jetpack is shipping.
  • Since we use @wordpress/stylelint-config to lint invalid design tokens, we need to bump that together with @wordpress/theme.
  • Moves WP Build from its own section into Bundled WP section; this could be updated independently but for practical reasons testing steps and teams are basically the same as with the rest of the list, so worth combining. It can still be manually updated separately ahead of time when needed.
  • Adds @wordpress/style-runtime from the latest bundled deps list

Related product discussion/links

Does this pull request change what data or activity we track or use?

Testing instructions

  • N/A

@simison simison requested a review from a team as a code owner June 26, 2026 12:35
@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Thank you for your PR!

When contributing to Jetpack, we have a few suggestions that can help us test and review your patch:

  • ✅ Include a description of your PR changes.
  • ✅ Add a "[Status]" label (In Progress, Needs Review, ...).
  • ✅ Add testing instructions.
  • ✅ Specify whether this PR includes any changes to data or privacy.
  • ✅ Add changelog entries to affected projects

This comment will be updated as you work on your PR and make changes. If you think that some of those checks are not needed for your PR, please explain why you think so. Thanks for cooperation 🤖


Follow this PR Review Process:

  1. Ensure all required checks appearing at the bottom of this PR are passing.
  2. Make sure to test your changes on all platforms that it applies to. You're responsible for the quality of the code you ship.
  3. You can use GitHub's Reviewers functionality to request a review.
  4. When it's reviewed and merged, you will be pinged in Slack to deploy the changes to WordPress.com simple once the build is done.

If you have questions about anything, reach out in #jetpack-developers for guidance!

@github-actions github-actions Bot added the [Status] Needs Author Reply We need more details from you. This label will be auto-added until the PR meets all requirements. label Jun 26, 2026
@simison simison added [Status] Needs Review This PR is ready for review. and removed [Status] Needs Author Reply We need more details from you. This label will be auto-added until the PR meets all requirements. labels Jun 26, 2026

@anomiex anomiex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I like the general idea. Some comments inline.

I don't think this change would result in #49272 getting closed. Since the groupName isn't changing, it should still recognize it as the same change. I'll test that in a fork in a bit.

Comment thread .github/renovate.json5
Comment thread .github/renovate.json5 Outdated
Comment on lines +122 to +123
// @wordpress/stylelint-config is grouped with theme because its WPDS rules lint against
// the token set shipped in @wordpress/theme — the two should be updated in lockstep.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this true? Looks like the actual rules are in @wordpress/theme, and @wordpress/stylelint-config just loads them from there.

@simison simison Jun 26, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Hmm I'm not sure — I think that would work if @wordpress/stylelint-config would define @wordpress/theme as peer dependency, but it's a direct dependency so it likely uses its own version?

	"dependencies": {
		"@stylistic/stylelint-plugin": "^3.0.1",
		"@wordpress/theme": "^0.16.0",
		"stylelint-config-recommended": "^14.0.1",
		"stylelint-config-recommended-scss": "^14.1.0"
	},

I had exactly this mismatch happen after updating wp-theme+variables in JP locally to new ones, and stylelint started complaining it until I updated it. So I assumed stylelint was the issue but I did not confirm that. If you think it's safe to leave out, happy to do so.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hmm. Best thing in that case might be to pnpmfile-hack it to turn that into a peer dep. Or to >=0.16.0. 😀

Otherwise, I think it'd work fine for updating @wordpress/theme to something like 0.16.1, pnpm dedupe should take care of the indirect dep, but not 0.17.0 (because for 0.x caret deps like ^0.16.0, it works like >=0.16.0 <0.17.0).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It would pick the right version if @wordpress/stylelint-config defined @wordpress/theme as a peerDependency, right? Just then we would need to rely on consumers to always include the dependency, which would not be ideal. Is there another way to improve this upstream?

Comment thread .github/renovate.json5 Outdated
// @wordpress/build is still heavily developed; its dashboards share the same bundled
// packages and test surface, so exercising build alongside the rest is practical.
//
// Bundled @wordpress/grid is missing here as its updates with "Widgets Dashboard" grouping separately.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe we should just merge that here too?

@simison simison Jun 26, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

My preference as well, and likely safer long-term, although right now anything using grid/dashboard stuff is non-production for at least another month.

@Automattic/red @Automattic/ventures WDYT if we merge the Dashboard renovate block added in #49815 with the Bundled WordPress deps? Might be more straightforward and safer with cross-dependencies.

// Widgets Dashboard packages are still experimental/development-focused, so group them for targeted review.
{
groupName: 'Widgets Dashboard',
matchPackageNames: [
'@wordpress/widget-dashboard',
'@wordpress/widget-primitives',
'@wordpress/grid',
],
separateMajorMinor: false,
additionalReviewers: [
'team:red', // Premium Analytics
'team:ventures', // Premium Analytics
],
},

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Checked on Slack, internal ref p1782814626414479-slack-CK365S85V

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for tagging us, and sorry for the late reply!
The main reason for adding it into a separate bundle, was similar to that of @wordpress/build, where it is still heavily being developed and not heavily used in production environments ( not entirely true for wp-build anymore ).
Plus of-course the fact that Ventures & Red are the only one's using the dashboard related packages atm. There is a high chance that we will also be updating the packages more frequently, because of the nature of active development.

Having said that, if the other teams in the group don't mind also being pinged on updates of these packages, then I am more then happy if we move it over, and don't have a strong sense against that.

although right now anything using grid/dashboard stuff is non-production for at least another month.

I did almost say we wait, until it is production and then merge the groups.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think if that's the only reason, it'll be fine to merge now. I'd expect teams to mostly review what they’re familiar with, so others wouldn’t look into dashboard stuff anyway.

It still doesn’t stop you from updating dashboard deps independently e.g. to next- versions outside regular update cycles if you need to.

The upside is also that ui and theme will be kept in sync with dashboard packages, which is good since there are inter-dependencies between those packages anyway.

@anomiex

anomiex commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

I don't think this change would result in #49272 getting closed. Since the groupName isn't changing, it should still recognize it as the same change. I'll test that in a fork in a bit.

Worked fine in my fork on anomiex#58, no deletion.

@simison simison added the Reviewer Can Merge PR author indicates the reviewer is free to merge/deploy if they want to own the change. label Jun 26, 2026

@anomiex anomiex left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two open questions, I think:

  • Merge the widget packages into this group too?
    • Pending reply from the teams using those.
  • Add stylelint-config to the group, or use pnpmfile to just make sure it picks up the shared version of the theme package?
    • Personally, I'm inclined towards the latter. If others agree, I'll volunteer to make the change.

@simison simison force-pushed the update/renovate-bundled-wp branch from 081cd32 to a12a57c Compare June 29, 2026 07:34
@simison

simison commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

Add stylelint-config to the group, or use pnpmfile to just make sure it picks up the shared version of the theme package?

Feel free to push to this PR!

I've just rebased PR with the latest trunk.

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Are you an Automattician? Please test your changes on all WordPress.com environments to help mitigate accidental explosions.

  • To test on WoA, go to the Plugins menu on a WoA dev site. Click on the "Upload" button and follow the upgrade flow to be able to upload, install, and activate the Jetpack Beta plugin. Once the plugin is active, go to Jetpack > Jetpack Beta, select your plugin (Jetpack or WordPress.com Site Helper), and enable the update/renovate-bundled-wp branch.
  • To test on Simple, run the following command on your sandbox:
bin/jetpack-downloader test jetpack update/renovate-bundled-wp
bin/jetpack-downloader test jetpack-mu-wpcom-plugin update/renovate-bundled-wp

Interested in more tips and information?

  • In your local development environment, use the jetpack rsync command to sync your changes to a WoA dev blog.
  • Read more about our development workflow here: PCYsg-eg0-p2
  • Figure out when your changes will be shipped to customers here: PCYsg-eg5-p2

@jp-launch-control

Copy link
Copy Markdown

Code Coverage Summary

This PR did not change code coverage!

That could be good or bad, depending on the situation. Everything covered before, and still is? Great! Nothing was covered before? Not so great. 🤷

Full summary · PHP report · JS report

@simison simison force-pushed the update/renovate-bundled-wp branch from e6e20c7 to d5311e8 Compare June 30, 2026 10:43
@simison simison requested a review from anomiex June 30, 2026 10:51
@simison

simison commented Jun 30, 2026

Copy link
Copy Markdown
Member Author

Merged dashboard section into bundled packages + rebased. Ready for final look (feel free to merge!).

@simison simison merged commit 2447355 into trunk Jun 30, 2026
97 of 98 checks passed
Comment thread .pnpmfile.cjs
// Make sure @wordpress/stylelint-config gets whatever @wordpress/theme is installed.
if (
pkg.name === '@wordpress/stylelint-config' &&
pkg.dependencies[ '@wordpress/theme' ]?.startsWith( '^' )

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Non-blocking nit: pkg.dependencies[ '@wordpress/theme' ]?.startsWith guards the value but not pkg.dependencies itself — inconsistent with the pkg.dependencies?.[ … ] style in the stylelint-config block just above. Harmless in practice (stylelint-config always has dependencies).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think I'd actually prefer it breaks loudly on bumping up the version if it stops having deps or theme dep specifically, which I think is better and we would notice to clean this up. :-)

@simison simison deleted the update/renovate-bundled-wp branch June 30, 2026 14:54
@github-actions github-actions Bot removed the [Status] Needs Review This PR is ready for review. label Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Reviewer Can Merge PR author indicates the reviewer is free to merge/deploy if they want to own the change.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants