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!
JsFusion.start();
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!