EasyBuild.CommitLinter 0.1.0

dotnet tool install --global EasyBuild.CommitLinter --version 0.1.0                
此包包含可以从前端/命令行调用的一个 .NET 工具
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local EasyBuild.CommitLinter --version 0.1.0                
此包包含可以从前端/命令行调用的一个 .NET 工具
#tool dotnet:?package=EasyBuild.CommitLinter&version=0.1.0                
nuke :add-package EasyBuild.CommitLinter --version 0.1.0                

EasyBuild.CommitLinter

NuGet alternate text is missing from this package README image

EasyBuild.CommitLinter 是一个 .NET 工具,用于检查您的提交消息是否符合以下描述的 提交格式

[!TIP] EasyBuild.CommitLinter 还有名为 EasyBuild.ChangelogGen 的配套工具,可以根据 Git 历史生成一个变更日志。

使用方法

# Install the tool
dotnet tool install EasyBuild.CommitLinter

# Run the tool
dotnet commit-linter --help
DESCRIPTION:
Lint your commit message based on EasyBuild.CommitLinter conventions

Learn more at https://github.com/easybuild-org/EasyBuild.CommitLinter

USAGE:
    commit-linter <commit-file> [OPTIONS]

ARGUMENTS:
    <commit-file>    Path to the commit message file

OPTIONS:
    -h, --help       Prints help information
    -v, --version    Prints version information
    -c, --config     Path to the configuration file

Husky 集成

如果您正在使用 Husky,可以通过运行以下命令将 CLI 注册为 commit-msg 钩子,以通过验证提交消息:

dotnet husky add commit-msg -c 'dotnet commit-linter "$1"'
# $1 is provided by Husky and contains the path to the commit message file

提交格式

[!NOTE] EasyBuild.CommitLinter 格式基于 常规提交 并扩展以在 monorepo 环境中使用。

<type>[optional scope][optional !]: <description>

[optional tags]

[optional body]

[optional footer]
  • [可选标签] 格式如下

    [tag1][tag2][tag3]
    
  • [可选主体] 是自由文本。

    This is a single line body.
    
    This is a
    
    multi-line body.
    
  • [可选尾部] 遵循 git 尾部格式

    BREAKING CHANGE: <description>
    Signed-off-by: Alice <[email protected]>
    Signed-off-by: Bob <[email protected]>
    

配置

EasyBuild.CommitLinter 附带了一个默认配置,用于验证您的提交。

默认配置允许以下提交类型,无需标签

  • feat - 新功能
  • fix - 错误修复
  • ci - 到 CI/CD 配置的更改
  • chore - 对构建过程或辅助工具和库的更改(例如文档生成)
  • docs - 文档更改
  • test - 添加缺少的测试或更正现有的测试
  • style - 不影响代码含义的更改(空格、格式、缺少的分号等)
  • refactor - 代码更改不修复错误也不添加功能

如果需要,您可以通过使用 --config 选项提供自定义配置文件。

配置文件格式

配置文件是一个具有以下属性的JSON文件:

类型
  • 必须:✅
  • 类型:{ name: string, description?: string, skipTagLine?: bool } []

接受的提交类型列表。

属性 类型 必须 描述
name string 提交类型的名称。
description string 提交类型的描述。
skipTagLine bool 如果为 true 将跳过标签行验证。 <br> 如果为 false,则检查标签行格式是否有效并包含已知标签。 <br><br>默认为 true
tags
  • 必须:❌
  • 类型:string []

接受的提交标签列表。

示例
{
    "types": [
        { "name": "feat", "description": "A new feature", "skipTagLine": false },
        { "name": "fix", "description": "A bug fix", "skipTagLine": false },
        { "name": "docs", "description": "Documentation changes", "skipTagLine": false },
        { "name": "test", "description": "Adding missing tests or correcting existing tests", "skipTagLine": false },
        { "name": "style", "description": "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)", "skipTagLine": false },
        { "name": "refactor", "description": "A code change that neither fixes a bug nor adds a feature", "skipTagLine": false },
        { "name": "ci", "description": "Changes to CI/CD configuration" },
        { "name": "chore", "description": "Changes to the build process or auxiliary tools and libraries such as documentation generation" }
    ],
    "tags": [
        "cli",
        "converter"
    ]
}
产品 兼容和额外的计算目标框架版本。
.NET net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。
兼容的目标框架(s)
包含的目标框架(s)(在包中)
了解更多关于 目标框架.NET 标准化 的信息。

此包没有依赖项。

版本 下载 最后更新
0.1.0 375 4/30/2024