新模块提交后 CI 的 lint 阶段失败,prettier 报 312 个问题,全是缩进和引号,手写文件一个都没有。日志里能对上时间点,这种反而好排。
模板里的缩进是 2 空格,团队配置是 4 空格加单引号,生成器输出后没有调用格式化。CI 只检查不修复,问题就卡在合并前。这一点先确认清楚,后面就不用反复试。
npx prettier --write "src/**/*.{ts,tsx}"
npx prettier --check "src/**/*.{ts,tsx}"
「生成代码格式」确认了原因之后,改动尽量只碰那一处,顺手改的东西后面最容易出问题。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
处理上按这个顺序:生成结束前调用项目本地的 prettier --write;模板文件本身按团队配置格式化一遍;CI 里保留 --check 但只在生成器输出后执行;把格式化命令写进生成器的 post 钩子。
结果对不对很好判断,重新生成模块后 prettier --check 返回 0 个问题 CI 的 lint 阶段通过。
