feat(LINCHPIN-5363): Allow wp-plugin and wp-theme as commit types - #10
Merged
surrealwebs merged 1 commit intoAug 12, 2026
Merged
Conversation
wp-plugin and wp-theme were only ever valid scopes here (update(wp-plugin):, build(deps):), matching this repo's own README and tests. But release-please's changelog-sections groups strictly by commit type - that schema has no scope key - so a repo whose release-please-config gives WordPress plugins and themes their own changelog section has no way to reach it without wp-plugin/wp-theme being the type. linchpin/renovatebot-config's release-please-config.json already defines "WordPress Plugins" and "WordPress Themes" sections keyed on exactly those types, added on the assumption this package would accept them. It never did, so every Renovate PR there updating a WordPress plugin or theme via wp-plugin(wporg): / wp-plugin(linchpin): / wp-theme(deps): has been generating a commit that fails this config outright. Adds wp-plugin and wp-theme to TYPES, and wporg/linchpin to DEP_SCOPES so the type form has a scope to pair with beyond the type name itself. Both existing scope-form usages (update(wp-plugin):, build(deps):, etc.) and the new type-form usages are valid at the same time - this is additive, nothing that passed before stops passing. README and tests updated to document and cover both forms.
There was a problem hiding this comment.
Pull request overview
This PR updates @linchpinagency/commitlint-config to accept WordPress plugin/theme updates as dedicated commit types (wp-plugin, wp-theme) in addition to the existing scope form, and adds wporg/linchpin as additional dependency-related scopes to support that type form (primarily for release-please changelog section routing).
Changes:
- Add
wp-pluginandwp-themeto the allowedtype-enumlist (and thusheaderPattern). - Add
wporgandlinchpinto the allowed dependency scopes. - Update documentation and add Jest coverage for the new type+scope combinations while keeping the existing scope form valid.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| README.md | Documents the new wp-plugin/wp-theme type form and expands the allowed dependency scope list. |
| index.test.js | Adds tests confirming the new type form and new scopes lint successfully alongside the existing scope form. |
| index.js | Extends the allowed type and dependency-scope enumerations to support new WordPress-specific commit headers. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
surrealwebs
deleted the
feat/LINCHPIN-5363/allow-wp-plugin-wp-theme-types
branch
August 12, 2026 00:43
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
Overview
Adds
wp-pluginandwp-themetoTYPES, andwporg/linchpintoDEP_SCOPES, inindex.js. UpdatesREADME.mdandindex.test.jsto document and cover both the existing scope form and the new type form.Why
This config has always treated
wp-plugin/wp-themeas scopes (update(wp-plugin): ...,build(deps): ...) — that's what the README and existing tests document. Butlinchpin/renovatebot-config'srelease-please-config.jsondefines dedicated "WordPress Plugins 🔌" / "WordPress Themes 🖌️" changelog sections keyed on commit type — release-please'schangelog-sectionsschema only offers atypekey, there's no scope key to group by — so that repo started emittingwp-plugin(wporg):,wp-plugin(linchpin):, andwp-theme(deps):on the assumption this package would accept those as types.It never did. I verified this directly: downloaded the currently-published
@linchpinagency/commitlint-config@1.2.0from npm and ran its ownexplain()against those exact headers — all three fail ("wp-plugin" is not a valid type","wporg" is not a valid scope", etc.). Every Renovate PR in that repo updating a WordPress plugin or theme has been generating a commit that fails this config outright, regardless of anything else going on there.What changes, concretely
headerPatternandtype-enumare both generated from these two arrays, so no other code changes.This is purely additive — every header that passed before still passes. The scope form (
update(wp-plugin): ...) and the new type form (wp-plugin(wporg): ...) are both valid at the same time; the README now says to prefer the scope form unless a repo'srelease-please-config.jsonspecifically defines a dedicated section for thewp-plugin/wp-themetype, which is the one case that actually needs it today.Verification
wp-plugin(wporg):,wp-plugin(linchpin):,wp-theme(deps):, the newwporg/linchpinscopes, and that the pre-existing scope form still works alongside it).npx jest— all 44 tests pass (39 existing + 5 new), none modified.commitlint.config.jsrequires./index.jsdirectly) — the commit on this branch passed that hook.Follow-up
Once this is published,
linchpin/renovatebot-confighas a companion PR ready to switch its WordPress plugin/theme rules from theupdate(wp-plugin):/update(wp-theme):workaround back towp-plugin(wporg):/wp-plugin(linchpin):/wp-theme(deps):, so those updates land in their intended dedicated changelog sections.🤖 Generated with Claude Code