react-tosijs is live

react-tosijs 1.0.2, the library formerly known as react-xinjs, is now out and it's very nice. It almost makes me want to do React development.
By the time you read this, the TLS stuff for the react-tosijs website should be properly set up.
As my reader will no doubt know, I have no great love for ReactJS. I think it's an incredibly bad design which paves all the wrong paths for writing usable, maintainable software. But it is popular.
And it's also pretty much unavoidable. Even when I have a mandate to replace React code at will, I don't want to throw out working, battle-tested code until I have something to replace it, which means keeping working React code working side-by-side (or possibly within or wrapped around) new code that doesn't use React.
The old react-xinjs library was aimed at someone who wants to build their UI in React, but wants to use xin to manage state. This actually gives React developers most of the advantages of coding with xin (i.e. vastly less code to manage state, and much cleaner separation of logic and presentation) without caring about web-components.
But then I started working on a project involving gradually replacing React code with tosijs code. Just instantiating a web-component in a React context is a little annoying, and so reactWebComponents is a new proxy that just lets you turn any web-component (or HTMLElement for that matter) into a React functional component.
E.g.
import { XinMap } from 'xinjs-ui'
import { reactWebComponents } from 'react-tosijs'
export default reactWebComponents[XinMap.tagName]
And now you can just import that as Map, and stick a <Map /> in your tsx file.