Releases: Zoijs/zoijs
storage-v0.1.0
@zoijs/storage 0.1.0
forms-v0.1.0
@zoijs/forms 0.1.0
@zoijs/router 0.1.0
A tiny client-side router for Zoijs SPAs. Routes are a plain object.
npm install @zoijs/core @zoijs/routerAPI: createRouter(routes, { base? }) → view, link, go, path, query. Static + :id routes, * not-found, back/forward, optional base path.
Solves: page routing without a heavy router — no nested outlets, guards, or loaders.
Known limitations: history-mode only (needs a server SPA fallback); no nested outlets/guards/loaders; no SSR.
@zoijs/resource 0.1.0
The simplest async-read helper for Zoijs.
npm install @zoijs/core @zoijs/resourceAPI: resource(fetcher) → data, loading, error, refresh. Loads once; latest-load-wins; clean dispose.
Solves: loading/error/success state for reads without rebuilding the pattern each time.
Known limitations: no cache, dedupe, or retries; client-side only.
@zoijs/head 0.1.0
Set the document title and meta description from a component.
npm install @zoijs/core @zoijs/headAPI: title, description, meta — restore-on-cleanup, so routed pages revert automatically.
Solves: per-page <title>/description in an SPA, with no head manager.
Known limitations: client-side only; name-based meta only (no http-equiv/OpenGraph).
@zoijs/core 1.0.0
The Zoijs framework. A tiny frontend framework — no JSX, no build step, no Virtual DOM.
npm install @zoijs/coreAPI (7 functions): html, mount, createState, computed, each, configure, onCleanup.
Solves: building modern SPAs with plain HTML/CSS/JS and fine-grained reactivity, learnable in ~30 minutes.
Known limitations: client-side only (no SSR).
@zoijs/action 0.1.0
The write/mutation companion to resource.
npm install @zoijs/core @zoijs/actionAPI: action(fn) → run, pending, error, done, result, reset. run() never rejects; latest-run-wins.
Solves: submit/save/delete button state (pending/error/done) without a form library.
Known limitations: no cache, retries, or optimistic updates; client-side only.