-
Couldn't load subscription status.
- Fork 0
Description
I understand this theme is being ported to Drupal Project in this PR wunderio/drupal-project#431
One problem with our Drupal Project https://github.com/wunderio/drupal-project is that once you start using it in your project, you're stuck with the code it was when you copied it. There was initiative in Tech Lead guild to make this project updatable https://docs.google.com/presentation/d/1vbjE2e2HRO1WOdz0usrRCyc6fVN-56dMHHzF0M8fkBU/edit?slide=id.g27b843d70a4_0_323#slide=id.g27b843d70a4_0_323
There's no clear solution for it, but my take on it has been to split Drupal Project to smaller Composer packages. For example for DDEV I've done it here:
Github page:
https://github.com/wunderio/ddev-drupal
Packagist:
https://packagist.org/packages/wunderio/ddev-drupal
So now even if you have your own project based on Drupal Project, at some point you'll notice that ddev-drupal in your composer.json needs updating. Actually in this case, I've implemented something that prompts you to update in shell when you start DDEV :)
As an another example, when implementing #12 , we could bump up Drupal version restriction to 10.3, and add requirement to other modules drupal/storybook drupal/twig_field_value drupal/twig_tweak and keep only
composer require drupal/wunderful.
Maybe one more example - here Tormi said he'd updated project to Drupal 11 - if this theme would be Composer package, it would probably had only Drupal 10 requirement. Tormi would not have had been able to update it without asking and solving this issue with frontend guild. Yes it would have taken a bit extra time, but in the end we'd have verified this is Drupal 11 compatible and released new version - maybe even with some code fixes.
I believe this theme would be evolving further - security updates, whole new node package versions, new base components. So why not make it possible for all projects to get these updates?
For this setup we would need child theme, but most of the code should be here. What do you think? Any reasons why this would not work or would not be good idea?