如何配置 lint-stage 以处理后端文件?

问题描述

使用 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"
  }
}

解决方法

我安装了 https://github.com/belav/csharpier 并且他们刚刚使用: "../**/*.cs": [ "dotnet csharpier" ], 很有魅力