code-playpad 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +0,0 @@
1
- /*!
2
- * code-playpad — MIT © 2026 Seung Hun Lee
3
- * Bundles CodeMirror 6 and Lezer (MIT) © Marijn Haverbeke and others.
4
- * Full third-party licences: THIRD-PARTY-NOTICES.txt in this package.
5
- */
6
- import{a as e}from"./config-DZqcFPEP.js";import{t}from"./worker-runtime-CNPpMRo1.js";var n=`let currentId=null,stdinLines=[],stdinExhausted=!1,nextRequest=1,inputWaitMs=0;const pendingLines=new Map;let sucrasePromise=null,sucraseURL="https://esm.sh/sucrase@3.35.1?bundle";function post(t){self.postMessage(t)}let functionLineOffset=0;try{new Function('throw new Error("probe")')()}catch(t){const n=/<anonymous>:(\\d+):/.exec(t.stack||"");n&&(functionLineOffset=Number(n[1])-1)}let currentFiles=[];const FLUSH_BYTES=8192,FLUSH_MS=16,EAGER_POSTS=32;let outputQueue=[],queuedChars=0,windowStart=-1/0,windowPosts=0;function writeOutput(t,n){const s=outputQueue[outputQueue.length-1];s&&s.type===t?s.text+=n:outputQueue.push({type:t,text:n}),queuedChars+=n.length;const i=performance.now();i-windowStart>=FLUSH_MS&&(windowStart=i,windowPosts=0),(windowPosts<EAGER_POSTS||queuedChars>=FLUSH_BYTES)&&flushOutput()}function flushOutput(){if(!outputQueue.length)return;windowPosts++;const t=outputQueue;outputQueue=[],queuedChars=0;for(const n of t)post({type:n.type,id:currentId,text:n.text})}function format(t,n,s){if(n=n||new Set,typeof t=="string")return s?t:JSON.stringify(t);if(typeof t=="bigint")return String(t)+"n";if(typeof t=="function")return"[Function"+(t.name?": "+t.name:"")+"]";if(typeof t=="symbol"||t==null||typeof t!="object")return String(t);if(n.has(t))return"[Circular]";n.add(t);try{if(t instanceof Error)return t.stack||t.name+": "+t.message;if(Array.isArray(t))return"[ "+t.map(e=>format(e,n)).join(", ")+" ]";if(t instanceof Map)return"Map("+t.size+") { "+[...t].map(([e,o])=>format(e,n)+" => "+format(o,n)).join(", ")+" }";if(t instanceof Set)return"Set("+t.size+") { "+[...t].map(e=>format(e,n)).join(", ")+" }";if(t instanceof Date)return t.toISOString();if(t instanceof Promise)return"Promise { \\u2026 }";const i=Object.entries(t).map(([e,o])=>e+": "+format(o,n)),f=t.constructor&&t.constructor.name;return(f&&f!=="Object"?f+" ":"")+"{ "+i.join(", ")+" }"}finally{n.delete(t)}}function formatArgs(t){return t.map(n=>format(n,null,!0)).join(" ")+\`
7
- \`}const nativeConsole=self.console;self.console=Object.assign(Object.create(nativeConsole),{log:(...t)=>writeOutput("stdout",formatArgs(t)),info:(...t)=>writeOutput("stdout",formatArgs(t)),debug:(...t)=>writeOutput("stdout",formatArgs(t)),warn:(...t)=>writeOutput("stderr",formatArgs(t)),error:(...t)=>writeOutput("stderr",formatArgs(t))}),self._ppReadLine=async()=>{if(stdinLines.length){const i=stdinLines.shift();return writeOutput("echo",i+\`
8
- \`),i}const t=nextRequest++;flushOutput();const n=performance.now(),s=await new Promise(i=>{pendingLines.set(t,i),post({type:"stdin-request",id:currentId,request:t})});return inputWaitMs+=performance.now()-n,typeof s!="string"&&(stdinExhausted=!0),typeof s=="string"?s:null};async function input(t){t!==void 0&&writeOutput("stdout",String(t));const n=await self._ppReadLine();if(n===null)throw new Error("EOF: no more input");return n}self.input=input;async function loadSucrase(){return sucrasePromise||(sucrasePromise=import(sucraseURL)),sucrasePromise}function isModule(t,n){return Object.keys(t).length>1?!0:/^\\s*(import|export)\\s/m.test(t[n]||"")}function needsTypeScript(t){return/\\.(ts|tsx|jsx|mts|cts)$/.test(t)}function transformsFor(t){const n=["imports"];return/\\.tsx?$|\\.mts$|\\.cts$/.test(t)&&n.push("typescript"),/\\.[jt]sx$/.test(t)&&n.push("jsx"),n}async function runAsModules(t,n){const{transform:s}=await loadSucrase(),i=new Map,f=(e,o)=>{if(!o.startsWith("."))return null;const a=((e.includes("/")?e.slice(0,e.lastIndexOf("/")+1):"")+o).split("/"),d=[];for(const p of a)p==="."||p===""||(p===".."?d.pop():d.push(p));const c=d.join("/");return[c,c+".js",c+".ts",c+".tsx",c+".jsx",c+".json",c+"/index.js",c+"/index.ts"].find(p=>p in t)||null};function r(e){if(i.has(e))return i.get(e).exports;const o={exports:{}};if(i.set(e,o),e.endsWith(".json")){try{o.exports=JSON.parse(t[e])}catch(c){throw new SyntaxError("Invalid JSON in "+e+": "+c.message)}return o.exports}const{code:u}=s(t[e],{transforms:transformsFor(e),filePath:e,preserveDynamicImport:!0}),a=c=>{const l=f(e,c);if(!l)throw new Error('Cannot find module "'+c+'" from "'+e+'"');return r(l)};return new Function("exports","require","module","__filename","input","console",u+\`
9
- //# sourceURL=\`+e)(o.exports,a,o,e,input,self.console),o.exports}r(n)}async function run(t){currentId=t.id,stdinLines=t.stdin?String(t.stdin).replace(/\\n$/,"").split(\`
10
- \`):[],stdinExhausted=!1,inputWaitMs=0,windowStart=-1/0;for(const r of pendingLines.values())r(null);pendingLines.clear();const n=t.files&&Object.keys(t.files).length?t.files:{"main.js":t.code},s=t.entry&&n[t.entry]?t.entry:Object.keys(n)[0],i=performance.now();currentFiles=Object.keys(n);const f=isModule(n,s);try{let r;if(f)r=await runAsModules(n,s);else{let e=n[s];if(needsTypeScript(s)){const{transform:u}=await loadSucrase();e=u(e,{transforms:transformsFor(s).filter(a=>a!=="imports"),filePath:s}).code}const o=e+\`
11
- //# sourceURL=\`+s;try{r=(0,eval)(o)}catch(u){if(u instanceof SyntaxError&&(/await|import/i.test(u.message)||/\\bawait\\b/.test(e))){const a=Object.getPrototypeOf(async function(){}).constructor;r=await new a("input",o)(input)}else throw u}r&&typeof r.then=="function"&&(r=await r)}flushOutput(),post({type:"result",id:t.id,value:r===void 0?void 0:format(r),durationMs:performance.now()-i-inputWaitMs})}catch(r){flushOutput(),post({type:"error",id:t.id,message:formatError(r,f),hint:stdinExhausted&&/EOF/.test(String(r&&r.message))?"input() asked for a line that standard input did not have. Add one line per input() call in the box above, then run again.":void 0,hintAbout:stdinExhausted&&/EOF/.test(String(r&&r.message))?"stdin":void 0,durationMs:performance.now()-i-inputWaitMs})}finally{currentId=null}}function formatError(t,n){if(!(t instanceof Error))return"Uncaught "+format(t);const s=t.stack||t.name+": "+t.message,i=n?functionLineOffset:0,f=[];for(const r of s.split(\`
12
- \`))!currentFiles.some(o=>r.includes(o+":"))&&/\\bat |blob:/.test(r)||f.push(i?r.replace(/([\\w./-]+):(\\d+):(\\d+)/g,(o,u,a,d)=>currentFiles.indexOf(u)===-1?o:u+":"+(Number(a)-i)+":"+d):r);return f.join(\`
13
- \`).replace(/\\s+$/,"")}self.onmessage=async t=>{const n=t.data;try{if(n.type==="init")n.sucraseURL&&(sucraseURL=n.sucraseURL),post({type:"ready",version:"es2022",interactiveStdin:!0});else if(n.type==="run")await run(n);else if(n.type==="stdin-response"){const s=pendingLines.get(n.request);s&&(pendingLines.delete(n.request),s(n.text))}}catch(s){post({type:"fatal",id:n&&n.id,message:formatError(s)})}};
14
- `,r=new class extends t{id=`javascript`;get source(){return n}initPayload(){return{sucraseURL:e()}}get label(){return`JavaScript`}};function i(e,t,n){return{id:e,get label(){return t},get ready(){return r.ready},get interactiveStdin(){return r.interactiveStdin},async editorLanguage(){let{javascript:e}=await import(`./dist-CqpVTRAq.js`);return e({typescript:n})},load:e=>r.load(e),run:(e,t)=>r.run(e,t),stop:e=>r.stop(e)}}var a=i(`javascript`,`JavaScript`,!1),o=i(`typescript`,`TypeScript`,!0);export{a as javascriptRuntime,o as typescriptRuntime};
@@ -1,9 +0,0 @@
1
- import{a as e}from"./config-DZqcFPEP.js";import{t}from"./worker-runtime-B64HCt-B.js";var n=`let currentId=null,stdinLines=[],stdinExhausted=!1,nextRequest=1,inputWaitMs=0;const pendingLines=new Map;let sucrasePromise=null,sucraseURL="https://esm.sh/sucrase@3.35.1?bundle";function post(t){self.postMessage(t)}let functionLineOffset=0;try{new Function('throw new Error("probe")')()}catch(t){const n=/<anonymous>:(\\d+):/.exec(t.stack||"");n&&(functionLineOffset=Number(n[1])-1)}let currentFiles=[];const FLUSH_BYTES=8192,FLUSH_MS=16,EAGER_POSTS=32;let outputQueue=[],queuedChars=0,windowStart=-1/0,windowPosts=0;function writeOutput(t,n){const s=outputQueue[outputQueue.length-1];s&&s.type===t?s.text+=n:outputQueue.push({type:t,text:n}),queuedChars+=n.length;const i=performance.now();i-windowStart>=FLUSH_MS&&(windowStart=i,windowPosts=0),(windowPosts<EAGER_POSTS||queuedChars>=FLUSH_BYTES)&&flushOutput()}function flushOutput(){if(!outputQueue.length)return;windowPosts++;const t=outputQueue;outputQueue=[],queuedChars=0;for(const n of t)post({type:n.type,id:currentId,text:n.text})}function format(t,n,s){if(n=n||new Set,typeof t=="string")return s?t:JSON.stringify(t);if(typeof t=="bigint")return String(t)+"n";if(typeof t=="function")return"[Function"+(t.name?": "+t.name:"")+"]";if(typeof t=="symbol"||t==null||typeof t!="object")return String(t);if(n.has(t))return"[Circular]";n.add(t);try{if(t instanceof Error)return t.stack||t.name+": "+t.message;if(Array.isArray(t))return"[ "+t.map(e=>format(e,n)).join(", ")+" ]";if(t instanceof Map)return"Map("+t.size+") { "+[...t].map(([e,o])=>format(e,n)+" => "+format(o,n)).join(", ")+" }";if(t instanceof Set)return"Set("+t.size+") { "+[...t].map(e=>format(e,n)).join(", ")+" }";if(t instanceof Date)return t.toISOString();if(t instanceof Promise)return"Promise { \\u2026 }";const i=Object.entries(t).map(([e,o])=>e+": "+format(o,n)),f=t.constructor&&t.constructor.name;return(f&&f!=="Object"?f+" ":"")+"{ "+i.join(", ")+" }"}finally{n.delete(t)}}function formatArgs(t){return t.map(n=>format(n,null,!0)).join(" ")+\`
2
- \`}const nativeConsole=self.console;self.console=Object.assign(Object.create(nativeConsole),{log:(...t)=>writeOutput("stdout",formatArgs(t)),info:(...t)=>writeOutput("stdout",formatArgs(t)),debug:(...t)=>writeOutput("stdout",formatArgs(t)),warn:(...t)=>writeOutput("stderr",formatArgs(t)),error:(...t)=>writeOutput("stderr",formatArgs(t))}),self._ppReadLine=async()=>{if(stdinLines.length){const i=stdinLines.shift();return writeOutput("echo",i+\`
3
- \`),i}const t=nextRequest++;flushOutput();const n=performance.now(),s=await new Promise(i=>{pendingLines.set(t,i),post({type:"stdin-request",id:currentId,request:t})});return inputWaitMs+=performance.now()-n,typeof s!="string"&&(stdinExhausted=!0),typeof s=="string"?s:null};async function input(t){t!==void 0&&writeOutput("stdout",String(t));const n=await self._ppReadLine();if(n===null)throw new Error("EOF: no more input");return n}self.input=input;async function loadSucrase(){return sucrasePromise||(sucrasePromise=import(sucraseURL)),sucrasePromise}function isModule(t,n){return Object.keys(t).length>1?!0:/^\\s*(import|export)\\s/m.test(t[n]||"")}function needsTypeScript(t){return/\\.(ts|tsx|jsx|mts|cts)$/.test(t)}function transformsFor(t){const n=["imports"];return/\\.tsx?$|\\.mts$|\\.cts$/.test(t)&&n.push("typescript"),/\\.[jt]sx$/.test(t)&&n.push("jsx"),n}async function runAsModules(t,n){const{transform:s}=await loadSucrase(),i=new Map,f=(e,o)=>{if(!o.startsWith("."))return null;const a=((e.includes("/")?e.slice(0,e.lastIndexOf("/")+1):"")+o).split("/"),d=[];for(const p of a)p==="."||p===""||(p===".."?d.pop():d.push(p));const c=d.join("/");return[c,c+".js",c+".ts",c+".tsx",c+".jsx",c+".json",c+"/index.js",c+"/index.ts"].find(p=>p in t)||null};function r(e){if(i.has(e))return i.get(e).exports;const o={exports:{}};if(i.set(e,o),e.endsWith(".json")){try{o.exports=JSON.parse(t[e])}catch(c){throw new SyntaxError("Invalid JSON in "+e+": "+c.message)}return o.exports}const{code:u}=s(t[e],{transforms:transformsFor(e),filePath:e,preserveDynamicImport:!0}),a=c=>{const l=f(e,c);if(!l)throw new Error('Cannot find module "'+c+'" from "'+e+'"');return r(l)};return new Function("exports","require","module","__filename","input","console",u+\`
4
- //# sourceURL=\`+e)(o.exports,a,o,e,input,self.console),o.exports}r(n)}async function run(t){currentId=t.id,stdinLines=t.stdin?String(t.stdin).replace(/\\n$/,"").split(\`
5
- \`):[],stdinExhausted=!1,inputWaitMs=0,windowStart=-1/0;for(const r of pendingLines.values())r(null);pendingLines.clear();const n=t.files&&Object.keys(t.files).length?t.files:{"main.js":t.code},s=t.entry&&n[t.entry]?t.entry:Object.keys(n)[0],i=performance.now();currentFiles=Object.keys(n);const f=isModule(n,s);try{let r;if(f)r=await runAsModules(n,s);else{let e=n[s];if(needsTypeScript(s)){const{transform:u}=await loadSucrase();e=u(e,{transforms:transformsFor(s).filter(a=>a!=="imports"),filePath:s}).code}const o=e+\`
6
- //# sourceURL=\`+s;try{r=(0,eval)(o)}catch(u){if(u instanceof SyntaxError&&(/await|import/i.test(u.message)||/\\bawait\\b/.test(e))){const a=Object.getPrototypeOf(async function(){}).constructor;r=await new a("input",o)(input)}else throw u}r&&typeof r.then=="function"&&(r=await r)}flushOutput(),post({type:"result",id:t.id,value:r===void 0?void 0:format(r),durationMs:performance.now()-i-inputWaitMs})}catch(r){flushOutput(),post({type:"error",id:t.id,message:formatError(r,f),hint:stdinExhausted&&/EOF/.test(String(r&&r.message))?"input() asked for a line that standard input did not have. Add one line per input() call in the box above, then run again.":void 0,hintAbout:stdinExhausted&&/EOF/.test(String(r&&r.message))?"stdin":void 0,durationMs:performance.now()-i-inputWaitMs})}finally{currentId=null}}function formatError(t,n){if(!(t instanceof Error))return"Uncaught "+format(t);const s=t.stack||t.name+": "+t.message,i=n?functionLineOffset:0,f=[];for(const r of s.split(\`
7
- \`))!currentFiles.some(o=>r.includes(o+":"))&&/\\bat |blob:/.test(r)||f.push(i?r.replace(/([\\w./-]+):(\\d+):(\\d+)/g,(o,u,a,d)=>currentFiles.indexOf(u)===-1?o:u+":"+(Number(a)-i)+":"+d):r);return f.join(\`
8
- \`).replace(/\\s+$/,"")}self.onmessage=async t=>{const n=t.data;try{if(n.type==="init")n.sucraseURL&&(sucraseURL=n.sucraseURL),post({type:"ready",version:"es2022",interactiveStdin:!0});else if(n.type==="run")await run(n);else if(n.type==="stdin-response"){const s=pendingLines.get(n.request);s&&(pendingLines.delete(n.request),s(n.text))}}catch(s){post({type:"fatal",id:n&&n.id,message:formatError(s)})}};
9
- `,r=new class extends t{id=`javascript`;get source(){return n}initPayload(){return{sucraseURL:e()}}get label(){return`JavaScript`}};function i(e,t,n){return{id:e,get label(){return t},get ready(){return r.ready},get interactiveStdin(){return r.interactiveStdin},async editorLanguage(){let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:n})},load:e=>r.load(e),run:(e,t)=>r.run(e,t),stop:e=>r.stop(e)}}var a=i(`javascript`,`JavaScript`,!1),o=i(`typescript`,`TypeScript`,!0);export{a as javascriptRuntime,o as typescriptRuntime};