A Babel plugin that compiles htm syntax to hyperscript, React.createElement, or just plain objects.
Basic usage:
[
["htm", {
"pragma": "React.createElement"
}]
]// input:
html`<div id="foo">hello ${you}</div>`
// output:
React.createElement("div", { id: "foo" }, "hello ", you)The target "hyperscript" function to compile elements to (see Babel docs).
Defaults to: "h".
Setting pragma to false changes the output to be plain objects instead of h() function calls:
// input:
html`<div id="foo">hello ${you}</div>`
// output:
{ tag:"div", props:{ id: "foo" }, children:["hello ", you] }Like pragma=false but converts all inline text to objects, resulting in the same object shape being used:
// input:
html`<div id="foo">hello ${you}</div>`
// output:
{ type: 1, tag:"div", props:{ id: "foo" }, text: null, children:[
{ type: 3, tag: null, props: null, text: "hello ", children: null },
you
] }