UNPKG

@graphql-yoga/render-laboratory

Version:
54 lines (49 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.renderLaboratory = void 0; const laboratory_js_1 = require("./laboratory.js"); const renderLaboratory = (opts) => /* HTML */ ` <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>${opts?.title || 'Hive Laboratory'}</title> <link rel="icon" href="${opts?.favicon || laboratory_js_1.favicon}" /> <style> html, body, #root { height: 100%; } body { margin: 0; } </style> </head> <body id="body" class="no-focus-outline"> <noscript>You need to enable JavaScript to run this app.</noscript> <div id="root"></div> <script> function prepareBlob(workerContent) { const blob = new Blob([workerContent], { type: 'application/javascript' }); return URL.createObjectURL(blob); } const workers = { editorWorkerService: prepareBlob(${JSON.stringify(laboratory_js_1.editorWorkerService)}), typescript: prepareBlob(${JSON.stringify(laboratory_js_1.typescriptWorker)}), json: prepareBlob(${JSON.stringify(laboratory_js_1.jsonWorker)}), graphql: prepareBlob(${JSON.stringify(laboratory_js_1.graphqlWorker)}), }; self['MonacoEnvironment'] = { globalAPI: false, getWorkerUrl: function (moduleId, label) { return workers[label]; }, }; ${laboratory_js_1.js}; HiveLaboratory.renderLaboratory(window.document.querySelector('#root')); </script> </body> </html> `; exports.renderLaboratory = renderLaboratory;