JsFusion JavaScript Framework

JsFusion - A JavaScript Framework

JsFusion is a small and responsive JavaScript framework inspired by StimulusJS that allows you to get dynamic functioning UI on the fly on Single Page Applications.

JsFusion is especially designed to work together with Symfony UX and SPA tools like Turbo Drive!

Install it!

npm install jsfusion
yarn add jsfusion

Put it in your main JavaScript file:

// app.js
import { Runtime } from 'jsfusion';

// Import your JsFusion components here
import Counter from './components/counter';

// Create one (and only one instance of the runtime)
const JsFusion = new Runtime();

// Register your components, giving them a name
JsFusion.registerComponent('counter', Counter);

// Finally start the engine!

And that's it!

You'll have a functioning site full of great tools that automatically spawn when HTML elements are loaded into a page!

But why JsFusion?

  • Better, JSON friendly syntax (populate your controllers from Twig)!
  • No need for JSON? Its plain text syntax alternative is awesome!
  • Dynamic Props based on a PropType schematic!
  • Dynamically access parent and children components on the fly!
  • Pass on props, catch and emit custom events from your Component tree!
  • Full TypeScript support!
  • Extensibility!

Want to contribute? We'd LOVE ♥ your help!

Head into our repo right at GitHub and file a bug report or suggestion under issues. We also LOVE ♥ PRs so don't hesitate to fork our project and request a merge PR with your favorite feature or fix!