aweft

Packages

Everything from codec to modules runs anywhere, and so does a sandbox compute room. dom, ui, icons and client are the page, and the two page halves of sandbox sit over them; server and jobs are the Node side; auth has a half on each. A package imports only from its own tier or below, never across that line.

PackageWhat it is
@aweftjs/codecthe encoding: values, deltas, commits, ids, positions
@aweftjs/coreobservables, the deltas they produce, commits, scopes, identity
@aweftjs/schemathe shape a document must keep, checked before a commit lands
@aweftjs/synccommits between two documents over any channel, both ends equal
@aweftjs/storepersistence over a driver; a memory driver and a Postgres driver ship
@aweftjs/modulesmodules from directories, bundles or documents, loaded in dependency order
@aweftjs/sandboxisolated rooms for module code that came from a document; @aweftjs/sandbox/page and @aweftjs/sandbox/room for a room with a page in it, an act in a frame
@aweftjs/domdirect DOM binding, hydration and static render; @aweftjs/dom/router for URLs
@aweftjs/uicomponents, theming, a stage for routed pages, head tags
@aweftjs/iconsicon sets as modules, one icon per import
@aweftjs/clientone connection to a server for the life of a page
@aweftjs/serverconnections and requests behind a gate, over a listener you supply
@aweftjs/auththe first battery: the gate, sessions, sign-in and sign-up, per-user state
@aweftjs/healththe health battery: GET /api/health, 200 when the process and its store answer, with the application's own info beside
@aweftjs/staticthe static battery: a directory of files served for what no route matched
@aweftjs/logsthe logs battery: what a page and the server did, per visit, in the store, with readers any process imports
@aweftjs/uploadsthe uploads battery: a file from a page or a module, kept in a directory or a bucket and served at /files/<id>, with the application's rules in configuration
@aweftjs/notifythe notify battery: one send to a person over inbox, email and push, the inbox shared live on the page
@aweftjs/jobsa scheduler over an array of jobs the application holds
@aweftjs/ssga routed site written out as files, taken over in place when the browser arrives
@aweftjs/buildthe vite plugin and the Node loader: JSX and markup to h, static hoisting, asserts out of a release
@aweftjs/testingthe harnesses the stack tests itself with, for a driver or a listener of your own
@aweftjs/debuga document or a commit read back as text