Skip to content

Latest commit

 

History

History
102 lines (69 loc) · 3.23 KB

contributing.md

File metadata and controls

102 lines (69 loc) · 3.23 KB

Contributing

We look forward to your contributions! Here are some examples how you can contribute:

  • Report an issue
  • Suggest a new feature
  • Send a pull request

WARNING : Since version 9.1.0, PHPLint enforce QA by verify if the Application Version is the last one identified into the src/Console/Application.php file. This verification is only executed when you try to push code to the remote repository. To avoid such check, use the git push --no-verify syntax.

This check is only for maintainers of this project to prepare a new release and forgot to bump Application::VERSION.

pre-push git hook

Workflow for Pull Requests

  1. Fork the repository.
  2. Create your branch from main if you plan to implement new functionality or change existing code significantly.
  3. Implement your change and add tests for it.
  4. Ensure the test suite passes.
  5. Ensure the code complies with our coding guidelines.
  6. Send your Pull Request

Fork the PHPLint repository

Before starting to contribute to this project, you first need to install code from GitHub:

git clone --branch main https://github.com/overtrue/phplint.git
cd phplint 
composer update

In an effort to maintain a homogeneous code base, we strongly encourage contributors to run PHPStan, PHP-CS-Fixer and PHPUnit before submitting a Pull Request.

All dev tools (phpstan, php-cs-fixer, phpunit) are under control of bamarni/composer-bin-plugin.

Static Code Analysis

Static analysis of source code is provided using PHPStan

This project comes with a configuration file (located at /phpstan.neon.dist in the repository) and an executable for PHPStan (located at vendor/bin/phpstan) that you can use to analyse your source code for compliance with this project's coding guidelines:

composer code:check

Here is a preview of what call look like:

phpstan_run

Coding standards

Coding standards are enforced using PHP-CS-Fixer

This project comes with a configuration file (located at /.php-cs-fixer.dist.php in the repository) and an executable for PHP CS Fixer (located at vendor/bin/php-cs-fixer) that you can use to (re)format your source code for compliance with this project's coding guidelines:

composer style:fix

If you only want to check source code standard violation, without apply changes, please use instead:

composer style:check

Here is a preview of what call look like:

php-cs-fixer_dry-run

Running Tests

All tests must PASS before submitting a Pull Request.

Three Composer shortcuts are available:

composer tests:unit

Executes all unit tests (that include test suites: cache, configuration, finder)

composer tests:e2e

Execute end-to-end tests (that include test suite e2e)

composer tests:all

Execute all tests (unit and end-to-end)