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

4.0.0 • 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.

Versions

Current Tags

Version History

Package Sidebar

Install

npm i @chialab/synapse

Weekly Downloads

168

Version

4.0.0

License

MIT

Unpacked Size

369 kB

Total Files

27

Last publish

Collaborators

  • chialab-admin