1.0.0 • Published 2 years ago

tonic-universal v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

tonic-universal

Actions Status

Isomorphic exports of @socketsupply/tonic

npm install tonic-universal

Usage

Use @socketsupply/tonic or tonic-ssr from a single import identifier depending on then environment you are running.

// Shared codepaths between node and the browser.
import Tonic from 'tonic-universal'

class MyGreeting extends Tonic {
  render () {
    return this.html`<div>Hello, World.</div>`
  }
}

Tonic.add(MyGreeting, 'my-greeting')

How

tonic-universal works by utilizing environment specific exports fields so that you can have dependency injection at the built-in module resolver layer. It supports the following export fields:

  • main (cjs node)
  • browser (cjs browser) TODO: Release a dual pacakge @socketsupply/tonic to suppor this.
  • exports.import (esm node)
  • exports.reqire (cjs node)
  • exports.browser (esm browser)

License

MIT