如何在合并/推送/提交 git 命令之前强制执行 tslint 规则

BAc*_*edo 1 git tslint azure-devops angular azure-repos

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

是否有任何工具可以集成到 azure 管道中以检查代码并将其与 tslint 规则进行比较,以便在不匹配时使合并或构建失败。

Rah*_*rma 6

使用husky预提交钩子。

与 Husky 框架配合使用的 Git Hook。git-scm.com/docs/githooks

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

 "scripts": {
    "build": "ng build --prod"
  },
 "husky": {
    "hooks": {
      "pre-commit": "npm run lint && npm run build"
    }
  },
Run Code Online (Sandbox Code Playgroud)