EasyBuild.CommitLinter 0.1.0
dotnet tool install --global EasyBuild.CommitLinter --version 0.1.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local EasyBuild.CommitLinter --version 0.1.0
#tool dotnet:?package=EasyBuild.CommitLinter&version=0.1.0
nuke :add-package EasyBuild.CommitLinter --version 0.1.0
EasyBuild.CommitLinter
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 已计算。 |
此包没有依赖项。
版本 | 下载 | 最后更新 |
---|---|---|
0.1.0 | 375 | 4/30/2024 |
## 0.1.0
### 🚀 功能
- 为 CLI 应用添加顶级描述 ([e60ab34](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/e60ab349637d7bc602542b5f378d465e93423960))
- 允许提供相对路径或绝对路径的配置 / 提交文件 ([9cc4622](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/9cc46228b09823ff4a7d0f43d2b649910bb599b2))
- 初始实现 ([94e97b5](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/94e97b5b06bc351d9419235df3e4af13cb45f121))
### 🐞 错误修复
- 改进无效格式的情况下的格式化 ([b511088](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/b5110881d905234aef41b12c96efd307909f99dc))
- 将 FSharp.Core 包含在生成的工具中 ([2c3d605](https://github.com/easybuild-org/EasyBuild.FileSystemProvider/commit/2c3d605e12e2bced3a01333fc14513f135e05d5a))