Harmless

    Harmless

    GitHub | NPM | API Doc

    :warning: This project is currently under construction and missing crucial functionality

    A minimalistic reactive web frontend framework written in TypeScript.

    • Fine-grained reactive DOM updates via promises, observables and signals using a framework-independent signal implementation.
    • Based on standard JSX using the automatic runtime (aka react-jsx mode), so no special transpiler plugin needed.
    • Supports dependency injection via a framework-independent cdi implementation.
    • Provides built-in components for flow control, like If, Choose and Route.
    • It's just a library without any build system requirements. Use whatever you like.
    • Easily testable with any JSX-capable testing framework (like Vitest).

    Some features are intentionally missing to keep Harmless small and focused:

    • No server rendering. Harmless is a client-only library.
    • No web component support. Should be easy enough to use Harmless inside a web component, though.
    • No CLI tools. Harmless is just a library and doesn't dictate how to structure your project or how to work with it.
    • No CommonJS support. It's time to leave the stone age behind and use ESM everywhere.
    • Write built-in components like For to iterate over collections of data.
    • Write documentation

    Check out the documentation.

    MMNEPVFCICPMFPCPTTAAATR