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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
#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
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获取支持。
EasyBuild.Parser
EasyBuild 工具(如 EasyBuild.ChangelogGen 或 EasyBuild.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 已计算。 |
-
.NETStandard 2.1
- FSharp.Core (>= 8.0.101)
- FsToolkit.ErrorHandling (>= 4.15.1)
- Thoth.Json.Newtonsoft (>= 0.1.0)
NuGet 包
此包未被任何 NuGet 包使用。
GitHub 仓库
此包未被任何流行 GitHub 仓库使用。
## 1.0.0
### 🚀 功能
- 重构 API 以更类似于库而不是内部包 ([4c6d03b](https://github.com/easybuild-org/EasyBuild.CommitParser/commit/4c6d03bb543b408fe3c74673a4ed55989fe177fa))