Replace the single unrestricted-syncer.ts with a two-loop architecture: - syncer.ts drains the FIFO wire queue (HTTP + WS handlers). - reconciler.ts moves files to make localPath match remoteRelativePath (topo-sorted move graph, in-memory cycle resolution with crash-safe swap markers). - sync-event-queue.ts holds the byDocId / byLocalPath indexes and the pending-create promise chain. - offline-change-detector.ts, expected-fs-events.ts, types.ts, and a rewritten cursor-tracker.ts / file-change-notifier.ts round it out. Plus sync-client.ts wiring, tracing/sync-history.ts updates, index.ts re-exports, and sync-client tsconfig/webpack/package.json.
16 lines
397 B
JSON
16 lines
397 B
JSON
{
|
|
"compilerOptions": {
|
|
"module": "ESNext",
|
|
"target": "ESNext",
|
|
"strict": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"moduleResolution": "bundler",
|
|
"lib": [
|
|
"DOM", // to get `fetch` & `WebSocket`
|
|
"ES2024"
|
|
],
|
|
"declaration": true,
|
|
"declarationDir": "./dist/types"
|
|
},
|
|
"exclude": ["./dist"]
|
|
}
|