mr-feek/laravel-git-hooks

该软件包已被放弃,不再维护。未建议替代软件包。

这是一个简单的laravel软件包,用于将自定义git钩子添加到laravel项目中。包含phpunit、phpcs和eslint

v0.5.1 2018-04-01 19:13 UTC

README

Laravel Git Hooks

这是一个社区项目,而不是“官方”的Laravel项目

Latest Stable Version Total Downloads License Build Status

此软件包提供了一种将自定义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
  • 安装依赖关系(composer,yarn,npm)
  • eslint
  • 语义化提交信息

嗅探命令

PHPCS、PHPCBF、PHPSTAN和ESLINT命令都允许您向正在执行的过程传递参数。您可以通过--proxiedArguments标志来利用此功能。在上面的代码示例中,以下phpcs命令将被执行:phpcs -p -n --standard=PSR2

Laravel支持的版本

Laravel ^5.5 正在积极支持。需要支持Laravel的早期版本?请随意打开PR

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

请参阅CONTRIBUTINGCODE_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

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息