Any contributions (issues, pull requests, code review, ideas, etc.) are welcome. Here are a few guidelines to be aware of:
- Include tests for any new features or bug fixes.
- All new features should target the
main
branch. - All code must follow the project coding style standards which will be enforced by StyleCI.
Since this project has rather strict coding standards, which include:
- PHPStan level 6
- 100% test coverage
- 100% MSI (Mutation Score Indicator)
- Compatibility with PHP 5.3.2 up to 8.0 and newer
It might be a bit challenging to get started but fret not, as the maintainers will be happy to assist you should you have any questions or need help with your contribution. Even if the tests fail, don't worry, as the maintainers will help you fix them.
- Fork the repository on GitHub.
- Clone your fork locally.
- Run
composer install
to install the dependencies. - Create a new branch for your feature or bug fix.
- Write code and tests for your new feature or bug fix.
- Run the tests (
vendor/bin/simple-phpunit
) to be sure everything is working. - Push your branch to your fork on GitHub.
- Create a pull request to the
main
branch. - Wait for the maintainers to review your pull request.
Sometimes it's easier to check your changes when you have an actual project where a bug occurs rather than reproducing it in a test. While this package works as a Composer plugin, it might seem difficult to test your changes against a real project.
Consider a following example:
~/work/my-project
- path to my project~/work/composer-diff
- path to this repository
Running the composer-diff
command with your changes against your project is as simple as:
cd ~/work/my-project # Navigate to your project directory
~/work/composer-diff/composer-diff # Run the composer-diff command from this repository
You can specify any other options as well like --no-dev
, --with-platform
, etc.