Skip to content

feat: support Emulsify Drupal 6.x child theme generation workflow#13

Merged
callinmullaney merged 6 commits into
mainfrom
feat-refine-compat-with-emulsify-drupal
May 21, 2026
Merged

feat: support Emulsify Drupal 6.x child theme generation workflow#13
callinmullaney merged 6 commits into
mainfrom
feat-refine-compat-with-emulsify-drupal

Conversation

@callinmullaney
Copy link
Copy Markdown
Collaborator

@callinmullaney callinmullaney commented May 21, 2026

This PR does the following:

  • Hardens the Emulsify Tools 1.x Drush child theme generation command for the Emulsify Drupal 6.x workflow.
  • Aligns the Drush command service wiring with the command and generator constructors.
  • Adds safe failure behavior when the destination child theme already exists.
  • Validates that the emulsify parent theme and Whisk source directory are available before copying files.
  • Adds a disposable child theme generation smoke script covering drush emulsify_tools:bake my_theme and the drush emulsify my_theme alias guard path.
  • Aligns Drupal compatibility metadata with the paired Emulsify Drupal 6.x floor of ^10.3 || ^11.
  • Updates README guidance for Emulsify Drupal 6.x child theme generation.

Related Issue(s)

  • None.

Notes:

  • Scope is intentionally limited to Emulsify Tools 1.x and the Emulsify Drupal 6.x child theme generation workflow.
  • This does not add Drupal core Starterkit generation, Emulsify Drupal 7.x behavior, Emulsify Tools 2.x behavior, Vite support, Emulsify Core 4 checks, Drupal 12 support, hook attributes, or favicon tooling.
  • The PR title and branch include a feat: semantic-release signal so merging this PR should produce 1.1.0.

Functional Testing:

  • php -l src/Drush/Commands/SubThemeCommands.php
  • php -l src/SubThemeGenerator.php
  • vendor/bin/phpcs --standard=Drupal src/Drush/Commands/SubThemeCommands.php src/SubThemeGenerator.php
  • vendor/bin/yaml-lint emulsify_tools.info.yml emulsify_tools.services.yml
  • bash -n .github/scripts/generation-smoke.sh
  • git diff --check
  • Full disposable Drupal smoke run: blocked locally because PHP lacks pdo_sqlite.

Security

Security checks that should be reviewed

  • The generator now fails safely when the destination theme path already exists.
  • The smoke script disables Composer audit blocking only inside a disposable compatibility fixture.

Accessibility

Should this be checked for this feature?

  • Not applicable. This PR does not change rendered UI, frontend behavior, or Twig helper output.

@callinmullaney callinmullaney changed the title Feat refine compat with emulsify drupal feat: support Emulsify Drupal 6.x child theme generation workflow May 21, 2026
Move the Drush command service into drush.services.yml so Drush 13 discovers both emulsify_tools:bake and the emulsify alias.

Update the generation smoke fixture to run Drupal 11.3 with Drush 13, verify both help targets, generate watson through the alias, and cover generated-theme metadata cleanup.
@callinmullaney callinmullaney merged commit c145fa8 into main May 21, 2026
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 1.1.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant