@chialab/synapse
v3.0.5
Published
Application framework built on the top of DNA Web Components.
Downloads
706
Readme
Get the library
Install via NPM or Yarn:
npm i @chialab/synapse
yarn add @chialab/synapse
Create an application
import { customElement, html, render } from '@chialab/dna';
import { App } from '@chialab/synapse';
@customElement('demo-app')
class DemoApp extends App {
routes = [
{
pattern: '/',
render(req, res) {
return (
<main>
<h1>Home</h1>
</main>
);
},
},
{
handler(req, res) {
res.data = new Error('not found');
},
render(req, res) {
return (
<main>
<details>
<summary>${res.data.message}</summary>
<pre>${res.data.stack}</pre>
</details>
</main>
);
},
},
];
render() {
return (
<>
<header>
<h1>Synapse 3.0</h1>
</header>
<nav>
<ul>
<li>
<a href={router.resolve('/')}>Home</a>
</li>
</ul>
</nav>
{super.render()}
</>
);
}
}
const app = render(<DemoApp base="/" />, document.getElementById('app'));
app.start('/');
Development
Build
Install the dependencies
yarn
and run the build
script:
yarn build
This will generate the ESM and CJS bundles in the dist
folder and declaration files in the types
folder.
License
Synapse is released under the MIT license.