解决方案
.husky/pre-commit 中添加以下内容
# 获取暂存区的文件列表
FILES=$(git diff --cached --name-only --diff-filter=ACMR | sed 's| |\\ |g')
[ -z "$FILES" ] && exit 0
# 美化所有暂存区的文件
echo "$FILES" | xargs ./node_modules/.bin/prettier --ignore-unknown --write
# 将修改/美化的文件添加回暂存
echo "$FILES" | xargs git add
背景
在 prettier v3.x 版本的项目中,使用 pretty-quick 会报错:
.../isSupportedExtension.js:12
..._prettier.resolveConfig.sync(file, {
^
TypeError: _prettier.resolveConfig.sync is not a function
可以降低 prettier 版本到 2.x 来解决这个问题,但是项目里面额外使用了 tailwindcss,而 tailwindcss 依赖的 postcss 依赖的 prettier 版本是 3.x,所以降低 prettier 版本不是一个好的解决方案。