PHPackages                             webflo/drupal-finder - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. webflo/drupal-finder

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

webflo/drupal-finder
====================

Helper class to locate a Drupal installation.

1.3.1(1y ago)12653.2M—3.2%27[19 issues](https://github.com/webflo/drupal-finder/issues)[9 PRs](https://github.com/webflo/drupal-finder/pulls)20GPL-2.0-or-laterPHPPHP &gt;=8.1CI failing

Since Oct 7Pushed 1y ago3 watchersCompare

[ Source](https://github.com/webflo/drupal-finder)[ Packagist](https://packagist.org/packages/webflo/drupal-finder)[ RSS](/packages/webflo-drupal-finder/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (20)Used By (20)

Drupal Finder
=============

[](#drupal-finder)

[![GitHub Workflow Status](https://camo.githubusercontent.com/3fadafbda0545364abc214a19c203ff0d5751eb7153de85c79d4a365806fee48/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f776562666c6f2f64727570616c2d66696e6465722f63692e796d6c)](https://github.com/webflo/drupal-finder/actions/workflows/ci.yml)[![Packagist](https://camo.githubusercontent.com/dada1374a1c1efbe06f90992a5e1e96aaaf9cb296f608e2fc77558b0428bc282/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f776562666c6f2f64727570616c2d66696e6465722e737667)](https://packagist.org/packages/webflo/drupal-finder)

Drupal Finder provides a class to locate a Drupal installation based on Composer metadata.

Usage
-----

[](#usage)

```
$drupalFinder = new \DrupalFinder\DrupalFinderComposerRuntime();

$drupalRoot = $drupalFinder->getDrupalRoot();
$composerRoot = $drupalFinder->getComposerRoot();
$vendorDir = $drupalFinder->getVendorDir();
```

Examples
--------

[](#examples)

- [Drush](https://github.com/drush-ops/drush)
- [phpstan-drupal](https://github.com/mglaman/phpstan-drupal)

License
-------

[](#license)

GPL-2.0+

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity67

Solid adoption and visibility

Community38

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 85.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~176 days

Recently: every ~448 days

Total

17

Last Release

689d ago

Major Versions

0.4.2 → 1.0.02017-08-08

### Community

Maintainers

![](https://www.gravatar.com/avatar/c711eb409734c42befd3bb9d507be67da46d0db9bd03c5172c8fe2da1705c239?d=identicon)[webflo](/maintainers/webflo)

---

Top Contributors

[![webflo](https://avatars.githubusercontent.com/u/123946?v=4)](https://github.com/webflo "webflo (36 commits)")[![weitzman](https://avatars.githubusercontent.com/u/7740?v=4)](https://github.com/weitzman "weitzman (2 commits)")[![greg-1-anderson](https://avatars.githubusercontent.com/u/612191?v=4)](https://github.com/greg-1-anderson "greg-1-anderson (1 commits)")[![lpeabody](https://avatars.githubusercontent.com/u/419534?v=4)](https://github.com/lpeabody "lpeabody (1 commits)")[![nkazarynava](https://avatars.githubusercontent.com/u/20144938?v=4)](https://github.com/nkazarynava "nkazarynava (1 commits)")[![zaporylie](https://avatars.githubusercontent.com/u/1690685?v=4)](https://github.com/zaporylie "zaporylie (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webflo-drupal-finder/health.svg)

```
[![Health](https://phpackages.com/badges/webflo-drupal-finder/health.svg)](https://phpackages.com/packages/webflo-drupal-finder)
```

###  Alternatives

[ocramius/proxy-manager

A library providing utilities to generate, instantiate and generally operate with Object Proxies

5.0k82.4M230](/packages/ocramius-proxy-manager)[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[ocramius/package-versions

Provides efficient querying for installed package versions (no runtime IO)

3.2k74.3M117](/packages/ocramius-package-versions)[jean85/pretty-package-versions

A library to get pretty versions strings of installed dependencies

1.3k289.5M63](/packages/jean85-pretty-package-versions)[icanhazstring/composer-unused

Show unused packages by scanning your code

1.7k7.0M188](/packages/icanhazstring-composer-unused)[pocketmine/pocketmine-mp

A server software for Minecraft: Bedrock Edition written in PHP

3.5k74.6k86](/packages/pocketmine-pocketmine-mp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
