如何在 merging/push/commit git 命令之前执行 tslint 规则

How to enforce tslint rules before merging/push/commit git commands

我在 Azure DevOps 中有一个 Web 应用程序 运行,我想在合并之前确保代码符合标准;例如 "dev/test/master"。我制作了一个 tslint 规则文件,并希望强制执行此规则。以一种方式执行它,只要他们向分支机构提出拉取请求。在获得批准后或在获得批准之前使构建失败。或者更好的是,在开发人员的代码匹配 tslint 规则之前,不要让开发人员发出拉取请求。

有没有我可以集成到 azure pipelines 中的工具来检查代码并将其与 tslint 规则进行比较,以便在不匹配时使合并或构建失败。

使用husky 预提交挂钩。

Git 与 Husky 框架一起工作的挂钩。 git-scm.com/docs/githooks

安装 husky 并在 package.json 中添加以下代码。如果 tslint 规则或构建失败,它将不允许提交代码。

 "scripts": {
    "build": "ng build --prod"
  },
 "husky": {
    "hooks": {
      "pre-commit": "npm run lint && npm run build"
    }
  },