Install
Works with Drupal: ^10.3 || ^11Using Composer to manage Drupal site dependencies
Alternative installation files
Release notes
SDX 1.0.0-alpha7 ships three runtime composition primitives for sites composing multiple SDX bundles into one page.
Cross-bundle state: sharedSingleton(key, factory) in @sdx/runtime collapses per-bundle module-level constants to a single document-scoped instance. Use it when bundles need referential identity for a shared registry, queue, or controller.
Optional aliases: hook_sdx_aliases() now accepts ['path' => ..., 'optional' => TRUE, 'fallback' => '@sdx/empty']. When the providing module is disabled the alias rewrites to the new @sdx/empty stub so static imports keep building. isModuleAvailable(namespaceImport) in @sdx/runtime feature-gates calls into the (possibly absent) module. Multi-tenant SaaS sites can ship one artifact across plans.
Sibling-mount API: hook_sdx_page_register_components($primaryId) plus the new sdx.mount-with: [primary_id] and sdx.registration: true keys in .component.yml let modules contribute side-effect components that mount alongside a page's primary SDX component. sdx_drast 1.0.0-alpha2'sPageRenderer emits one html_tag div per descriptor, with data-eager and hidden styling for registration components.
Upgrade: composer require drupal/sdx:^1.0@alpha drupal/sdx_drast:^1.0@alpha, then drush cr. All changes additive; the hook_sdx_aliases string-form return value keeps working unchanged, and PageRenderer's new constructor argument is optional so custom service wirings continue to render the primary mount alone.