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