United-Philanthropy-Forum / km-starter-kit

KM Starter Kit
0 stars 1 forks source link

Use more liberal versioning for dev modules. #16

Closed unclegcb closed 4 years ago

unclegcb commented 4 years ago

This expands on changes to the "required" section of our pantheon.yml to make spun-up-sites more future-proof.

mariacha commented 4 years ago

I'm a little tempted to advocate for trimming this down to just modules not depended on by other dev modules. For example:

kmc-tester git:(issue-145-dev-mgt) composer why jcalderonzumba/gastonjs
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
united-philanthropy-forum/kmc-tester  dev-issue-145-dev-mgt  requires (for development)  jcalderonzumba/gastonjs (^1.0.2)
jcalderonzumba/mink-phantomjs-driver  v0.3.3                 requires                    jcalderonzumba/gastonjs (~1.0)

That means jcalderonzumba/gastonjs is required by our project, but also by jcalderonzumba/mink-phantomjs-driver which is also a dev requirement. Why not trim it from our file? There are probably a few of these.

Curious if @wxactly has any thoughts about that that I'm not considering.

wxactly commented 4 years ago

Yes @mariacha - totally agree! The composer requirements in composer.json should always be the full set of dependencies for this project... No more, no less. If this project does not use jcalderonzumba/gastonjs directly, it should not show up in the composer.json file for this project. Any time we are requiring things that we don't directly use, we're just setting ourselves up for needless dependency headaches in the future.

Said another way... By removing jcalderonzumba/gastonjs as a requirement here, you're saying "I don't mind if jcalderonzumba/mink-phantomjs-driver someday decides to use a different version of this package, or even if they decide to remove this package entirely, it wouldn't affect me at all"

unclegcb commented 4 years ago

I love this approach and decided to audit that list. First one out presents a question!

✗ composer why behat/behat
united-philanthropy-forum/km-starter-kit  dev-nodrops-test  requires (for development)  behat/behat (>=3.0)
behat/mink-extension                      2.3.1             requires                    behat/behat (^3.0.5)
dmore/behat-chrome-extension              1.3.0             requires                    behat/behat (^3.0.4)
drupal/drupal-extension                   v3.4.1            requires                    behat/behat (~3.2)

I guess we could remove behat/behat, but we are actively adding it, and the other items are to enhance behat. Maybe we don't need any of those extensions at some point, but we still want behat right? So I'm suggesting in this case we keep it but am happy to be convinced otherwise.

unclegcb commented 4 years ago

@mariacha a little cleaner this way, I think. Merge if you like!