-
Notifications
You must be signed in to change notification settings - Fork 11.1k
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
illuminate/collections still coupled to illuminate/support #38389
Comments
Looks like the conditional trait needs to be moved into the collections package? |
@GrahamCampbell I'm not sure if moving the trait to the collections package is the right call here. I feel it belongs more in the support package. |
I can see a couple paths. I think option 1 is probably the cleanest solution, and option 3 is probably the simplest solution. Thoughts? 1. New PackageWe could extract the functionality into a 2. Duplicate CodeWe could just duplicate the functionality in both We could reduce the pain of this is a couple of ways:
3. Move to the collections packageSince |
@driesvints How's that any different than the |
@JosephSilber no idea tbh |
Realistically, @driesvints thoughts? |
In the end I decided to open up #38457 — it just feels like a cleaner solution. That said, I'm happy to go the other direction if that doesn't end up making sense. |
We split up the trait into its own package: https://github.com/illuminate/conditionable. Thanks all and thanks @inxilpro. |
illuminate/collections
Version:9.0-dev
=dev-master
= commit hash d17728bDescription:
According to #32478, #32481, #32506 the intent of creating
illuminate/collections
was to remove the dependency onilluminate/support
.While this appears to be operational in v8.54.0, it is broken in 9.0-dev.
While exploring converting Valet from using
tightenco/collect
toilluminate/collections
with9.0-dev
, it reveals thatilluminate/collections
9.0-dev is still highly coupled toilluminate/support
More specifically, the
illuminate/collections
9.0-dev currently package depends on (requires) theilluminate/support
package to provide theConditionable
trait and its associatedEnumerable
implementations.Attempting to bypass
use Conditionable;
exposes more of the dependency details:Steps To Reproduce:
git clone git@github.com:laravel/valet.git
"minimum-stability": "dev",
tocomposer.json
composer remove tightenco/collect
composer require illuminate/collections:^9.0 illuminate/container:^9.0 --with-all-dependencies
./valet
orphpunit
Aside: Changing the
^9.0
to^8.0
avoids the reported errors, so it seems to be isolated to the9.0-dev
branch./cc @mattstauffer
/ref tighten/collect#217
The text was updated successfully, but these errors were encountered: