react-admin's data contract on IGNIS's container. Dependency injection, a typed REST data layer, auth recovery and i18n - one import, browser-pure core.
import 'reflect-metadata' import { BaseArdorApplication, CoreBindings, DefaultRestDataProvider } from '@venizia/ardor' import { useInjectable, useTranslate } from '@venizia/ardor' class Application extends BaseArdorApplication { bindContext() { this.bind({ key: CoreBindings.REST_DATA_PROVIDER_OPTIONS }) .toValue({ url: '/api', noAuthPaths: ['/auth/login'] }) this.bind({ key: CoreBindings.DEFAULT_REST_DATA_PROVIDER }) .toProvider(DefaultRestDataProvider) this.service(ProductApi) // -> services.ProductApi } } const ProductList = () => { const productApi = useInjectable<ProductApi>({ key: 'services.ProductApi' }) const translate = useTranslate() return <h1>{translate('resources.product.name')}</h1> }
The patterns that scale teams - wired into a framework that doesn't slow down.
Full dependency injection in the browser. Resolve bound singletons cleanly with useInjectable and services.* keys.
Maps react-admin pagination, sorting, and filters to IGNIS { where, order, limit, skip }, parsing totals from Content-Range.
Handles login, logout, checkAuth, and checkError with one-shot token refresh recovery on 401s and configurable no-auth paths.
Contextual useTranslate hook with keys checked via module augmentation, shipping with built-in en and vi bundles.
Factory-generated typed selectors and dispatch hooks connected seamlessly into your IGNIS application container state.
Accessible, production-ready admin layouts and primitives via ardor-ui-kit, styled with Tailwind CSS and Radix UI.
Built as an IGNIS inversion-of-control container, ARDOR eliminates spaghetti providers and ad-hoc wiring while preserving react-admin data conventions.
Zero Node builtins in ardor-kernel. Isomorphic and lightweight.
Bringing IGNIS inversion of control and react-admin data contracts to modern frontend applications.