The Web doesn't need a thousand dependencies, it needs sanity.
JESX is a lightweight JavaScript framework designed to make web development easier.
It simplifies the website-making experience by letting you code all of it in one language – JavaScript.
- Component-Based: Build your UI as reusable JS components.
- No Build Step: Works with vanilla JavaScript – no bundler or transpiler needed.
- Reactive State: Simple state management without complex APIs.
- Lightweight: Zero dependencies, minimal footprint.
- Direct DOM Manipulation: Fast updates with predictable behavior.
You can use JESX by including it in your website.
No NPM/build tools required.
Download the latest release from Releases.
IMPORTANT: Don't use JESX with a <script> tag. Instead, import the JESX class and the j() function in your script.
-
JESX.component(name, factoryFn)
Register a new component.name(string): Component namefactoryFn(function): Returns HTML template
-
JESX.render(name, mountPoint, props?)
Renders a component to a DOM node.name(string): Registered component namemountPoint(Element): Target DOM nodeprops(optional): Initial properties
-
JESX.html
Tagged template for building DOM nodes. -
this.update()
(Inside a component) Re-render the component.
Contributions are welcome!
Feel free to open issues or submit pull requests with improvements or bug fixes.
This project is licensed under the MIT License.
- Inspired by simplicity and minimalism in web development.
- Thanks to everyone who values sanity over bloat!