JelenJS is an experimental UI framework with fine-grained reactivity, inspired by modern frameworks like SolidJS.
- Fine-grained reactivity
- JSX support
- Efficient DOM updates
- Small footprint
npm install jelenjs
import { signal, effect } from 'jelenjs';
function Counter() {
const [count, setCount] = signal(0);
return (
<div>
<p>Count: {count()}</p>
<button onClick={() => setCount(count() + 1)}>Increment</button>
</div>
);
}
To use JSX with JelenJS, configure your tooling as follows:
In your tsconfig.json
:
{
"compilerOptions": {
"jsx": "preserve",
"jsxImportSource": "jelenjs"
}
}
In your .babelrc
or babel configuration:
{
"presets": [
["@babel/preset-typescript", {
"jsx": "preserve",
"jsxPragma": "jsx"
}]
],
"plugins": [
["babel-plugin-jsx-dom-expressions", {
"moduleName": "jelenjs"
}]
]
}
MIT