mr-feek / laravel-git-hooks
这是一个简单的laravel软件包,用于将自定义git钩子添加到laravel项目中。包含phpunit、phpcs和eslint
Requires
- php: ~5.6|~7.0
- illuminate/console: ~5.1
- illuminate/support: ~5.1
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^3.0
- symfony/finder: ^3.3
- weebly/phpstan-laravel: ^1.0
Requires (Dev)
- mockery/mockery: ^0.9.9
- moon/artisan: ^v1.9
- orchestra/testbench: ~3.0
This package is auto-updated.
Last update: 2021-08-11 08:15:47 UTC
README
这是一个社区项目,而不是“官方”的Laravel项目
此软件包提供了一种将自定义git钩子添加到laravel项目的方法。轻松配置在git钩子过程中执行的任何命令。想在提交前确保所有测试通过?现在就是机会!
目前,以下git钩子受到支持
- pre-commit
- prepare-commit-msg
- pre-push
- post-checkout
安装
通过Composer
$ composer require mr-feek/laravel-git-hooks --dev
编辑laravel项目的composer.json,以便在开发人员使用composer后为每个开发人员安装这些钩子。
"post-autoload-dump": [
...
"@php artisan hooks:install"
]
配置
- 发布此软件包的配置文件:
php artisan vendor:publish --provider="Feek\LaravelGitHooks\LaravelGitHooksServiceProvider" - 在配置数组中注册要运行的特定artisan命令。例如,所有在
pre-commit数组键中嵌套的命令将在git提交之前运行。所有在pre-push数组键中嵌套的命令将在git推送之前运行。如果这些已注册的命令中的任何一个失败,则将阻止git操作。
<?php return [ 'commit-msg' => [ // ], 'pre-commit' => [ 'php artisan hooks:phpcs --diff --proxiedArguments="-p -n --standard=PSR2"', 'php artisan hooks:eslint --diff --proxiedArguments="--fix --quiet"', ], 'pre-push' => [ './vendor/bin/phpunit' ], 'post-checkout' => [ 'php artisan hooks:install-deps' ], 'prepare-commit-msg' => [ 'php artisan hooks:semantic-commits', ], ];
命令
此软件包提供了一些有用的artisan命令,这些命令可以作为git钩子很好地工作。以下命令包含在内
- phpcs
- phpcbf
- phpstan
- 如果您正在使用此命令,您可以通过创建一个自定义phpstan.neon文件来获得更好的体验
- 安装依赖关系(composer,yarn,npm)
- eslint
- 语义化提交信息
嗅探命令
PHPCS、PHPCBF、PHPSTAN和ESLINT命令都允许您向正在执行的过程传递参数。您可以通过--proxiedArguments标志来利用此功能。在上面的代码示例中,以下phpcs命令将被执行:phpcs -p -n --standard=PSR2
Laravel支持的版本
Laravel ^5.5 正在积极支持。需要支持Laravel的早期版本?请随意打开PR
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
贡献
请参阅CONTRIBUTING和CODE_OF_CONDUCT以获取详细信息。
想知道如何着手开发laravel包?请参阅http://laraveldaily.com/how-to-create-a-laravel-5-package-in-10-easy-steps/和https://laravel.net.cn/docs/5.5/packages
致谢
- Fiachra McDermott
- 所有贡献者
- 鱼钩图标最初由Carson Wittenberg提供。
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息