livecode-static/livecodes/compile.page.57425c1e2248287cb72deac0fc962cd9.js
2025-06-11 22:23:49 +08:00

6 lines
7.2 KiB
JavaScript

"use strict";(()=>{var y=["esm.sh","skypack","esm.run","jsdelivr.esm","fastly.jsdelivr.esm","gcore.jsdelivr.esm","testingcf.jsdelivr.esm","jsdelivr.b-cdn.esm","jspm"],j=["jsdelivr","fastly.jsdelivr","unpkg","gcore.jsdelivr","testingcf.jsdelivr","jsdelivr.b-cdn","npmcdn"],v=["jsdelivr.gh","fastly.jsdelivr.gh","statically","gcore.jsdelivr.gh","testingcf.jsdelivr.gh","jsdelivr.b-cdn.gh"],a={getModuleUrl:(e,{isModule:t=!0,defaultCDN:o="esm.sh",external:s}={})=>{e=e.replace(/#nobundle/g,"");let r=n=>!s||!n.includes("https://esm.sh")?n:n.includes("?")?`${n}&external=${s}`:`${n}?external=${s}`,i=b(e,t,o);return i?r(i):t?r("https://esm.sh/"+e):"https://cdn.jsdelivr.net/npm/"+e},getUrl:(e,t)=>e.startsWith("http")||e.startsWith("data:")?e:b(e,!1,t||E())||e,cdnLists:{npm:j,module:y,gh:v},checkCDNs:async(e,t)=>{let o=[t,...a.cdnLists.npm].filter(Boolean);for(let s of o)try{if((await fetch(a.getUrl(e,s),{method:"HEAD"})).ok)return s}catch{}return a.cdnLists.npm[0]}},E=()=>{if(globalThis.appCDN)return globalThis.appCDN;try{return new URL(location.href).searchParams.get("appCDN")||a.cdnLists.npm[0]}catch{return a.cdnLists.npm[0]}},b=(e,t,o)=>{let s=t&&e.startsWith("unpkg:")?"?module":"";e.startsWith("gh:")?e=e.replace("gh",v[0]):e.includes(":")||(e=(o||(t?y[0]:j[0]))+":"+e);for(let r of q){let[i,n]=r;if(i.test(e))return e.replace(i,n)+s}return null},q=[[/^(esm\.sh:)(.+)/i,"https://esm.sh/$2"],[/^(npm:)(.+)/i,"https://esm.sh/$2"],[/^(node:)(.+)/i,"https://esm.sh/$2"],[/^(jsr:)(.+)/i,"https://esm.sh/jsr/$2"],[/^(skypack:)(.+)/i,"https://cdn.skypack.dev/$2"],[/^(jsdelivr:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2"],[/^(fastly\.jsdelivr:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2"],[/^(gcore\.jsdelivr:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2"],[/^(testingcf\.jsdelivr:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2"],[/^(jsdelivr\.b-cdn:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2"],[/^(jsdelivr\.gh:)(.+)/i,"https://cdn.jsdelivr.net/gh/$2"],[/^(fastly\.jsdelivr\.gh:)(.+)/i,"https://fastly.jsdelivr.net/gh/$2"],[/^(gcore\.jsdelivr\.gh:)(.+)/i,"https://gcore.jsdelivr.net/gh/$2"],[/^(testingcf\.jsdelivr\.gh:)(.+)/i,"https://testingcf.jsdelivr.net/gh/$2"],[/^(jsdelivr\.b-cdn\.gh:)(.+)/i,"https://jsdelivr.b-cdn.net/gh/$2"],[/^(statically:)(.+)/i,"https://cdn.statically.io/gh/$2"],[/^(esm\.run:)(.+)/i,"https://esm.run/$2"],[/^(jsdelivr\.esm:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2/+esm"],[/^(fastly\.jsdelivr\.esm:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2/+esm"],[/^(gcore\.jsdelivr\.esm:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2/+esm"],[/^(testingcf\.jsdelivr\.esm:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2/+esm"],[/^(jsdelivr\.b-cdn\.esm:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2/+esm"],[/^(jspm:)(.+)/i,"https://jspm.dev/$2"],[/^(esbuild:)(.+)/i,"https://esbuild.vercel.app/$2"],[/^(bundle\.run:)(.+)/i,"https://bundle.run/$2"],[/^(unpkg:)(.+)/i,"https://unpkg.com/$2"],[/^(npmcdn:)(.+)/i,"https://npmcdn.com/$2"],[/^(bundlejs:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(bundle:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(deno:)(.+)/i,"https://deno.bundlejs.com/?file&q=https://deno.land/x/$2/mod.ts"],[/^(https:\/\/deno\.land\/.+)/i,"https://deno.bundlejs.com/?file&q=$1"],[/^(github:|https:\/\/github\.com\/)(.[^\/]+?)\/(.[^\/]+?)\/(?!releases\/)(?:(?:blob|raw)\/)?(.+?\/.+)/i,"https://deno.bundlejs.com/?file&q=https://cdn.jsdelivr.net/gh/$2/$3@$4"],[/^(gist\.github:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(gitlab:|https:\/\/gitlab\.com\/)([^\/]+.*\/[^\/]+)\/(?:raw|blob)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://gl.githack.com/$2/raw/$3"],[/^(bitbucket:|https:\/\/bitbucket\.org\/)([^\/]+\/[^\/]+)\/(?:raw|src)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://bb.githack.com/$2/raw/$3"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/]+)\/revisions\/([^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/$3/files/$4"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/HEAD/files/$3"],[/^(bitbucket:)\!api\/2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(api\.bitbucket:)2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(rawgit:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(rawgit:|https:\/\/raw\.githubusercontent\.com)(\/[^\/]+\/[^\/]+|[0-9A-Za-z-]+\/[0-9a-f]+\/raw)\/(.+)/i,"https://deno.bundlejs.com/?file&q=https://raw.githack.com/$2/$3"]];var{getUrl:u,getModuleUrl:R}=a,l=u("@live-codes/browser-compilers@0.22.3/dist/");var c=u("prettier@3.3.2/"),U=u("@prettier/plugin-php@0.22.2/standalone.js");var P=c+"standalone.js",m={babel:c+"plugins/babel.js",estree:c+"plugins/estree.js",glimmer:c+"plugins/glimmer.js",html:c+"plugins/html.js",markdown:c+"plugins/markdown.js",postcss:c+"plugins/postcss.js",php:U,pug:l+"prettier/parser-pug.js",java:l+"prettier/parser-java.js"};var f=async(e,{baseUrl:t,config:o})=>{let{diagramsCompiler:s}=await import(t+"lang-diagrams-compiler-esm.aa9e8f85aaeda2c0c80b0f00a3ef5ce4.js");return s(e,{config:o})},F={name:"diagrams",title:"Diagrams",parser:{name:"html",pluginUrls:[m.html]},compiler:{factory:()=>async e=>e||"",runOutsideWorker:f},extensions:["diagrams","diagram","graph","plt"],editor:"markup",editorLanguage:"html"};var x=e=>typeof e=="string"?{code:e,info:{}}:e;var w=async(e,t,o,s={},r=self)=>new Promise(i=>{if(!e||!t||!o)return i(x(""));let n=async function(g){let p=g.data.payload;g.data.trigger==="compileInCompiler"&&p?.content===e&&p?.language===t&&(r.removeEventListener("message",n),i(x(p.compiled)))};r.addEventListener("message",n),r.postMessage({type:"compileInCompiler",payload:{content:e,language:t,config:o,options:s}})});var C=(e,t=!0)=>e.replace(/\\/g,t?"\\\\":"\\").replace(/`/g,"\\`").replace(/<\/script>/g,"<\\/script>");var k=(e,t)=>({...t.customSettings[e]});var h=async(e,{config:t,worker:o})=>new Promise(async s=>{if(!e)return s("");let[r,{default:i}]=await Promise.all([import(l+"mdx/mdx.js"),import(l+"remark-gfm/remark-gfm.js")]),n=(await r.compile(e,{remarkPlugins:[i],...k("mdx",t)})).value,p=($=>$.replace(/, {[^}]*} = _components/g,"").replace(/const {[^:]*} = props.components[^;]*;/g,""))(n),S=`import React from "react";
import { createRoot } from "react-dom/client";
${C(p,!1)}
createRoot(document.querySelector('#__livecodes_mdx_root__')).render(<MDXContent />,);
`,L=(await w(S,"jsx",t,{},o)).code;s(`<div id="__livecodes_mdx_root__"></div><script type="module">${L}<\/script>`)}),se={name:"mdx",title:"MDX",parser:{name:"markdown",pluginUrls:[m.markdown,m.html]},compiler:{factory:()=>async e=>e,runOutsideWorker:h,compiledCodeLanguage:"javascript"},extensions:["mdx"],editor:"markup",editorLanguage:"markdown"};var T=async(e,{baseUrl:t,config:o})=>{let{pgSqlCompiler:s}=await import(t+"lang-postgresql-compiler-esm.6545a5cef6703b1764ac56bee22b14d8.js");return s(e,{baseUrl:t,config:o})};var d=async(e,{baseUrl:t,language:o})=>{let{rescriptCompiler:s}=await import(t+"lang-rescript-compiler-esm.b23bcabef7b65641eb53cfa5b118f03e.js");return s(e,{baseUrl:t,language:o})};window.compilers={rescript:d,reason:d,ocaml:d,mdx:h,diagrams:f,postgresql:T};})();