magento / magento/community-features

Remove braintree/braintree_php from magento/magento2-base

Open
#243 16 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Priority: P3
Dominant language
No language data
Stars
46
Forks
14
PR merge metrics
No merged PRs in 30d

Description

### Summary (*)
`braintree/braintree_php` is required in `magento/magento2-base` when the only module that relies on that dependancy is `magento/module-braintree`, which also has `braintree/braintree_php` as a dependancy

I am not composer requiring `magento/product-community-edition` but instead `magento/magento2-base` with a subset of Magento modules, which I believe is a better practice than using composer's replace property to remove unused dependancies.

I don't want `braintree/braintree_php` to be installed as none of the modules I'm using make use of it.

### Examples (*)
N/A

### Proposed solution
I am suggesting removing `braintree/braintree_php` from `magento/magento2-base`, but **not** from `magento/product-community-edition` or `magento/product-enterprise-edition`

This should allow for `braintree/braintree_php` to only be installed via composer if `magento/module-braintree` is part of the resolved dependancies, and will keep `braintree/braintree_php` in the root composer.json if composer requiring `magento/product-*-edition` or cloning from git.

Other dependancies like `msp/recaptcha` have the ideal setup, where they get removed from `magento/magento2-base` when the composer.json package is created.

I don't believe I can create a pull request for this from the public GitHub repo.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read the dependency declarations in magento/magento2-base and compare them with the root composer.json used by the product editions. Verify Composer resolution for a base installation without magento/module-braintree, while confirming the dependency remains available for the community and enterprise editions.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
build-system
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.