backport_node_storage_body_field
This module is discontinued because it was supposed to be a matepackage, but that can't be done with module projects.
This module provides a forward-compatibility polyfill for the node_storage_body_field sub-module introduced in Drupal 11.3 (#3447617).
In Drupal 11.3, field.storage.node.body was moved out of the Node module into a new node_storage_body_field sub-module. Contributed modules that ship node types with a body field must now declare a dependency on node_storage_body_field to ensure the field storage config exists when their module is installed. However, this creates a compatibility problem: adding node_storage_body_field as a dependency breaks installation on Drupal 10.x and 11.0–11.2, where that sub-module does not exist.
What this module does
On Drupal 10.x / 11.0–11.2 (version 1.x):
Provides an empty shim node_storage_body_field module that satisfies the dependency. No config is shipped — the Node module already provides field.storage.node.body on these core versions.
On Drupal 11.3+ (version 2.x):
Empty metapackage. Core already provides node_storage_body_field, so this package is a no-op.
Important note: Unfortunately, metapackages without an info.yml won't work since the composer.json gets the drupal/core requirement based on the core_version_requirment key from the info.yml.
Why not config/optional?
Moving field.storage.node.body to config/optional does not work reliably. Drupal's ConfigInstaller::checkConfigurationToInstall() validates all config/install dependencies for all modules being installed in a single operation, including during install profile execution and drush en with dependencies. Optional config is either deferred (during profile install) or only processed after all config/install is validated, causing UnmetDependenciesException failures.
Usage
Add to your module's composer.json:
"require": { "drupal/backport_node_storage_body_field": "^1 || ^2" }
Add to your module's .info.yml:
dependencies: - backport_node_storage_body_field:backport_node_storage_body_field
Requirements
- 1.x: Drupal core >=10.3 <11.3
- 2.x: Drupal core >=11.3