EasyBuild.CommitParser 1.0.0

dotnet add package EasyBuild.CommitParser --version 1.0.0                
NuGet\Install-Package EasyBuild.CommitParser -Version 1.0.0                
此命令旨在在 Visual Studio 的软件包管理器控制台中使用,因为它使用了 NuGet 模块版本的 Install-Package.
<PackageReference Include="EasyBuild.CommitParser" Version="1.0.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用软件包。
paket add EasyBuild.CommitParser --version 1.0.0                
#r "nuget: EasyBuild.CommitParser, 1.0.0"                
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互工具或脚本的源代码中以引用软件包。
// Install EasyBuild.CommitParser as a Cake Addin
#addin nuget:?package=EasyBuild.CommitParser&version=1.0.0

// Install EasyBuild.CommitParser as a Cake Tool
#tool nuget:?package=EasyBuild.CommitParser&version=1.0.0                

EasyBuild.Parser

NuGet alternate text is missing from this package README image

EasyBuild 工具(如 EasyBuild.ChangelogGenEasyBuild.CommitLinter)使用的常见提交解析库。

用法

open EasyBuild.CommitParser
open EasyBuild.CommitParser.Types

let commitText = "..."

// If you need the commit message information
Parser.tryParseCommitMessage CommitParserConfig.Default commitText
// > it: Result<CommitMessage,string>

// If you just want to validate the commit message
Parser.tryValidateCommitMessage CommitParserConfig.Default commitText
// > it: Result<unit,string>

对于配置,您可以使用默认配置或提供自定义配置。

open EasyBuild.CommitParser.Types

// Default configuration
CommitParserConfig.Default

// My custom configuration
{
    Types =
        [
            // ...
        ]
    Tags =
        [
            // ...
        ] |> Some
}

// You can also use a configuration file by passing the JSON content to the included Decoder
open Thoth.Json.Newtonsoft

let configurationJson = "..."

match Decode.fromString Config.Config.decoder configContent with
| Ok config -> config
| Error error ->
    failwithf "Error while parsing the configuration file: %s" error

提交格式

[!注意] EasyBuild.CommitParser 格式基于 标准提交 并扩展以在单代码库环境中使用。

<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.CommitParser 随附一个默认配置来验证您的提交。

默认配置允许以下提交类型,不要求标签

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

如有需要,您可以直接通过代码或使用JSON格式的配置文件来提供自定义配置。

配置文件格式

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

types
  • 必需:✅
  • 类型:{ 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 net5.0 已计算。 net5.0-windows 已计算。 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 已计算。
.NET Core netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard2.1 兼容。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容目标框架
含有目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 仓库

此包未被任何流行 GitHub 仓库使用。

版本 下载 最后更新
1.0.0 175 6/17/2024
0.1.0 84 6/13/2024

## 1.0.0

### 🚀 功能

- 重构 API 以更类似于库而不是内部包 ([4c6d03b](https://github.com/easybuild-org/EasyBuild.CommitParser/commit/4c6d03bb543b408fe3c74673a4ed55989fe177fa))