Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.x] Give starter kit devs an opt-in config to help make parts of their kits composer updatable #11064

Open
wants to merge 8 commits into
base: 5.x
Choose a base branch
from

Conversation

jesseleite
Copy link
Member

@jesseleite jesseleite commented Nov 6, 2024

Note: This PR does NOT make everything in a starter kit magically updatable; It merely adds the ABILITY for a starter kit developer to architect their kit in such a way that parts of a kit be composer updatable!

The Problem

Currently, starter kits are installed via composer, and they uninstall themselves at the end of the install process, giving full ownership of to the end user of all installed files. This is very intentional for things like simple 'theme' kits, where there's no reason for templates and styles to live on in the user's composer.json or vendor directory.

If a starter kit dev wishes to push updatable bits to users, they have to package up those updatable bits into a separate package/addon, and include in their starter kit's dependencies config. Again, this is also very intentional, but it now means the starter kit dev has to maintain two separate repositories for one 'kit', which complicates starter kit development.

The Proposition

The idea of this PR is to allow starter kits to remain installed as living composer-updatable packages. If the kit dev intends to push updates to their users, they can simply add updatable: true to their starter-kit.yaml config, and the starter kit repository will remain in their composer.json and vendor directory after a successful install.

This allows the end user to...

  • composer update for bugfixes
  • php please starter-kit:module-install newly added modules (this command coming soon)
  • use any package/addon features the starter kit devs wires up
  • etc.

And allows the starter kit dev to...

  • push updates to the end user
  • leverage any package/addon features they wish to wire up
  • all within one easier to maintain repo

Todo

@jesseleite jesseleite changed the title Allow starter kits to live on as addons via opt-in config [5.x] Allow starter kits to live on as addons via opt-in config Nov 6, 2024
@jackmcdade jackmcdade changed the title [5.x] Allow starter kits to live on as addons via opt-in config [5.x] Allow starter kits to be updatable with composer via opt-in config Nov 6, 2024
@jesseleite jesseleite closed this Nov 6, 2024
@jesseleite jesseleite deleted the starter-kit-addons branch November 6, 2024 18:12
@jesseleite jesseleite restored the starter-kit-addons branch November 6, 2024 18:13
@jesseleite jesseleite reopened this Nov 6, 2024
@jesseleite
Copy link
Member Author

Whoops, tried to rename branch with github's UI, didn't mean to close 😆

@jesseleite jesseleite marked this pull request as ready for review November 11, 2024 15:29
@jesseleite jesseleite changed the title [5.x] Allow starter kits to be updatable with composer via opt-in config [5.x] Give starter kit devs an opt-in config to help make parts of their kits composer updatable Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant