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 configuration

Problem / 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) into recipes/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 → no RecipePreExistingConfigException.
  • 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.yml declares no dependencies and the module installs nothing itself; hook_install only 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
Edited by Rajab Natshah

Merge request reports

Loading