Hyper minimal hyperscript for server rendering.
npm i hyposcript
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>
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"
}
]
]
}
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)
MIT License © Sure Thing