Like inferno or preact.
Preact is easy — just use https://github.com/developit/preact-compat
For Inferno or other renderers that don't fully support the React API like Preact it's harder as Gatsby uses React Router under the hood to power server rendering and client-side routes so much more would need to be replaced.
I think this would be very interesting direction to explore supporting entirely different JS frameworks, inferno, vuejs, angular, etc. But this would be a lot of work and will definitely happen post 1.0.
Thanks
This should be reopened with the release of Inferno v4. They now fully support the React API and the React Router scheme: https://github.com/infernojs/inferno/releases/tag/v4.0.2. The easy way would be to use inferno-compat. BUT it would drop any performance benefit if not the filesize. The best way would be to use pluggable babel plugins, but i'm not sure if there's the support for that yet.
@LucaT1 Maybe Inferno support could be done with a plugin like gatsby-plugin-react-next?
Not quite. The problem with inferno is that is uses preprocessing to increase performance, and so this dame preprocessing should be appliend to the gatsby default files. More particularly this preprocessing involves the usage or babel-plugin-inferno
@LucaT1 There's an API for modifying Gatsby's babel config, would that be enough to configure Inferno? I'd love to see someone experiment with this.
Most helpful comment
Preact is easy — just use https://github.com/developit/preact-compat
For Inferno or other renderers that don't fully support the React API like Preact it's harder as Gatsby uses React Router under the hood to power server rendering and client-side routes so much more would need to be replaced.
I think this would be very interesting direction to explore supporting entirely different JS frameworks, inferno, vuejs, angular, etc. But this would be a lot of work and will definitely happen post 1.0.