1

使用 lint-stage 提示。

正面是棱角分明的,背面是点网状的。

在前面,lint-stage 成功地与 husky 一起使用,以便在预提交挂钩中格式化提交的文件。我试图通过类比将背面附加到 lint-stage,但出现了一个问题 - lint-stage 只有在文件位于最前面的目录中时才会抛出正确的路径(因为带有 lint-stage 配置的 package.json 是在 proj/frontend/package.json 的根目录中)。

我还需要格式化 proj/backend 目录中的文件。我尝试以这种形式将第二个后端模式添加到 lint-stage

"../**/*.cs": "dotnet format --include", 

但随后带有点“../backend/program.cs”的路径以 dotnet 格式抛出,它无法处理。

在这种情况下最好的方法是什么 - 虽然我的两个解决方案都很糟糕,但将带有 lint-stage 配置的 package.json 部分移到更高级别,即在 proj/package.json 中,那么问题就会消失。或者扩展配置并在其中写入一个函数来删除给定模式路径开头的点。你能告诉我最好的选择吗?

Package.json 配置

"husky": {
    "hooks": {
      "pre-commit": "lint-staged --r"
    }
  },
  "lint-staged": {
    "../**/*.cs": "dotnet format --include",
    "*.cs": "dotnet format --include"
  }
}
4

2 回答 2

0

我安装了https://github.com/belav/csharpier并且它们只是使用了: "../**/*.cs": [ "dotnet csharpier" ],像魅力一样工作

于 2021-06-28T20:59:50.143 回答
0

我建议将 dotnet-format 与 husky.net 一起使用,以使整个过程更快、更自动化。

一探究竟:

https://github.com/alirezanet/Husky.Net

文档

于 2021-12-25T23:22:36.113 回答