Repository navigation
feat(LINCHPIN-5363): Restore wp-plugin and wp-theme commit types - #15
Merged
surrealwebs merged 4 commits intoAug 12, 2026
Conversation
Depends on linchpin/commitlint-config#10, which adds wp-plugin/wp-theme to TYPES and wporg/linchpin to DEP_SCOPES. Do not merge this before that lands and publishes. The interim fix in the previous commit used update(wp-plugin): / update (wp-theme): because that was the only type+scope combination the published commitlint-config accepted at the time. Now that the type form is supported, switches the 6 WordPress plugin/theme rules back to wp-plugin(wporg):, wp-plugin(linchpin):, and wp-theme(deps): - the form release-please-config's changelog-sections was already written for, so these updates land in the dedicated "WordPress Plugins" / "WordPress Themes" sections instead of the generic one. The wporg/linchpin source label moves back into the scope, where it came from originally. Dropped the duplicate wporg/linchpin word from the subject that the interim fix added there as a workaround - it would otherwise read twice in the same line for no reason now that the scope carries it again. Kept the WordPress subject word from the prior commit, since that is the distinction developers asked to have back, independent of which type/scope form carries the wporg/linchpin split. Verified against a local copy of commitlint-config with that PR's change applied: every rendered header and commitBody line in default.json passes explain(), and renovate-config-validator --no-global accepts both preset files.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Renovate preset’s WordPress plugin/theme packageRules to restore wp-plugin and wp-theme as commit types (with deps/wporg/linchpin as scopes), aligning generated commit headers with the dedicated changelog sections those types map to (once the corresponding commitlint config update is published).
Changes:
- Switched WordPress theme rules back from
update(wp-theme): ...towp-theme(deps): ...in bothcommitMessagePrefixand renderedcommitBodylines. - Switched WordPress plugin rules back from
update(wp-plugin): ...towp-plugin(wporg|linchpin): ..., moving the source label back into scope.
Suppressed comments (3)
default.json:510
- The Handlebars expression extracts the “name” by splitting depName on "-" and taking index 1. For Composer packages like "linchpin/some-theme" or "wpackagist-plugin/akismet", this renders incorrect/empty values (e.g., "theme" or "plugin/akismet"). Splitting on "/" first yields the actual package name reliably across all matched vendors.
"commitBody": "{{#each upgrades as |upgrade|}}wp-theme(deps): {{replace '-' ' ' (lookup (split depName '-') 1 ) }} from {{{upgrade.currentValue}}} to {{{upgrade.newValue}}}\n{{/each}}"
default.json:574
- The Handlebars expression extracts the “name” by splitting depName on "-" and taking index 1. For Composer packages like "linchpin/some-plugin" or "wpackagist-plugin/akismet", this renders incorrect/empty values (e.g., "plugin" or "plugin/akismet"). Splitting on "/" first yields the actual package name reliably across all matched vendors.
"commitBody": "{{#each upgrades as |upgrade|}}wp-plugin(wporg): {{replace '-' ' ' (lookup (split depName '-') 1 ) }} from {{{upgrade.currentValue}}} to {{{upgrade.newValue}}}\n{{/each}}"
default.json:638
- The Handlebars expression extracts the “name” by splitting depName on "-" and taking index 1. For Composer packages like "linchpin/some-plugin" this can render only the tail segment (or empty) instead of the full package name. Splitting on "/" first yields the actual package name reliably across all matched vendors.
"commitBody": "{{#each upgrades as |upgrade|}}wp-plugin(linchpin): {{replace '-' ' ' (lookup (split depName '-') 1 ) }} from {{{upgrade.currentValue}}} to {{{upgrade.newValue}}}\n{{/each}}"
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
surrealwebs
merged commit Aug 12, 2026
bcac94f
into
fix/LINCHPIN-5363/restore-project-wordpress-prefixes
1 check passed
surrealwebs
deleted the
feat/LINCHPIN-5363/restore-wp-plugin-wp-theme-types
branch
August 12, 2026 00:48
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task: LINCHPIN-5363
This is stacked on #14 (
fix/LINCHPIN-5363/restore-project-wordpress-prefixes) — the diff below is only the incremental change on top of it, and the base branch for this PR is that branch, notmain.Overview
#14 fixed the 6 WordPress plugin/theme rules by switching them to
update(wp-plugin):/update(wp-theme):, because that was the only type+scope combination the currently published@linchpinagency/commitlint-configaccepted. That was always meant to be interim —update/buildland in generic changelog sections, not the dedicated "WordPress Plugins 🔌" / "WordPress Themes 🖌️" sectionsrelease-please-config.jsonalready defines for thewp-plugin/wp-themetype.Once commitlint-config#10 publishes, this PR switches those same 6 rules back to the type form they were always meant to use:
update(wp-theme): WordPresswp-theme(deps): WordPressupdate(wp-plugin): WordPress wporgwp-plugin(wporg): WordPressupdate(wp-plugin): WordPress linchpinwp-plugin(linchpin): WordPressThe
wporg/linchpinsource label moves back into the scope ((wporg),(linchpin)), which is where it lived before #14's workaround and is what commitlint-config#10 adds scopes for.A judgment call worth flagging
I dropped the duplicate
wporg/linchpinword from the subject that #14 added there as a workaround for not having those as valid scopes yet. Keeping it would read aswp-plugin(wporg): WordPress wporg Update dependency ...— the same word twice in one line for no reason, now that the scope carries it again. I keptWordPressin the subject, since that's the distinction you originally asked to have back and it's independent of which type/scope form carries the wporg/linchpin split. If you'd rather keep the wporg/linchpin subject word too for belt-and-suspenders redundancy, easy to add back — just say so.Verification
Same three checks as #14, run against a local copy of commitlint-config with #10's change applied (since the published package doesn't have it yet):
jq empty default.json— valid strict JSON.npx --package renovate@44 renovate-config-validator --no-global default.json automerge.json— passes.commitBodyline indefault.jsonrun through the patchedexplain()— all 38 checks pass.🤖 Generated with Claude Code