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.
30 lines
833 B
JSON
30 lines
833 B
JSON
{
|
|
"name": "sync-client",
|
|
"version": "0.14.0",
|
|
"main": "dist/sync-client.node.js",
|
|
"browser": "dist/sync-client.web.js",
|
|
"types": "dist/types/index.d.ts",
|
|
"files": [
|
|
"dist/**/*"
|
|
],
|
|
"scripts": {
|
|
"dev": "webpack watch --mode development",
|
|
"build": "webpack --mode production",
|
|
"test": "tsx --test 'src/**/*.test.ts'"
|
|
},
|
|
"devDependencies": {
|
|
"byte-base64": "^1.1.0",
|
|
"minimatch": "^10.1.1",
|
|
"p-queue": "^9.0.1",
|
|
"reconcile-text": "^0.8.0",
|
|
"@types/node": "^25.0.2",
|
|
"ts-loader": "^9.5.4",
|
|
"tslib": "2.8.1",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "5.9.3",
|
|
"webpack": "^5.103.0",
|
|
"webpack-cli": "^6.0.1",
|
|
"webpack-merge": "^6.0.1",
|
|
"@sentry/browser": "^10.30.0"
|
|
}
|
|
}
|