@absolutejs/sync 0.15.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +19 -1
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -29,7 +29,8 @@ queries are matched incrementally; joins (inner and left), aggregations, and
29
29
  top-N ordering are maintained incrementally through a composable operator graph
30
30
  (`query(...).filter().join().leftJoin().groupBy().orderBy()`).
31
31
 
32
- > Status: early (`0.0.1`). Tier 1 (hub, SSE plugin, browser subscriber,
32
+ > Status: **1.0** public API frozen across all subpaths. See
33
+ > [`CHANGELOG.md`](./CHANGELOG.md). Tier 1 (hub, SSE plugin, browser subscriber,
33
34
  > write-behind cache), Tier 2 (Drizzle + Prisma topic adapters, `createLiveQuery`),
34
35
  > and Tier 3 (sync engine: collections, WebSocket diff transport, optimistic
35
36
  > mutations + offline queue, a local-first client cache, declarative row-level
@@ -467,6 +468,23 @@ Conflict-free replicated data types — pure, **zero-dependency**, and isomorphi
467
468
  | `drizzleCollection({ name, table, where, find, ... })` (drizzle) | Same one-`where`→hydrate+matcher, for Drizzle. |
468
469
  | `matchesDrizzleWhere(table, where, row)` (drizzle) | Evaluate a Drizzle SQL `where` against a row (the matcher). |
469
470
 
471
+ ## Benchmarks
472
+
473
+ Run `bun run bench/run.ts`. Highlights (Bun 1.3, full results + methodology in
474
+ [`docs/benchmarks.md`](./docs/benchmarks.md)):
475
+
476
+ - **Delta uploads scale flat.** One keystroke on a 10,000-char doc: a full-state
477
+ upload is ~877 KB; the delta is ~105 bytes — an **8,350×** reduction (and ~84×
478
+ even at 100 chars). The server keeps full state, so late joiners still hydrate
479
+ in one shot.
480
+ - **~50,000 mutations/sec** (write + emit) locally; diff fan-out is linear in
481
+ subscriber count.
482
+ - **Tombstone compaction** halves a delete-heavy document's stored state.
483
+
484
+ `docs/benchmarks.md` also has an architectural comparison with Convex and Zero —
485
+ the short version: live queries, optimistic writes, and conflict-free editing
486
+ **without adopting a new backend** (it rides your own DB/ORM/server).
487
+
470
488
  ## License
471
489
 
472
490
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@absolutejs/sync",
3
- "version": "0.15.0",
3
+ "version": "1.0.0",
4
4
  "description": "Lightweight reactive-push and write-behind-cache primitives for Elysia and the AbsoluteJS ecosystem — kill polling and keep a remote store off your hot path, without adopting a whole sync-engine backend.",
5
5
  "repository": {
6
6
  "type": "git",