Skip to content
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

Evaluate the phpro/grumphp dev dependency #80

Open
Tracked by #78
TravisCarden opened this issue Mar 2, 2023 · 0 comments
Open
Tracked by #78

Evaluate the phpro/grumphp dev dependency #80

TravisCarden opened this issue Mar 2, 2023 · 0 comments

Comments

@TravisCarden
Copy link
Collaborator

TravisCarden commented Mar 2, 2023

Dependency phpro/grumphp (via phpro/grumphp-shim)
Description A composer plugin that enables source code quality checks.
Value/justification High. This runs all quality tools in parallel, including PHPUnit and static analysis tools, making it very easy to get rapid feedback during development. It provides code coverage reporting and assertion without the addition of other tools, which is of high value by itself. It is also used to organize and run test suites on CI (where it makes the log output much cleaner and easier to read). It renders a lot of ad hoc tool integrations unnecessary.
Usage/popularity High. Currently just under 8M installs and 1K dependents on Packagist.
Security policy https://github.com/phpro/grumphp/security
Maintainance Active. Responsive maintainers. Fairly regular, well-documented releases adhere strictly to Semver.
Considerations Because it's a shim (i.e., a PHAR), it adds no dependencies on other packages and has almost no effect on the dependency tree.

Dependency tree

$ composer info --tree phpro/grumphp-shim
phpro/grumphp-shim v1.15.0 GrumPHP Phar distribution
├──composer-plugin-api ~2.0
├──ext-json *
└──php ^8.0

Example use

$ composer all
> grumphp run
GrumPHP is sniffing your code!

Running tasks with priority 0!
==============================

Running task 1/11: composer... ✔
Running task 2/11: composer_normalize... ✔
Running task 3/11: deptrac... ✔
Running task 4/11: phpcs... ✔
Running task 5/11: phplint... ✔
Running task 6/11: phpmd... ✔
Running task 7/11: phpstan... ✔
Running task 8/11: phpunit... ✔
Running task 9/11: psalm... ✔
Running task 10/11: xmllint... ✔
Running task 11/11: yamllint... ✔

Running tasks with priority -100!
=================================

Running task 1/1: clover_coverage... ✔

# time: 32.25s user 12.16s system 96% cpu 45.807 total

I can run that dozens of times per day with basically no break in my flow. I would be very sad to lose it and the associated productivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant