task: #3621480 Require the modules and base recipes removed from the site templates in the profile composer.json
Summary
Require in the Varbase profile's composer.json the packages that were removed from the Varbase site templates, and the ones that are still to be removed from them, so that an existing Varbase site keeps those modules installed through a composer update.
This is not a change about one module. It restores the whole set of packages that left, or are leaving, the site templates.
Closes #3621480.
Issue: https://www.drupal.org/project/varbase/issues/3621480
Problem / Motivation
A site template must resolve on Composer's default minimum-stability: stable to be installable on Drupal CMS. Packages with no stable release were therefore taken out of the site templates and the base recipes:
drupal/entity_clonewas removed from Varbase Admin Base (#3621449), Varbase Content Base (#3621450) and Varbase SEO Base (#3621451).- The four base recipes were removed from Varbase Starter (#3621334), Educare (#3621335), Horizon Aid (#3621336) and RightUp (#3621337) — they required them but never applied them — and moved to
drupal/varbase_projectin #3621338.
An existing Varbase site already has these modules enabled. Once nothing requires them any more, the next composer update removes the code while the modules stay active in the database, which breaks the site.
Three further packages are still required by the base recipes today and are still blocking stable resolution for the site templates. Requiring them in the profile now prepares it ahead of those removals, so a Varbase Project site keeps them either way — before and after they come out of the recipes:
drupal/ultimate_cron, from Varbase Performance Base. Stable release requested: https://www.drupal.org/project/ultimate_cron/issues/2660208drupal/rabbit_hole, from Varbase Content Base. Stable release requested: https://www.drupal.org/project/rabbit_hole/issues/3621376drupal/advanced_text_formatter, from Varbase Content Base. Stable release requested: https://www.drupal.org/project/advanced_text_formatter/issues/3621362
Proposed resolution
Add eight requirements to the profile's require, taking it from 2 to 10. Every constraint matches what the file it came from carries today:
| Package | Constraint | Matches |
|---|---|---|
drupal/advanced_text_formatter |
~3 |
Varbase Content Base |
drupal/entity_clone |
~2 |
the three base recipes, before it was removed |
drupal/rabbit_hole |
~2 |
Varbase Content Base |
drupal/ultimate_cron |
~2 |
Varbase Performance Base |
drupal/varbase_ai_base |
1.0.x-dev |
drupal/varbase_project |
drupal/varbase_api_base |
1.0.x-dev |
drupal/varbase_project |
drupal/varbase_auth_base |
1.0.x-dev |
drupal/varbase_project |
drupal/varbase_i18n_base |
1.0.x-dev |
drupal/varbase_project |
composer.json only. Nothing is added to varbase.info.yml, no install: list is added, and nothing is enabled or applied by this change. An existing site already has these enabled; a new site decides for itself.
Consequence reviewers should see stated
Requiring packages that have no stable release means vardot/varbase itself will not resolve on a project at the default minimum-stability: stable. That is a real consequence of this change, not an oversight.
In practice the profile does not carry that constraint: it is consumed only through drupal/varbase_project, whose root sets minimum-stability: dev with prefer-stable: true. Nothing else requires vardot/varbase, and the site templates deliberately do not, so this cannot reintroduce the resolution blocker into a site template.
Remaining tasks
Reviewed and merged by a maintainer.
API changes
None.
Data model changes
None.
Release notes snippet
The Varbase profile now requires the modules and base recipes that were removed from the Varbase site templates, so an existing Varbase site keeps them installed through a composer update. Nothing new is enabled or applied.
AI-Generated: Yes
Checkpoints
- File an issue
- Addition/Change/Update/Fix
- Testing to ensure no regression
- Automated unit testing coverage
- Automated functional testing coverage
- Readability
- Accessibility
- Performance
- Security
- Developer Documentation
- User Guide Documentation
- Release notes snippet
- UX/UI designer responsibilities
- Reviewed by a human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release