Skip to content

Repository files navigation

beast-converter

A Beast project powered by TSRX and Octane.

bun install
bun run dev

src/App.btsx is a live TSX → BTSX playground: pick a sample or paste your own TSX on the left and the converted BTSX appears on the right, with parse errors surfaced inline. On desktop the two panels are resizable (@octanejs/resizable-panels); on narrower viewports they become a swipeable carousel that still scrolls vertically inside each panel. The conversion itself lives in src/lib/tsx-btsx.ts — see converter/README.md for the full rule set and known limitations.

Edit src/App.btsx to get started. Declare typed props at the top of the BTSX file; the Beast bundler adapter compiles it into native TSRX and then lets Octane produce the browser module.

Run the complete local verification before shipping:

bun run check

Use scope when setup belongs to an exact child position instead of the whole component:

scope
  setup const label = "Owned by this child";
  p #{label}

Octane's experimental native-read signal mode remains opt-in. Enable it for both generated BTSX and native TSRX through the Vite adapter:

beastOctane({ octane: { nativeReads: true } })

Record application changes in CHANGELOG.md.

Selected stack

  • Bundler: rspack
  • UI: base-ui (@octanejs/base-ui)
  • Styling: Tailwind CSS v4
import { Button } from "@octanejs/base-ui/button";

About

tsx to btsx

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages