import React, { useEffect } from 'react'; import ReactDOM from 'react-dom'; import { serverFunctions } from '../src/client/utils/serverFunctions.ts'; const { FILENAME, PORT } = process.env; const DevServer = () => { const iframe = React.useRef(null); useEffect(() => { const handleRequest = event => { const request = event.data; const { type, functionName, id, args } = request; if (type !== 'REQUEST') return; serverFunctions[functionName](...args) .then(response => { iframe.current.contentWindow.postMessage( { type: 'RESPONSE', id, status: 'SUCCESS', response }, `https://localhost:${PORT}` ); }) .catch(err => { iframe.current.contentWindow.postMessage( { type: 'RESPONSE', id, status: 'ERROR', response: err, }, `https://localhost:${PORT}` ); }); }; window.addEventListener('message', handleRequest, false); }, []); return (