fix: #3609140 Move all module config into the default recipe; module has no dependencies
Fresh install of Varbase 10.1.x left the Hero Slider content type fieldless, and re-installing the module threw:
RecipePreExistingConfigException: The configuration 'node.type.varbase_heroslider' exists already and does not match the recipe's configurationProblem / Motivation
The module shipped the Hero Slider content type in config/install (node type, entity queue, field storages) and re-imported it from recipes/default. On enable, config/install created node.type.varbase_heroslider; rabbit_hole / menu_ui then augmented it with third-party settings. The recipe's re-import no longer byte-matched, so Drupal 11.4's strict recipe config comparison threw RecipePreExistingConfigException and aborted the recipe before it created the field instances and the view — leaving a content type with no fields (confirmed on a fresh Varbase install: node type + storages exist, field instances + view missing).
Proposed resolution (recipe-owned install)
- Move all module config (
config/install+config/optional, 43 objects) intorecipes/default/config/, so the recipe is the single source that creates them once, in dependency order. Nothing is auto-applied on enable → no double-create → noRecipePreExistingConfigException. - The recipe
install:list installs every module the content type / fields / displays / view need (media, varbase_media, entityqueue, rabbit_hole, ds, layout_builder, ui_patterns*, media_library*, drimage_improved, …). varbase_heroslider.info.ymldeclares no dependencies and the module installs nothing itself;hook_installonly applies the recipe.
Verification
Fresh Varbase 10.1.x (Drupal 11.4) install: node type, entity queue, 3 field storages, 3 field instances, form/view displays, view and tour all created; editor / content_admin / site_admin get the Hero Slider permissions; module dependencies: none; front page 200.
By: rajab natshah AI-Generated: Yes (Claude Code)
Checkpoints
- File an issue about this project
- Addition/Change/Update/Fix to this project
- Testing to ensure no regression
- Automated unit/functional testing coverage
- Developer Documentation support on feature change/addition
- User Guide Documentation support on feature change/addition
- UX/UI designer responsibilities
- Accessibility and Readability
- Reviewed by a human
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Update Release Notes
- Release