Issue #3636686 by jwilson3: Add Rivet theme settings schema

The implementation:

  • adds config/schema/rivet.schema.yml, extending core's theme_settings type and mapping every Rivet-specific setting;
  • constrains settings with fixed options to values supported by the settings form;
  • updates boolean defaults inherited from core's theme-settings schema;
  • generates a renamed schema for new starterkit subthemes that inherits rivet.settings;
  • documents the schema alias required by existing Rivet subthemes; and
  • enables strict schema checking and validates both default and submitted settings in the functional test.

Local validation passed:

  • ddev phpunit tests/src/Functional/RivetAdminThemeSettingsTest.php — 5 tests, 261 assertions;
  • ddev phpstan;
  • ddev phpcs;
  • ddev php -l src/StarterKit.php; and
  • git diff --check.

Steps to test:

  1. Install Rivet on a supported Drupal version.
  2. Confirm config.typed reports schema for rivet.settings and the default configuration validates without violations.
  3. Submit every Rivet-specific field at /admin/appearance/settings/rivet, then validate the saved configuration.
  4. Generate a starterkit subtheme and confirm config/schema/MACHINE_NAME.schema.yml defines MACHINE_NAME.settings as type rivet.settings.
  5. Install the generated subtheme and confirm its settings validate and the front page renders successfully.

Merge request reports

Loading
Loading