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
Description
phpantom should support indexing vendor files installed via https://github.com/bamarni/composer-bin-plugin, while they are ignored via a
.gitignorefile. 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.phpit will complain that the class\PHPUnit\Framework\TestCaseis not found.We have phpunit installed in
vendor-bin/phpunit/composer.json, but thevendor-bin/phpunit/vendorfiles 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