@chialab/synapse
TypeScript icon, indicating that this package has built-in type declarations

3.0.5 • Public • Published

Synapse logo

Synapse • Application framework built on the top of DNA Web Components.

NPM


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 status codecov

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @chialab/synapse

Weekly Downloads

127

Version

3.0.5

License

MIT

Unpacked Size

554 kB

Total Files

32

Last publish

Collaborators

  • chialab-admin