mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Root tsconfig.json becomes a pure solution (files:[] + two references); the former root host aggregate moves verbatim to tsconfig.host.json. New tsconfig.base.client.json carries the shared client compiler shape (jsx/DOM lib/types:[]), and tsconfig.client.json plus the 12 packages/client tsconfigs extend it instead of restating the trio. tsconfig.build.json is deleted: the solution covers the full emit graph, absorbing the command-goal typecheck/build drift. Consumers migrate to the single graph: typecheck/build scripts and the lefthook pre-push hook run bare `tsc -b` (pre-push now covers the client side); the run-gates build gate needs typecheck so two concurrent tsc -b runs cannot race the same tsbuildinfo; ts-project.ts and the standalone doc-typecheck mode seed tsconfig.host.json explicitly (never the root solution — flattening host+client into one program collides the cordis Context merges); verify-cordis-config BFS seeds the root solution alone. Per missions/tsconfig-single-graph-migration.md §2–§3.
24 lines
630 B
YAML
24 lines
630 B
YAML
# Git hooks (lefthook). Keep these local checkpoints fast; CI owns the full
|
|
# repository-wide gate matrix.
|
|
# Install: `pnpm exec lefthook install` (runs automatically via postinstall).
|
|
|
|
pre-commit:
|
|
jobs:
|
|
- name: lint (staged)
|
|
glob: '*.{ts,mts,cts,mjs}'
|
|
exclude:
|
|
- 'vendor/*/src/**'
|
|
run: node_modules/.bin/eslint --fix {staged_files}
|
|
stage_fixed: true
|
|
|
|
- name: whitespace (staged)
|
|
run: git diff --cached --check
|
|
|
|
- name: vendor manifest guard
|
|
run: scripts/check-vendor-manifest.sh
|
|
|
|
pre-push:
|
|
jobs:
|
|
- name: typecheck
|
|
run: node_modules/.bin/tsc -b --pretty false
|