Implements the test cases called out in the PR #119 review threads (code-review, test-strategy report, red-team) — TESTS ONLY, no production code changes. packages/git-sync (vitest): - lib converter/markdown gaps: pageBreak data-loss (it.fails repro), subpages lossy round-trip, nested/fenced callouts, ol->taskList bridge, column.width number<->string drift, empty details. - engine units: parentFolderFile, planReconciliation swap/chained move, buildVaultLayout last-resort-by-id, firstDivergence, applyPushActions / applyPullActions failure isolation. - real temp-git integration: diffNameStatus -z rename+add/modify alignment, copy-line behavior, per-invocation committer identity (no leak into repo/global config). - ENFORCED type-level GitSyncClient contract via vitest typecheck over a *.test-d.ts file (tsconfig.vitest.json; build tsconfig untouched). apps/server (jest): - orchestrator: delete-cap neutralization + fail-safe, Redis lock / mutex skip ladder + release-on-throw, merge guard, pull/push order, remote template substitution, poll lifecycle. - page-change listener: loop-guard, debounce coalescing, id resolution, error swallowing. - vault registry, controller authz (trigger + status), env validation/getters, page.service git-sync provenance stamping, persistence precedence (agent > git-sync > user) + no boundary snapshot, space.service audit-delta, space.repo jsonb-merge, converter-gate corpus extension (mention/math/details/marks). apps/client (vitest + testing-library): - history-item git-sync badge: render gating + non-clickable. - edit-space-form toggle: initial state, optimistic payload, rollback on error, disabled states. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
653 B
JSON
16 lines
653 B
JSON
{
|
|
// Test-infra tsconfig used ONLY by vitest's `test.typecheck` pass (Finding #1).
|
|
// The build tsconfig (`tsconfig.json`) scopes the compiler to `src/**` with
|
|
// `rootDir: ./src`, so it never type-checks the `test/` tree. This config
|
|
// inherits the same strict compiler options but widens the file set to the
|
|
// type-test files so `vitest run` can run `tsc` over them. It is NOT used by
|
|
// `npm run build` (that still uses `tsconfig.json`), so it has no effect on the
|
|
// shipped output.
|
|
"extends": "./tsconfig.json",
|
|
"compilerOptions": {
|
|
"noEmit": true,
|
|
"rootDir": "."
|
|
},
|
|
"include": ["test/**/*.test-d.ts", "src/**/*"]
|
|
}
|