Description
Hi. I've searched through the various issues (as well as other places this has been discussed) and I don't see a current open issue to address the lack of custom JSX pragma support.
As discussed elsewhere, other transpilers allow specifying any function name to insert when producing hyperscript from JSX. It's worth noting that hyperscript predates React, and is a format shared by a large number of libraries entirely separate from the React project. Currently, TypeScript only allows configuration of an Object on which to invoke .createElement()
, however the original implementations and many descendants thereof simply use h()
. You can read my attempt to document some of the context and background here.
The configuration would presumably look something like this:
{
"compilerOptions": {
"jsx": "react",
"jsxPragma": "h"
}
}
... and the output would look like:
// input:
<div id="foo">hello</div>
// output:
h('div', { id:'foo' }, 'hello');
Has this been bypassed for feasibility reasons? If not, I think it would be a valuable addition.