hyposcript
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

hyposcript

npm version test coverage npm bundle size

Hyper minimal hyperscript for server rendering.

npm i hyposcript

Usage

Hyposcript has essentially the same API as hyperscript or React.createElement, so it should feel familiar.

The difference is: no DOM, only strings.

const { h } = require('hyposcript')

h('button', { class: 'btn' }, 'Click me!')

// => <button class="btn">Click me!</button>

JSX

To use with JSX you'll need to transpile or use a runtime.

For example, if you're using babel, your config should probably look something link this:

{
  "presets": [
    [
      "@babel/preset-react",
      {
        "pragma": "h",
        "pragmaFrag": "h"
      }
    ]
  ]
}

Benchmarks

Since hyposcript is basically just concatenating strings, benchmark comparisons with hyperscript or react are not really fair. And though vhtml and hyposcript are essentially the same, hyposcript does not escape HTML strings for you (be safe out there). Even so, there's a simple benchmark here for general reference. These were run on an 2.4 GHz 8-Core Intel Core i9 MacBook Pro.

hyperscript      x 27,932 ops/sec ±2.08% (89 runs sampled)
react            x 43,261 ops/sec ±0.63% (94 runs sampled)
vhtml            x 168,688 ops/sec ±0.67% (91 runs sampled)
hyposcript       x 444,603 ops/sec ±1.07% (89 runs sampled)

License

MIT License © Sure Thing

Readme

Keywords

none

Package Sidebar

Install

npm i hyposcript

Weekly Downloads

8

Version

1.2.0

License

MIT

Unpacked Size

127 MB

Total Files

7184

Last publish

Collaborators

  • estrattonbailey