Skip to content

Support composer bin plugin for vendor files #418

Description

@provokateurin

Description

phpantom should support indexing vendor files installed via https://github.com/bamarni/composer-bin-plugin, while they are ignored via a .gitignore file. Many projects use the composer bin plugin for separating production and development dependencies (mostly to avoid clashing version constraints between direct and peer dependencies), so it would be great to support such project structures.

Use case

I'm trying to use phpantom with Gram (Zed fork) on the https://github.com/nextcloud/server codebase.
It is super quick despite the massive size of the project, however I found some issues in tests.
For example when opening tests/lib/TestCase.php it will complain that the class \PHPUnit\Framework\TestCase is not found.
We have phpunit installed in vendor-bin/phpunit/composer.json, but the vendor-bin/phpunit/vendor files are gitignored.
As soon as I remove this line from the root .gitignore, it starts working: /vendor-bin/**/vendor.

Proposed solution

No response

Alternatives considered

An alternative solution could be to provide an option to unignore certain paths. That would be a bit more flexible and could be used in other edge cases as well.

Code example

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions