pantheon-systems / terminus-build-tools-plugin

Manage multidev environments for a Pantheon site using a GitHub PR workflow.
83 stars 68 forks source link

Spin out pantheon composer dependencies into their own project #382

Open aweingarten opened 3 years ago

aweingarten commented 3 years ago

Currently when you initialize a new site with terminus build tools, a composer.json is initialized with a LOT of plumbing in place that is pantheon specific. This makes it really hard for clients to maintain these and get future updates. What if pantheon adds or removes packages? Or changes the constraints? As a user I don't have a way to get those changes.

All non-scaffolding dependencies in composer.json should be moved into an independent project that can be included in the user's composer.json. By taking advantage of composer's recursive dependency structure we effectively gain the benefits of upstream workflow inside composer! This way user can opt in to update to the latest and great dev-build tool updates that we have.

greg-1-anderson commented 3 years ago

This is not a goal of the original Build Tools design; you are intended to adopt the template project. Following the upstream is not always straightfoward.

In contrast, see the Integrated Composer template project, which is intended to be used as an upstream. In the future, the enhancement recommended in this issue will be done by adopting the Integrated Composer template project or a derivative thereof, and using that as the basis for new Build Tools projects.