Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x 5x 1x 1x 1x 1x | import * as fs from "fs-extra" // todo: this should not be here. import urljoin from "url-join" import * as path from "path" import { ENV } from "../settings/serverSettings" const WEBPACK_DEV_URL = process.env.WEBPACK_DEV_URL ?? "http://localhost:8090" const WEBPACK_OUTPUT_PATH = process.env.WEBPACK_OUTPUT_PATH ?? path.join(__dirname + "/../", "webpack") let manifest: { [key: string]: string } export const webpackUrl = ( assetName: string, baseUrl = "", isProduction = ENV === "production" ) => { if (isProduction) { // Read the real asset name from the manifest in case it has a hashed filename if (!manifest) manifest = JSON.parse( fs .readFileSync( path.join(WEBPACK_OUTPUT_PATH, "manifest.json") ) .toString("utf8") ) if (baseUrl) return urljoin(baseUrl, "/assets", manifest[assetName]) else return urljoin("/", "assets", manifest[assetName]) } return urljoin(WEBPACK_DEV_URL, assetName) } export const bakeEmbedSnippet = ( baseUrl: string ) => `const embedSnippet = () => { const link = document.createElement('link') link.type = 'text/css' link.rel = 'stylesheet' link.href = '${webpackUrl("commons.css", baseUrl)}' document.head.appendChild(link) let loadedScripts = 0; const checkReady = () => { loadedScripts++ if (loadedScripts === 4) window.MultiEmbedderSingleton.embedAll() } const coreScripts = [ 'https://polyfill.io/v3/polyfill.min.js?features=es6,fetch,URL,IntersectionObserver,IntersectionObserverEntry', '${webpackUrl("commons.js", baseUrl)}', '${webpackUrl("vendors.js", baseUrl)}', '${webpackUrl("owid.js", baseUrl)}' ] coreScripts.forEach(url => { const script = document.createElement('script') script.type = 'text/javascript' script.onload = checkReady script.src = url document.head.appendChild(script) }) } embedSnippet() ` |