esx.renderToString._r is not a function
irudoy opened this issue · comments
irudoy commented
Input
import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
const A = () => <div/>;
ReactDOMServer.renderToString(<A/>);
};
Output
const esx = require('esx')();
import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
const A = () => esx `<div/>`;
esx.renderToString._r("A", A) `<A/>`;
};
irudoy commented
test('React.renderToString inside a function', async ({ is }) => {
const src =
`import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
const A = () => <div/>;
ReactDOMServer.renderToString(<A/>);
};`
const esx =
`const esx = require('esx')();
import React from 'react';
import ReactDOMServer from 'react-dom/server';
function foo() {
const A = () => esx \`<div/>\`;
esx.renderToString("A", A) \`<A/>\`;
};`
is(convert(src), esx)
})