feat(git-sync): vendor pure converter + engine into @docmost/git-sync (Phase A.1)
First step of docs/git-sync-plan.md. New workspace package @docmost/git-sync vendoring the PURE parts from docmost-sync (HEAD b03eb35): - lib: markdown-converter, markdown-document, canonicalize, docmost-schema, node-ops, diff, and an extracted markdown-to-prosemirror (only the pure marked->HTML->generateJSON path from upstream collaboration.ts; no websocket). - engine (pure, no IO): reconcile, layout, sanitize, stabilize, loop-guard. Ported the upstream pure-module + round-trip corpus tests (vitest): 314 pass, 3 expected upstream known-limitation fails. tsc clean. No server wiring yet. docmost-schema inlines getStyleProperty (as packages/mcp does — @tiptap/core 3.20.4 doesn't export it). IO engine (pull/push/git/settings) deferred to later Phase A/B steps; the editor-ext idempotency gate (plan §13.1) is the next step. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1
packages/git-sync/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
generated
vendored
Normal file
1
packages/git-sync/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":"4.1.6","results":[[":test/node-ops.test.ts",{"duration":72.75441799999993,"failed":false}],[":test/markdown-converter.test.ts",{"duration":40.04070800000005,"failed":false}],[":test/diff.test.ts",{"duration":45.133106999999995,"failed":false}],[":test/node-ops-extra.test.ts",{"duration":71.94072099999994,"failed":false}],[":test/reconcile.test.ts",{"duration":21.84252799999996,"failed":false}],[":test/canonicalize.test.ts",{"duration":16.461569999999938,"failed":false}],[":test/markdown-roundtrip.property.test.ts",{"duration":8485.791874999999,"failed":false}],[":test/stabilize.test.ts",{"duration":149.45158199999992,"failed":false}],[":test/canonicalize-extra.test.ts",{"duration":143.13797799999998,"failed":false}],[":test/loop-guard.test.ts",{"duration":8.612892999999985,"failed":false}],[":test/markdown-document.test.ts",{"duration":9.541832999999997,"failed":false}],[":test/sanitize.test.ts",{"duration":19.523975000000007,"failed":false}],[":test/markdown-converter-golden.test.ts",{"duration":16.99206300000003,"failed":false}],[":test/roundtrip-corpus.test.ts",{"duration":284.4818779999998,"failed":false}],[":test/layout.test.ts",{"duration":19.557320000000004,"failed":false}],[":test/markdown-document-envelope.test.ts",{"duration":17.526741999999956,"failed":false}],[":test/roundtrip.test.ts",{"duration":91.81696899999997,"failed":false}]]}
|
||||
Reference in New Issue
Block a user