当git根目录不在soybean-admin前端工程目录中时,会有两个错误
-
soy init-git-hooks在.git/hooks 下生成的两个指令文件无法执行。 -
gitCommitVerify无法执行。
经过调研,解决方法如下
-
soy init-git-hooks是通过simple-git-hooks来完成钩子创建的,而后者是可以自定义配置的。方法如下:
在工程目录下新建simple-git-hooks.cjs配置文件,内容为
const cwd = process.cwd();
const nodePath = cwd.split('\\').join('/');
module.exports = {
'commit-msg': `cd ${nodePath} && pnpm soy git-commit-verify`,
'pre-commit': `cd ${nodePath} && pnpm typecheck && pnpm soy lint-staged`
};
然后执行 pnpm prepare 即可。
-
soybean/cli中,gitCommitVerify方法用的是process.cwd()来作为git的根目录,建议用git rev-parese --show-toplevel指令,来动态获取git目录。已提交PR。









网友评论