Drupal is a registered trademark of Dries Buytaert
cms 2.1.3 Update released for Drupal core (2.1.3)! drupal 10.5.11 Update released for Drupal core (10.5.11)! drupal 11.3.11 Update released for Drupal core (11.3.11)! drupal 11.2.13 Update released for Drupal core (11.2.13)! drupal 10.6.10 Update released for Drupal core (10.6.10)! cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)!

spalp

7 sites Security covered
View on drupal.org

This module provides a way for site managers to configure and serve single-page applications as pages in a Drupal site.

See https://capgemini.github.io/drupal/spalp/ for more information on the thinking behind this module.

This approach has been described as “Progressively Decoupled” - see https://dri.es/how-to-decouple-drupal-in-2018

The module defines an App Landing Page content type, which provides the base URL for each app.

All relevant configuration is stored on this node as a single text field containing JSON, and form fields are provided using the JSON forms library.

When viewing the node, a link to a JSON endpoint providing the configuration is added in the page head - your JavaScript application should get its config from this endpoint.

Within the module directory there is an example module showing how to implement this.

In order to make use of this module, your applications need a simple Drupal module that depends on this module and implements an EventSubscriber on the
`SpalpAppIdsAlterEvent::APP_IDS_ALTER` event - see the README for more details.

Activity

Total releases
2
First release
Jun 2026
Latest release
19 hours ago
Release cadence
1 day
Stability
100% stable

Releases

Version Type Release date
2.0.5 Stable Jun 2, 2026
2.0.4 Stable Jun 1, 2026