Orbit is a composable data framework for managing the complex needs of today's web applications.
Although Orbit is primarily used as a flexible client-side ORM, it can also be used server-side in Node.js.
Orbit is designed for applications that need to:
Interact with data from a variety of sources: a REST server, a WebSocket stream, an IndexedDB backup, an in-memory store, etc.
Work offline, work online, and seamlessly transition between both modes.
Create optimistic and pessimistic user experiences (and even both in the same app).
Use a common schema to model data, regardless of its source.
Query and update data with a common set of expressions, understood across sources.
Track changes deterministically.
Fork immutable stores and then merge changes back if and when ready.
Support undo / redo.
Please visit orbitjs.com to learn how to make the most of Orbit.
Orbit's main packages are maintained in this monorepo and managed by lerna.
Build distributions for all packages:
Test all packages:
cd into each package's dir and test it individually in the browser:
cd packages/@orbit/PACKAGE-NAME yarn testem
Copyright 2014-2021 Cerebris Corporation. MIT License (see LICENSE for details).