当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。
网友评论