Skip to content

ochairo/beat

Repository files navigation

Beat brand dot beat

Pulse-native JSX framework for direct-DOM client-rendered SPA applications.
Fine-grained rendering with explicit routing and async primitives.

Scaffold

Start a new app with the scaffolder:

pnpm create @ochairo/create-beat my-app --template router

That command scaffolds a Vite + TypeScript starter already configured for Beat's JSX runtime and Vite plugin with routing support.

Example

import { bindText, component } from "@ochairo/beat";
import { pulse } from "@ochairo/pulse";

const counter = pulse(0);

const onclick = (value) => {
  counter.set(counter.get() + value);
};

export const App = component(() => {
  return (
    <main>
      <header class="header">
        <h1 class="title">Counter app</h1>
      </header>
      <section class="counter">
        <button class="button" onClick={() => onclick(-1)}>
          -
        </button>
        <strong class="result">{bindText(counter)}</strong>
        <button class="button" onClick={() => onclick(1)}>
          +
        </button>
      </section>
    </main>
  );
});

Documentation


About

Pulse-native JSX for direct-DOM SPA applications.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors