lefthook-plugin

一个 Swift 包,它将 lefthook(一个快速且强大的 Git 钩子管理器)集成到 Swift 生态系统中。

特性

安装

使用 Swift Package Manager 插件

要使用 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

$ mint install csjones/lefthook-plugin

命令

在您的 Swift 项目中 安装 lefthook 后,就可以运行它了。

使用 Swift Package Manager 插件

使用 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

运行 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 钩子管理器。