iodigital-com / composer-git-hooks
iO Composer Git Hooks
v3.1.0
2024-02-06 16:09 UTC
Requires
- php: ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0
- composer-plugin-api: ^2.0
Requires (Dev)
- composer/composer: ^2.0
- iodigital-com/php-code-sniffer-standard: ^29.0
- phpstan/extension-installer: ^1.2.0
- phpstan/phpstan: ^1.10.1
- phpstan/phpstan-strict-rules: ^1.5.0
- slevomat/coding-standard: ^7.1.0 || ^8.0
Replaces
- dev-develop
- v3.1.0
- v3.0.1
- v3.0.0
- v2.2.0
- v2.1.0
- v2.0.0
- v1.3.0
- v1.2.0
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.2.1
- 0.2.0
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.3
- 0.0.2
- 0.0.1
- dev-main
- dev-feature/add-php-8.3-support
- dev-fix/create-symlinks-when-current-symlink-is-broken
- dev-feature/ICOMP-804-rebrand-to-iodigital-namespace
- dev-feature/add-static-analysis-github-workflow
This package is auto-updated.
Last update: 2024-09-06 17:31:37 UTC
README
Composer 插件,用于从 bin/git-hooks/[hook].d
文件夹管理 git hooks。
工作原理
- 将包作为开发依赖项包含
- 在执行 Composer 的
install
和update
命令时,将创建从.git/hooks/[hook]
到此模块的scripts/chain-hook
脚本的符号链接,用于所有非远程 git hooks。 chain-hook
脚本将运行项目bin/git-hooks/[hook].d
文件夹中找到的脚本。
先决条件
- 由 composer 管理的项目
安装
将包作为开发依赖项添加。
composer require --dev iodigital-com/composer-git-hooks
将包添加到您的 composer.json
文件的 allow-plugins 部分
{ "config": { "allow-plugins": { ... "iodigital-com/composer-git-hooks": true ... } } }
手动运行脚本
此包是 composer 插件,将在 composer install
和 composer update
上自动安装 githooks。但是,如果您需要,可以通过将其添加为 composer 脚本并执行它来手动运行安装器。
将以下内容添加到 composer.json
"scripts": { ... "install-git-hooks": "IODigital\\ComposerGitHooks\\ComposerPlugin::process" ... },
运行它
composer run-script install-git-hooks
用法
将特定于项目的 git-hooks 添加到 bin/git-hooks/[hook].d
。例如
bin/git-hooks/pre-commit.d/phpstan
bin/git-hooks/pre-commit.d/phpcs
所有脚本(在这种情况下为 pre-commit
)都应返回 0 退出代码,以便整个钩子成功。
贡献
创建一个 pull request。此包使用了 composer
插件接口。请参阅 composer 文档。