fix: 优化 lint 执行策略并修复 pre-commit 依赖解析

- vsh lint 按硬件自适应:CPU<=4 核串行(汇总错误),>4 核并行;
  CPU>4 且空闲内存>8GB 时 oxfmt/oxlint 默认线程数提升至 4,否则维持 2
- lefthook pre-commit 改为串行执行,避免与 check:type 并行导致低配机资源飙升
- pre-commit 仅对暂存文件 lint 并自动修复回填(stage_fixed)
- lint 命令统一加 pnpm exec 前缀,修复 lefthook 经 sh 调用时
  oxlint 找不到 workspace 局部依赖(eslint-plugin-eslint-comments)的问题
This commit is contained in:
xingyu4j
2026-06-18 16:35:27 +08:00
parent 45399d0299
commit dc3865f778
2 changed files with 102 additions and 30 deletions

View File

@@ -42,11 +42,26 @@
# runner: go run
pre-commit:
parallel: true
commands:
lint:
run: pnpm lint
checkType:
# 串行执行(不设 parallel),避免与 check:type 同时运行导致低配机内存/CPU 瞬时飙升。
# lint 仅检查暂存文件并自动修复后回填,大幅降低负载;check:type 仍需全量。
jobs:
- name: oxlint
glob: '*.{js,jsx,ts,tsx,vue,cjs,mjs,cts,mts}'
run: pnpm exec oxlint --fix --type-aware --threads=4 --no-error-on-unmatched-pattern {staged_files}
stage_fixed: true
- name: oxfmt
glob: '*.{js,jsx,ts,tsx,vue,cjs,mjs,cts,mts,json,jsonc}'
run: pnpm exec oxfmt --threads=4 --no-error-on-unmatched-pattern {staged_files}
stage_fixed: true
- name: eslint
glob: '*.{js,jsx,ts,tsx,vue,cjs,mjs,cts,mts}'
run: pnpm exec eslint --fix {staged_files}
stage_fixed: true
- name: stylelint
glob: '*.{vue,css,less,scss}'
run: pnpm exec stylelint --fix {staged_files}
stage_fixed: true
- name: checkType
run: pnpm check:type
post-merge: