一个 Swift 包,它将 lefthook(一个快速且强大的 Git 钩子管理器)集成到 Swift 生态系统中。
要使用 lefthook-plugin
,请将其包含在 Swift Package 的目标规范中。
// swift-tools-version: 5.6
import PackageDescription
let package = Package(
name: "YourPackageName",
dependencies: [
.package(url: "https://github.com/csjones/lefthook-plugin.git", exact: "1.10.10"),
],
targets: [
.executableTarget(name: "YourTargetName")
]
)
此配置确保 SPM 调用该插件,从而将 lefthook 的功能集成到您的 Swift 项目中。
$ mint install csjones/lefthook-plugin
在您的 Swift 项目中 安装 lefthook
后,就可以运行它了。
使用 swift package plugin
CLI 直接调用该插件
swift package lefthook --help
运行 lefthook install
以初始化 lefthook.yml 配置和/或将 .git/hooks/
与您的配置同步。
swift package --disable-sandbox lefthook install
重要提示
由于 lefthook 插件需要访问本地文档来读取文件,因此必须在 Swift Package Manager 中使用 --disable-sandbox
标志。
要在您的包仓库中执行 lefthook 插件,请执行以下操作:
swift package --disable-sandbox lefthook run pre-commit
注意
有关 lefthook 命令及其用法的详细了解,请参阅 lefthook 的官方用法文档。
运行 mint install csjones/lefthook-plugin
以安装 CLI 工具后,每当您想与 lefthook
交互时,只需运行 mint run csjones/lefthook-plugin <命令>
即可。 示例:mint run csjones/lefthook-plugin --help
。
以下是 lefthook 的示例配置:
pre-push:
commands:
1_test:
run: swift test
pre-commit:
commands:
1_swiftformat:
glob: "*.{swift}"
run: swift run swiftformat --config .swiftformat {all_files}
2_swiftlint:
glob: "*.{swift}"
run: swift run swiftlint --autocorrect --strict --no-cache
3_git:
run: git add .
提示
要获得更全面的理解和更高级的配置,请参阅 lefthook 的官方配置文档。
如果您遇到任何问题或对 lefthook-plugin
有任何疑问,请在 GitHub 上提交 issue。 欢迎提供贡献、建议和反馈!
特别感谢原始的 lefthook 项目及其贡献者创建了一个强大的 Git 钩子管理器。