Axiom is a modern web framework featuring a unique two-phase rendering architecture, emphasizing high performance through in-memory calculations and zero direct DOM reads. It leverages a reactive programming model, likely based on signals, to manage UI updates efficiently. Currently at version 0.9.1, the framework appears to be under rapid development, with frequent releases focusing on new features like declarative routing, server-side rendering (`renderToString`), portals, reactive context, and form modules, as well as bug fixes and performance improvements. Its core differentiators include its rendering strategy, aiming to eliminate DOM reads for re-renders, and its TypeScript-first approach, providing strong type safety for developers.
npm install axiom-frameworkVerified import paths — ran on the pinned version, not inferred.
Demonstrates creating a basic reactive counter component using Axiom's `App` and `signal` primitives, then rendering it to the DOM.
Refer to the GitHub repository's change log for specific API changes. Pin exact versions in your `package.json` (e.g., `"axiom-framework": "0.9.1"`) to prevent unexpected breakage.
Thoroughly test existing applications when upgrading to v0.9.0 and later. Consult the GitHub issue tracker or discussions for details on the v1 stability contract.
Always use Axiom's provided APIs (signals, components, effects) to manage UI state and updates. Avoid direct `document.querySelector` or manual DOM mutations on elements managed by Axiom.
Ensure your development and deployment environments meet the specified engine requirements. Use a modern build toolchain that supports ES Modules.
Ensure `App` is used with backticks for JSX-like syntax: `App`...``.
Use ESM `import` statements: `import { App, render } from 'axiom-framework';`. Ensure your `package.json` has `"type": "module"` if running in Node.js.Use the lowercase `signal` for the reactive primitive: `import { signal } from 'axiom-framework';`. If you need the type, it's typically inferred or accessed via `typeof`.Ensure your server-side rendering logic and client-side application logic are deterministic and produce identical initial HTML structures. Avoid client-only code that alters the initial render.
No dependency data recorded yet.