git根目录与soybean-admin目录不一致时的解决办法

2023-06-10  本文已影响0人  alue

当git根目录不在soybean-admin前端工程目录中时,会有两个错误

  1. soy init-git-hooks 在.git/hooks 下生成的两个指令文件无法执行。
  2. gitCommitVerify 无法执行。

经过调研,解决方法如下

  1. 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 即可。

  1. soybean/cli中,gitCommitVerify方法用的是process.cwd()来作为git的根目录,建议用 git rev-parese --show-toplevel指令,来动态获取git目录。已提交PR。
上一篇 下一篇

猜你喜欢

热点阅读