Как обеспечить соблюдение правил tslint перед слиянием / нажатием / фиксацией команд git

У меня есть веб-приложение, работающее в Azure DevOps, и я хочу убедиться, что код соответствует стандартам перед объединением; например "dev / test / master". Я создал файл правил tslint и хочу применить это правило. Обеспечьте его соблюдение таким образом, чтобы всякий раз, когда они получали запрос на перенос в ветку. После утверждения или до утверждения сделать сборку неудачной. Или, что еще лучше, не позволяйте разработчику делать запрос на перенос, пока его код не будет соответствовать правилам tslint.

Есть ли какой-нибудь инструмент, который я могу интегрировать в конвейеры Azure, чтобы проверить код и сравнить его с правилами tslint, чтобы, если он не соответствует, выполнить слияние или сборку с ошибкой.


person BAcevedo    schedule 08.04.2019    source источник
comment
Я пробовал tslint только перед коммитами, но не до каких-либо PR. Это применимо и к вашему случаю?   -  person wentjun    schedule 08.04.2019


Ответы (1)


Используйте предварительную фиксацию хаски.

Git Hooks, которые работают с фреймворком Husky. git-scm.com/docs/githooks

Установите хаски и добавьте приведенный ниже код в свой package.json. Это не позволит зафиксировать код, если правило tslint или сборка завершаются неудачно.

 "scripts": {
    "build": "ng build --prod"
  },
 "husky": {
    "hooks": {
      "pre-commit": "npm run lint && npm run build"
    }
  },
person Rahul Sharma    schedule 08.04.2019
comment
На самом деле все было так просто. Просто npm установите хаски и добавьте эти строки в package.json, и все заработает. Спасибо, Рахул - person BAcevedo; 08.04.2019
comment
Вот хуки Git, которые работают с фреймворком Husky. git-scm.com/docs/githooks - person BAcevedo; 09.04.2019