Install

Works with Drupal: ^10.3 || ^11

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 677.37 KB
MD5: 5f3258f5f84e983480360a70c88f2418
SHA-1: 5f4fc5d854ee6b48ca81841fa2c3f9c1cb0a04b4
SHA-256: caa6a855eeed116eed0672a532d6d945a825611ee96b19c22476ff0630995559
Download zip 1.17 MB
MD5: d70d0bb29c1e22187caeb9273d573618
SHA-1: 137e92fbdf67a890410519c1bf69e5fd51e08db2
SHA-256: 355ded2a00feb57da0ba9bafd6cabe94e389a2ea6245e831d03631f3049b817c

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.

Created by: vzsigmond
Created on: 28 Apr 2026 at 20:49 UTC
Last updated: 28 Apr 2026 at 20:49 UTC
New features

Other releases