type enforceType = "post" | "pre"; const enforceValue: enforceType = "post"; const setCrossoriginUseCredentials = () => { return { name: "set-crossorigin", enforce: enforceValue, transformIndexHtml(html: string) { return html.replace(/crossorigin/g, "crossorigin=\"use-credentials\""); } }; }; const injectHtmlVars = (env: Record) => { return { name: "inject-html-vars", enforce: enforceValue, transformIndexHtml(html: string) { let str = html; for (const key in env) { if (Object.prototype.hasOwnProperty.call(env, key)) { const element = env[key]; const reg = new RegExp(`%${key}%`, "g"); str = str.replace(reg, element); } } return str; } }; }; const proxyConfig = (env: Record) => { const { NODE_PROXY_TARGET } = env; const proxyTarget = NODE_PROXY_TARGET || ""; const proxyTable = { "/zuul": { target: proxyTarget, changeOrigin: true }, "/media/": { target: proxyTarget, changeOrigin: true }, "/zwwxgzt": { target: proxyTarget, changeOrigin: true }, "/midjs": { target: proxyTarget, changeOrigin: true }, "/irc": { target: proxyTarget, changeOrigin: true } }; return proxyTable; }; export default { setCrossoriginUseCredentials, injectHtmlVars, proxyConfig }; export { setCrossoriginUseCredentials, injectHtmlVars, proxyConfig };