dodger451 / laravelcodechecker
Basic configurable phpmd, phpcs and lint setup with artisan support
Requires
- illuminate/support: ~5
- phpmd/phpmd: ^2.6
- squizlabs/php_codesniffer: 3.3.2
- symfony/process: ^4.0
Requires (Dev)
- mockery/mockery: ^1.1
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^7.4
- sempro/phpunit-pretty-print: ^1.0
This package is auto-updated.
Last update: 2024-04-19 01:32:15 UTC
README
Creates laravel artisan commands to validate your application's sourcecode with php -l
, phpmd
and phpcs
.
Publishes predefined style rulesets into config/
for customization.
Installation
Install via Composer
$ composer require --dev dodger451/laravelcodechecker
Then copy the default config files to /config by running
php artisan vendor:publish --tag=laravelcodechecker
This will create some rulesets for phpmd and phpcs in config/
config/ laravelcodechecker.php phpcs/ ruleset.xml phpmd/ rulesets/ cleancode.xml codesize.xml controversial.xml design.xml naming.xml unusedcode.xml
Adopt the rules in phpcs/ruleset.xml
and phpmd/rulesets/*.xml
to your preferences, the cc:
commands will use them per default.
To change the default rulefiles, modify config/laravelcodechecker.php
Usage
To validate the application with all checks, run
php artisan cc:all
This will run php -l
, phpmd
and phpcs
on all .php files in tests/
routes/
config/
and app/
.
Alternatively, run each separately:
php artisan cc:phplint php artisan cc:phpcs php artisan cc:phpmd
Per default, each command will target tests routes config app
.
You can provide dirs and/or files as arguments to each cc:
command,
if you don't want to use the default targets in config/laravelcodechecker.php
E.g. to limit phpmd to the directories tests/
and app/
run
php artisan cc:phpmd tests app
To change the default targets per command, modify laravelcodechecker.php
Travis
Example .travis.yml
for travis-ci.org
language: php
php:
- '7.1'
- '7.2'
- nightly
install:
- composer install
script:
- php artisan cc:all
Change log
Please see the changelog for more information on what has changed recently.
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
- [david latotzky][https://www.linkedin.com/in/david-latotzky/]
License
license. Please see the license file for more information.
[link-styleci]: https://styleci.io/repos/154905196)] [link-author]: https://github.com/dodger451