Crank.js

Write JSX-driven components with functions, promises and generators.

Get Started

Declarative components

Crank uses the same JSX syntax and diffing algorithm popularized by React, allowing you to write HTML-like code directly in your JavaScript.

Just JavaScriptâ„¢

All components in Crank are just functions or generator functions. No classes, hooks, proxies or template languages are needed.

Promises today

Crank provides first-class support for promises. You can use async/await directly in components, and race components to display fallback UIs.