问题描述
当只更改特定文件夹中的文件时,是否可以只运行 git hooks??
我有后端和前端的 monorepo。我只想在前端的文件发生更改时运行 husky hook。否则它不应该被触发,也不应该运行 linting 测试等......这很烦后端开发人员
解决方法
结合 lint-staged,我设法仅对所需的文件夹更改运行 husky hooks 检查。
module.exports = {
'*': (files) => {
const isAppFolderChanges = files.some((fileName) =>
fileName.includes('/app/'),)
const scripts = [
'npm run lint-fix','./node_modules/.bin/pretty-quick --staged','npm test',]
return isAppFolderChanges ? scripts : []
},}