import path from "path"; import fs from "fs"; import { ViewerData } from "./types"; import { escape } from "lodash"; import { assetsRoot } from "./paths"; export interface RenderData { title: string; viewerData: ViewerData; enableWebSocket: boolean; } export const renderClient = ({ title, viewerData, enableWebSocket, }: RenderData) => { return ` ${escape(title)}
${getScript("viewer.js")} `; }; /** * Escapes `<` characters in JSON to safely use it in ``; } return ` `; } function getAssetContent(filename: string) { const assetPath = path.join(assetsRoot, filename); if (!assetPath.startsWith(assetsRoot)) { throw new Error(`"${filename}" is outside of the assets root`); } return fs.readFileSync(assetPath, "utf8"); }