FicusJS is a set of lightweight functions for building modern web applications using web components. The current stable version is 6.3.0, released regularly with active maintenance. It provides features like fast custom elements, renderers (htm, lit-html, uhtml, Preact), local state, finite state machines, application stores, event bus, i18n, and more. Key differentiators: small footprint, no build step required, works with native ES modules, and ships TypeScript types. It is designed to be extensible and framework-agnostic, supporting multiple rendering libraries.
npm install ficusjsNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Creates a custom element with a local store and htm renderer, incrementing a counter on button click.
Use ES import syntax (import { ... } from 'ficusjs') or upgrade to a build pipeline that supports ESM.Install @ficusjs/renderers and import from there.
Replace withStore mixin for state management.
Use createCustomElement('tag', { ... }) instead of createCustomElement('tag', () => ({ ... })).Add `"skipLibCheck": true` to tsconfig.json or install @types/ficusjs if needed.
Replace require() with ES import syntax, or use dynamic import().
Import html from '@ficusjs/renderers' instead.
Define a custom interface extending the mixin return type, or use type assertion.
No dependency data recorded yet.