sebastian/finder-facade
A convenience wrapper around Symfony Finder that simplifies locating files in PHP projects. It provides a fluent, facade-style API for common search patterns, filtering, and exclusions, making file discovery easier for tools such as PHPUnit and code coverage.
Architecture fit: sebastian/finder-facade is a thin convenience wrapper around symfony/finder, not a Laravel-native package. It provides a facade-style API over Finder’s object-oriented filesystem search API. Laravel’s own filesystem abstraction is Flysystem-based (Illuminate\Filesystem\Filesystem, Storage, and the File facade), and Symfony Finder is already available transitively in many PHP projects, including Laravel test/tooling stacks. The facade adds indirection but no meaningful capability beyond what Finder or Laravel’s native filesystem APIs already provide. It does not integrate with Laravel’s service container, configuration, storage disks, or filesystem macros.
Integration feasibility: Technically trivial to install via Composer, but the value proposition is weak. The repository is archived, has zero dependents, and is a small wrapper rather than a platform component. Composer compatibility must be checked against the project’s PHP version and the installed symfony/finder major version, because an archived wrapper is likely pinned to older constraints. Replacement cost is low, which also means there is little reason to accept lifecycle risk.
Technical risk: High lifecycle risk. The package is archived, so there will be no bug fixes, PHP version updates, Symfony Finder compatibility updates, or security response. The license is reported as NOASSERTION, which requires legal review before adoption or redistribution; an unclear license is a material issue for commercial use. Zero dependents means no ecosystem validation and no community safety net. Because it is only a convenience facade, the functional risk is low but the governance and maintenance risk is disproportionate.
Key questions:
symfony/finder directly or Laravel’s File/Storage APIs?symfony/finder versions are supported, and do they match the target Laravel runtime?Stack fit: Poor to neutral for a Laravel codebase. Laravel teams should prefer File, Storage, or direct symfony/finder usage. The facade pattern may appeal to developers who want static access, but it is not idiomatic Laravel and creates a non-standard dependency for a solved problem.
Migration path: For greenfield work, do not add the package. For existing usage, replace facade calls with direct Symfony\Component\Finder\Finder construction or Laravel filesystem equivalents. If centralized Finder configuration is genuinely useful, implement a small application-owned service or helper and cover it with tests. Run composer why sebastian/finder-facade to identify dependents before removal.
Compatibility: Verify the package’s PHP constraint and its symfony/finder constraint against the target runtime and lockfile. Because the package is archived, assume it lags current PHP and Finder releases until proven otherwise. Run installation and test suites in CI on the exact PHP version used in production. Do not distribute the package further until the NOASSERTION license is clarified.
Sequencing:
Maintenance: There is no upstream maintenance. Any bug, compatibility issue, or security concern becomes the adopting team’s responsibility. If the package must remain temporarily, fork or vendor it and document ownership. The small surface area makes a fork feasible, but forking a convenience wrapper is usually worse than removing it.
Support: No vendor or community support. Zero dependents means limited public troubleshooting evidence and no downstream patch flow. Internal developers will absorb questions, upgrades, and incident response. The package is simple enough that ramp-up is not the concern; the concern is that teams may assume an archived Composer package is still maintained.
Scaling: The facade does not materially affect scaling. Performance is determined by Symfony Finder’s filesystem traversal and disk I/O. Large directory trees can consume memory or produce slow scans; use iterators and constrain search paths. Operationally, the larger scaling issue is dependency sprawl: adding an unmaintained wrapper for a commodity capability increases the number of packages the team must track without increasing capability.
Failure modes: Dependency resolution conflicts with newer symfony/finder versions; fatal errors or deprecations after PHP upgrades; silent behavioral divergence from Finder; license compliance findings; no patch path for vulnerabilities in the abandoned package or its pinned transitive dependencies. Removal is usually low-effort, but only if usage is isolated and tested.
Ramp-up: Developer ramp-up is minimal because the API is a thin Finder wrapper. Organizational ramp-up is the real cost: documenting why the package is prohibited, providing the approved native pattern, and preventing reintroduction through code review or static analysis. The TPM recommendation is not to adopt this package. If it is already present, schedule a low-effort removal in favor of symfony/finder or Laravel’s native filesystem APIs. The strategic fit is low, the lifecycle risk is high, and the opportunity cost of standardizing on it is unnecessary.
How can I help you explore Laravel packages today?