1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
export default function({ component, sourceURL, head }: { component: Function; sourceURL: string; head?: string }) {
return new Response(
`<html>
<head>${head || ""}</head>
<body></body>
<script type="module">
import { ${component.name} } from "${sourceURL}";
import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
import { jsx } from "https://esm.sh/react@18.2.0/jsx-runtime";
createRoot(document.body).render(jsx(${component.name}, {}));
</script>
</html>`,
{
headers: {
"content-type": "text/html",
},
},
);
}