pyrepl-web 0.1.12 → 0.1.13
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,3 +1,3 @@
|
|
|
1
1
|
import{a as O,f as j}from"./chunk-cmrefyz7.js";var __dirname="/home/runner/work/pyrepl-web/pyrepl-web/node_modules/pyodide";var U0=Object.defineProperty,B=(G,Q)=>U0(G,"name",{value:Q,configurable:!0}),f=((G)=>j)(function(G){return j.apply(this,arguments)}),F0=(()=>{for(var G=new Uint8Array(128),Q=0;Q<64;Q++)G[Q<26?Q+65:Q<52?Q+71:Q<62?Q-4:Q*4-205]=Q;return(W)=>{for(var z=W.length,X=new Uint8Array((z-(W[z-1]=="=")-(W[z-2]=="="))*3/4|0),Z=0,H=0;Z<z;){var J=G[W.charCodeAt(Z++)],K=G[W.charCodeAt(Z++)],M=G[W.charCodeAt(Z++)],V=G[W.charCodeAt(Z++)];X[H++]=J<<2|K>>4,X[H++]=K<<4|M>>2,X[H++]=M<<6|V}return X}})();function u(G){return!isNaN(parseFloat(G))&&isFinite(G)}B(u,"_isNumber");function T(G){return G.charAt(0).toUpperCase()+G.substring(1)}B(T,"_capitalize");function b(G){return function(){return this[G]}}B(b,"_getter");var F=["isConstructor","isEval","isNative","isToplevel"],k=["columnNumber","lineNumber"],I=["fileName","functionName","source"],k0=["args"],I0=["evalOrigin"],E=F.concat(k,I,k0,I0);function C(G){if(G)for(var Q=0;Q<E.length;Q++)G[E[Q]]!==void 0&&this["set"+T(E[Q])](G[E[Q]])}B(C,"StackFrame");C.prototype={getArgs:B(function(){return this.args},"getArgs"),setArgs:B(function(G){if(Object.prototype.toString.call(G)!=="[object Array]")throw TypeError("Args must be an Array");this.args=G},"setArgs"),getEvalOrigin:B(function(){return this.evalOrigin},"getEvalOrigin"),setEvalOrigin:B(function(G){if(G instanceof C)this.evalOrigin=G;else if(G instanceof Object)this.evalOrigin=new C(G);else throw TypeError("Eval Origin must be an Object or StackFrame")},"setEvalOrigin"),toString:B(function(){var G=this.getFileName()||"",Q=this.getLineNumber()||"",W=this.getColumnNumber()||"",z=this.getFunctionName()||"";return this.getIsEval()?G?"[eval] ("+G+":"+Q+":"+W+")":"[eval]:"+Q+":"+W:z?z+" ("+G+":"+Q+":"+W+")":G+":"+Q+":"+W},"toString")};C.fromString=B(function(G){var Q=G.indexOf("("),W=G.lastIndexOf(")"),z=G.substring(0,Q),X=G.substring(Q+1,W).split(","),Z=G.substring(W+1);if(Z.indexOf("@")===0)var H=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Z,""),J=H[1],K=H[2],M=H[3];return new C({functionName:z,args:X||void 0,fileName:J,lineNumber:K||void 0,columnNumber:M||void 0})},"StackFrame$$fromString");for(x=0;x<F.length;x++)C.prototype["get"+T(F[x])]=b(F[x]),C.prototype["set"+T(F[x])]=function(G){return function(Q){this[G]=!!Q}}(F[x]);var x;for(A=0;A<k.length;A++)C.prototype["get"+T(k[A])]=b(k[A]),C.prototype["set"+T(k[A])]=function(G){return function(Q){if(!u(Q))throw TypeError(G+" must be a Number");this[G]=Number(Q)}}(k[A]);var A;for(L=0;L<I.length;L++)C.prototype["get"+T(I[L])]=b(I[L]),C.prototype["set"+T(I[L])]=function(G){return function(Q){this[G]=String(Q)}}(I[L]);var L,g=C;function c(){var G=/^\s*at .*(\S+:\d+|\(native\))/m,Q=/^(eval@)?(\[native code])?$/;return{parse:B(function(W){if(W.stack&&W.stack.match(G))return this.parseV8OrIE(W);if(W.stack)return this.parseFFOrSafari(W);throw Error("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:B(function(W){if(W.indexOf(":")===-1)return[W];var z=/(.+?)(?::(\d+))?(?::(\d+))?$/,X=z.exec(W.replace(/[()]/g,""));return[X[1],X[2]||void 0,X[3]||void 0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:B(function(W){var z=W.stack.split(`
|
|
2
2
|
`).filter(function(X){return!!X.match(G)},this);return z.map(function(X){X.indexOf("(eval ")>-1&&(X=X.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var Z=X.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),H=Z.match(/ (\(.+\)$)/);Z=H?Z.replace(H[0],""):Z;var J=this.extractLocation(H?H[1]:Z),K=H&&Z||void 0,M=["eval","<anonymous>"].indexOf(J[0])>-1?void 0:J[0];return new g({functionName:K,fileName:M,lineNumber:J[1],columnNumber:J[2],source:X})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:B(function(W){var z=W.stack.split(`
|
|
3
|
-
`).filter(function(X){return!X.match(Q)},this);return z.map(function(X){if(X.indexOf(" > eval")>-1&&(X=X.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),X.indexOf("@")===-1&&X.indexOf(":")===-1)return new g({functionName:X});var Z=/((.*".+"[^@]*)?[^@]*)(?:@)/,H=X.match(Z),J=H&&H[1]?H[1]:void 0,K=this.extractLocation(X.replace(Z,""));return new g({functionName:J,fileName:K[0],lineNumber:K[1],columnNumber:K[2],source:X})},this)},"ErrorStackParser$$parseFFOrSafari")}}B(c,"ErrorStackParser");var N0=new c,R0=N0;function d(){if(typeof API<"u"&&API!==globalThis.API)return API.runtimeEnv;let G=typeof Bun<"u",Q=typeof Deno<"u",W=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&!1,z=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome")===-1&&navigator.userAgent.indexOf("Safari")>-1;return l({IN_BUN:G,IN_DENO:Q,IN_NODE:W,IN_SAFARI:z,IN_SHELL:typeof read=="function"&&typeof load=="function"})}B(d,"getGlobalRuntimeEnv");var Y=d();function l(G){let Q=G.IN_NODE&&typeof p<"u"&&P0&&typeof f=="function"&&typeof __dirname=="string",W=G.IN_NODE&&!Q,z=!G.IN_NODE&&!G.IN_DENO&&!G.IN_BUN,X=z&&typeof window<"u"&&typeof window.document<"u"&&typeof document.createElement=="function"&&"sessionStorage"in window&&typeof globalThis.importScripts!="function",Z=z&&typeof globalThis.WorkerGlobalScope<"u"&&typeof globalThis.self<"u"&&globalThis.self instanceof globalThis.WorkerGlobalScope;return{...G,IN_BROWSER:z,IN_BROWSER_MAIN_THREAD:X,IN_BROWSER_WEB_WORKER:Z,IN_NODE_COMMONJS:Q,IN_NODE_ESM:W}}B(l,"calculateDerivedFlags");var s,P,a,m,v;async function y(){if(!Y.IN_NODE||(s=(await import("./chunk-agmzdfvt.js")).default,m=await import("node:fs"),v=await import("node:fs/promises"),a=(await import("node:vm")).default,P=await import("./chunk-t9eg0wr0.js"),_=P.sep,typeof f<"u"))return;let G=m,Q=await import("./chunk-3vjhr6cq.js"),W=await import("ws"),z=await import("node:child_process"),X={fs:G,crypto:Q,ws:W,child_process:z};globalThis.require=function(Z){return X[Z]}}B(y,"initNodeModules");function i(G,Q){return P.resolve(Q||".",G)}B(i,"node_resolvePath");function o(G,Q){return Q===void 0&&(Q=location),new URL(G,Q).toString()}B(o,"browser_resolvePath");var S;Y.IN_NODE?S=i:Y.IN_SHELL?S=B((G)=>G,"resolvePath"):S=o;var _;Y.IN_NODE||(_="/");function n(G,Q){return G.startsWith("file://")&&(G=G.slice(7)),G.includes("://")?{response:fetch(G)}:{binary:v.readFile(G).then((W)=>new Uint8Array(W.buffer,W.byteOffset,W.byteLength))}}B(n,"node_getBinaryResponse");function r(G,Q){if(G.startsWith("file://")&&(G=G.slice(7)),G.includes("://"))throw Error("Shell cannot fetch urls");return{binary:Promise.resolve(new Uint8Array(readbuffer(G)))}}B(r,"shell_getBinaryResponse");function t(G,Q){let W=new URL(G,location);return{response:fetch(W,Q?{integrity:Q}:{})}}B(t,"browser_getBinaryResponse");var w;Y.IN_NODE?w=n:Y.IN_SHELL?w=r:w=t;async function e(G,Q){let{response:W,binary:z}=w(G,Q);if(z)return z;let X=await W;if(!X.ok)throw Error(`Failed to load '${G}': request failed.`);return new Uint8Array(await X.arrayBuffer())}B(e,"loadBinaryFile");var N;if(Y.IN_BROWSER_MAIN_THREAD)N=B(async(G)=>await import(G),"loadScript");else if(Y.IN_BROWSER_WEB_WORKER)N=B(async(G)=>{try{globalThis.importScripts(G)}catch(Q){if(Q instanceof TypeError)await import(G);else throw Q}},"loadScript");else if(Y.IN_NODE)N=G0;else if(Y.IN_SHELL)N=load;else throw Error("Cannot determine runtime environment");async function G0(G){G.startsWith("file://")&&(G=G.slice(7)),G.includes("://")?a.runInThisContext(await(await fetch(G)).text()):await import(s.pathToFileURL(G).href)}B(G0,"nodeLoadScript");async function Q0(G){if(Y.IN_NODE){await y();let Q=await v.readFile(G,{encoding:"utf8"});return JSON.parse(Q)}else if(Y.IN_SHELL){let Q=read(G);return JSON.parse(Q)}else return await(await fetch(G)).json()}B(Q0,"loadLockFile");async function W0(){if(Y.IN_NODE_COMMONJS)return __dirname;let G;try{throw Error()}catch(z){G=z}let Q=R0.parse(G)[0].fileName;if(Y.IN_NODE&&!Q.startsWith("file://")&&(Q=`file://${Q}`),Y.IN_NODE_ESM){let z=await import("./chunk-t9eg0wr0.js");return(await import("./chunk-agmzdfvt.js")).fileURLToPath(z.dirname(Q))}let W=Q.lastIndexOf(_);if(W===-1)throw Error("Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.");return Q.slice(0,W)}B(W0,"calculateDirname");function X0(G){return G.substring(0,G.lastIndexOf("/")+1)||globalThis.location?.toString()||"."}B(X0,"calculateInstallBaseUrl");function Z0(G){let Q=G.FS,W=G.FS.filesystems.MEMFS,z=G.PATH,X={DIR_MODE:16895,FILE_MODE:33279,mount:B(function(Z){if(!Z.opts.fileSystemHandle)throw Error("opts.fileSystemHandle is required");return W.mount.apply(null,arguments)},"mount"),syncfs:B(async(Z,H,J)=>{try{let K=X.getLocalSet(Z),M=await X.getRemoteSet(Z),V=H?M:K,D=H?K:M;await X.reconcile(Z,V,D),J(null)}catch(K){J(K)}},"syncfs"),getLocalSet:B((Z)=>{let H=Object.create(null);function J(V){return V!=="."&&V!==".."}B(J,"isRealDir");function K(V){return(D)=>z.join2(V,D)}B(K,"toAbsolute");let M=Q.readdir(Z.mountpoint).filter(J).map(K(Z.mountpoint));for(;M.length;){let V=M.pop(),D=Q.stat(V);Q.isDir(D.mode)&&M.push.apply(M,Q.readdir(V).filter(J).map(K(V))),H[V]={timestamp:D.mtime,mode:D.mode}}return{type:"local",entries:H}},"getLocalSet"),getRemoteSet:B(async(Z)=>{let H=Object.create(null),J=await S0(Z.opts.fileSystemHandle);for(let[K,M]of J)K!=="."&&(H[z.join2(Z.mountpoint,K)]={timestamp:M.kind==="file"?new Date((await M.getFile()).lastModified):new Date,mode:M.kind==="file"?X.FILE_MODE:X.DIR_MODE});return{type:"remote",entries:H,handles:J}},"getRemoteSet"),loadLocalEntry:B((Z)=>{let H=Q.lookupPath(Z,{}).node,J=Q.stat(Z);if(Q.isDir(J.mode))return{timestamp:J.mtime,mode:J.mode};if(Q.isFile(J.mode))return H.contents=W.getFileDataAsTypedArray(H),{timestamp:J.mtime,mode:J.mode,contents:H.contents};throw Error("node type not supported")},"loadLocalEntry"),storeLocalEntry:B((Z,H)=>{if(Q.isDir(H.mode))Q.mkdirTree(Z,H.mode);else if(Q.isFile(H.mode))Q.writeFile(Z,H.contents,{canOwn:!0});else throw Error("node type not supported");Q.chmod(Z,H.mode),Q.utime(Z,H.timestamp,H.timestamp)},"storeLocalEntry"),removeLocalEntry:B((Z)=>{var H=Q.stat(Z);Q.isDir(H.mode)?Q.rmdir(Z):Q.isFile(H.mode)&&Q.unlink(Z)},"removeLocalEntry"),loadRemoteEntry:B(async(Z)=>{if(Z.kind==="file"){let H=await Z.getFile();return{contents:new Uint8Array(await H.arrayBuffer()),mode:X.FILE_MODE,timestamp:new Date(H.lastModified)}}else{if(Z.kind==="directory")return{mode:X.DIR_MODE,timestamp:new Date};throw Error("unknown kind: "+Z.kind)}},"loadRemoteEntry"),storeRemoteEntry:B(async(Z,H,J)=>{let K=Z.get(z.dirname(H)),M=Q.isFile(J.mode)?await K.getFileHandle(z.basename(H),{create:!0}):await K.getDirectoryHandle(z.basename(H),{create:!0});if(M.kind==="file"){let V=await M.createWritable();await V.write(J.contents),await V.close()}Z.set(H,M)},"storeRemoteEntry"),removeRemoteEntry:B(async(Z,H)=>{await Z.get(z.dirname(H)).removeEntry(z.basename(H)),Z.delete(H)},"removeRemoteEntry"),reconcile:B(async(Z,H,J)=>{let K=0,M=[];Object.keys(H.entries).forEach(function($){let q=H.entries[$],U=J.entries[$];(!U||Q.isFile(q.mode)&&q.timestamp.getTime()>U.timestamp.getTime())&&(M.push($),K++)}),M.sort();let V=[];if(Object.keys(J.entries).forEach(function($){H.entries[$]||(V.push($),K++)}),V.sort().reverse(),!K)return;let D=H.type==="remote"?H.handles:J.handles;for(let $ of M){let q=z.normalize($.replace(Z.mountpoint,"/")).substring(1);if(J.type==="local"){let U=D.get(q),L0=await X.loadRemoteEntry(U);X.storeLocalEntry($,L0)}else{let U=X.loadLocalEntry($);await X.storeRemoteEntry(D,q,U)}}for(let $ of V)if(J.type==="local")X.removeLocalEntry($);else{let q=z.normalize($.replace(Z.mountpoint,"/")).substring(1);await X.removeRemoteEntry(D,q)}},"reconcile")};G.FS.filesystems.NATIVEFS_ASYNC=X}B(Z0,"initializeNativeFS");var S0=B(async(G)=>{let Q=[];async function W(X){for await(let Z of X.values())Q.push(Z),Z.kind==="directory"&&await W(Z)}B(W,"collect"),await W(G);let z=new Map;z.set(".",G);for(let X of Q){let Z=(await G.resolve(X)).join("/");z.set(Z,X)}return z},"getFsHandles"),w0=F0("AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECByECD2NyZWF0ZV9zZW50aW5lbAAAC2lzX3NlbnRpbmVsAAEKEwIHAPsBAPsbCwkAIAD7GvsUAAs="),E0=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&typeof navigator.maxTouchPoints<"u"&&navigator.maxTouchPoints>1)))try{let G=await WebAssembly.compile(w0);return await WebAssembly.instantiate(G)}catch(G){if(G instanceof WebAssembly.CompileError)return;throw G}}();async function z0(){let G=await E0;if(G)return G.exports;let Q=Symbol("error marker");return{create_sentinel:B(()=>Q,"create_sentinel"),is_sentinel:B((W)=>W===Q,"is_sentinel")}}B(z0,"getSentinelImport");function B0(G){let Q={config:G,runtimeEnv:Y},W={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Y0(G),print:G.stdout,printErr:G.stderr,onExit(z){W.exitCode=z},thisProgram:G._sysExecutable,arguments:G.args,API:Q,locateFile:B((z)=>G.indexURL+z,"locateFile"),instantiateWasm:$0(G.indexURL)};return W}B(B0,"createSettings");function H0(G){return function(Q){let W="/";try{Q.FS.mkdirTree(G)}catch(z){console.error(`Error occurred while making a home directory '${G}':`),console.error(z),console.error(`Using '${W}' for a home directory instead`),G=W}Q.FS.chdir(G)}}B(H0,"createHomeDirectory");function J0(G){return function(Q){Object.assign(Q.ENV,G)}}B(J0,"setEnvironment");function K0(G){return G?[async(Q)=>{Q.addRunDependency("fsInitHook");try{await G(Q.FS,{sitePackages:Q.API.sitePackages})}finally{Q.removeRunDependency("fsInitHook")}}]:[]}B(K0,"callFsInitHook");function M0(G){let Q=G.HEAPU32[G._Py_Version>>>2],W=Q>>>24&255,z=Q>>>16&255,X=Q>>>8&255;return[W,z,X]}B(M0,"computeVersionTuple");function V0(G){let Q=e(G);return async(W)=>{W.API.pyVersionTuple=M0(W);let[z,X]=W.API.pyVersionTuple;W.FS.mkdirTree("/lib"),W.API.sitePackages=`/lib/python${z}.${X}/site-packages`,W.FS.mkdirTree(W.API.sitePackages),W.addRunDependency("install-stdlib");try{let Z=await Q;W.FS.writeFile(`/lib/python${z}${X}.zip`,Z)}catch(Z){console.error("Error occurred while installing the standard library:"),console.error(Z)}finally{W.removeRunDependency("install-stdlib")}}}B(V0,"installStdlib");function Y0(G){let Q;return G.stdLibURL!=null?Q=G.stdLibURL:Q=G.indexURL+"python_stdlib.zip",[V0(Q),H0(G.env.HOME),J0(G.env),Z0,...K0(G.fsInit)]}B(Y0,"getFileSystemInitializationFuncs");function $0(G){if(typeof WasmOffsetConverter<"u")return;let{binary:Q,response:W}=w(G+"pyodide.asm.wasm"),z=z0();return function(X,Z){return async function(){X.sentinel=await z;try{let H;W?H=await WebAssembly.instantiateStreaming(W,X):H=await WebAssembly.instantiate(await Q,X);let{instance:J,module:K}=H;Z(J,K)}catch(H){console.warn("wasm instantiation failed!"),console.warn(H)}}(),{}}}B($0,"getInstantiateWasmFunc");var b0="0.29.1";function R(G){return G===void 0||G.endsWith("/")?G:G+"/"}B(R,"withTrailingSlash");var h=b0;async function j0(G={}){if(await y(),G.lockFileContents&&G.lockFileURL)throw Error("Can't pass both lockFileContents and lockFileURL");let Q=G.indexURL||await W0();if(Q=R(S(Q)),G.packageBaseUrl=R(G.packageBaseUrl),G.cdnUrl=R(G.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v${h}/full/`),!G.lockFileContents){let X=G.lockFileURL??Q+"pyodide-lock.json";G.lockFileContents=Q0(X),G.packageBaseUrl??=X0(X)}G.indexURL=Q,G.packageCacheDir&&(G.packageCacheDir=R(S(G.packageCacheDir)));let W={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:G.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:"15650dcb90bdff1ec9ab10398b799c17113d70be6a0ebf1d1a7d5dc7db9b5b8c"},z=Object.assign(W,G);return z.env.HOME??="/home/pyodide",z.env.PYTHONINSPECT??="1",z}B(j0,"initializeConfiguration");function C0(G){let Q=B0(G),W=Q.API;return W.lockFilePromise=Promise.resolve(G.lockFileContents),Q}B(C0,"createEmscriptenSettings");async function D0(G){if(typeof _createPyodideModule!="function"){let Q=`${G.indexURL}pyodide.asm.js`;await N(Q)}}B(D0,"loadWasmScript");async function O0(G,Q){if(!G._loadSnapshot)return;let W=await G._loadSnapshot,z=ArrayBuffer.isView(W)?W:new Uint8Array(W);return Q.noInitialRun=!0,Q.INITIAL_MEMORY=z.length,z}B(O0,"prepareSnapshot");async function T0(G){let Q=await _createPyodideModule(G);if(G.exitCode!==void 0)throw new Q.ExitStatus(G.exitCode);return Q}B(T0,"createPyodideModule");function q0(G,Q){let W=G.API;if(Q.pyproxyToStringRepr&&W.setPyProxyToStringMethod(!0),Q.convertNullToNone&&W.setCompatNullToNone(!0),Q.toJsLiteralMap&&W.setCompatToJsLiteralMap(!0),W.version!==h&&Q.checkAPIVersion)throw Error(`Pyodide version does not match: '${h}' <==> '${W.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);G.locateFile=(z)=>{throw z.endsWith(".so")?Error(`Failed to find dynamic library "${z}"`):Error(`Unexpected call to locateFile("${z}")`)}}B(q0,"configureAPI");function x0(G,Q,W){let z=G.API,X;return Q&&(X=z.restoreSnapshot(Q)),z.finalizeBootstrap(X,W._snapshotDeserializer)}B(x0,"bootstrapPyodide");async function A0(G,Q){let W=G._api;return W.sys.path.insert(0,""),W._pyodide.set_excepthook(),await W.packageIndexReady,W.initializeStreams(Q.stdin,Q.stdout,Q.stderr),G}B(A0,"finalizeSetup");async function g0(G={}){let Q=await j0(G),W=C0(Q);await D0(Q);let z=await O0(Q,W),X=await T0(W);q0(X,Q);let Z=x0(X,z,Q);return await A0(Z,Q)}B(g0,"loadPyodide");export{h as version,g0 as loadPyodide};
|
|
3
|
+
`).filter(function(X){return!X.match(Q)},this);return z.map(function(X){if(X.indexOf(" > eval")>-1&&(X=X.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),X.indexOf("@")===-1&&X.indexOf(":")===-1)return new g({functionName:X});var Z=/((.*".+"[^@]*)?[^@]*)(?:@)/,H=X.match(Z),J=H&&H[1]?H[1]:void 0,K=this.extractLocation(X.replace(Z,""));return new g({functionName:J,fileName:K[0],lineNumber:K[1],columnNumber:K[2],source:X})},this)},"ErrorStackParser$$parseFFOrSafari")}}B(c,"ErrorStackParser");var N0=new c,R0=N0;function d(){if(typeof API<"u"&&API!==globalThis.API)return API.runtimeEnv;let G=typeof Bun<"u",Q=typeof Deno<"u",W=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&!1,z=typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome")===-1&&navigator.userAgent.indexOf("Safari")>-1;return l({IN_BUN:G,IN_DENO:Q,IN_NODE:W,IN_SAFARI:z,IN_SHELL:typeof read=="function"&&typeof load=="function"})}B(d,"getGlobalRuntimeEnv");var Y=d();function l(G){let Q=G.IN_NODE&&typeof p<"u"&&P0&&typeof f=="function"&&typeof __dirname=="string",W=G.IN_NODE&&!Q,z=!G.IN_NODE&&!G.IN_DENO&&!G.IN_BUN,X=z&&typeof window<"u"&&typeof window.document<"u"&&typeof document.createElement=="function"&&"sessionStorage"in window&&typeof globalThis.importScripts!="function",Z=z&&typeof globalThis.WorkerGlobalScope<"u"&&typeof globalThis.self<"u"&&globalThis.self instanceof globalThis.WorkerGlobalScope;return{...G,IN_BROWSER:z,IN_BROWSER_MAIN_THREAD:X,IN_BROWSER_WEB_WORKER:Z,IN_NODE_COMMONJS:Q,IN_NODE_ESM:W}}B(l,"calculateDerivedFlags");var s,P,a,m,v;async function y(){if(!Y.IN_NODE||(s=(await import("./chunk-agmzdfvt.js")).default,m=await import("node:fs"),v=await import("node:fs/promises"),a=(await import("node:vm")).default,P=await import("./chunk-t9eg0wr0.js"),_=P.sep,typeof f<"u"))return;let G=m,Q=await import("./chunk-3vjhr6cq.js"),W=await import("ws"),z=await import("node:child_process"),X={fs:G,crypto:Q,ws:W,child_process:z};globalThis.require=function(Z){return X[Z]}}B(y,"initNodeModules");function i(G,Q){return P.resolve(Q||".",G)}B(i,"node_resolvePath");function o(G,Q){return Q===void 0&&(Q=location),new URL(G,Q).toString()}B(o,"browser_resolvePath");var S;Y.IN_NODE?S=i:Y.IN_SHELL?S=B((G)=>G,"resolvePath"):S=o;var _;Y.IN_NODE||(_="/");function n(G,Q){return G.startsWith("file://")&&(G=G.slice(7)),G.includes("://")?{response:fetch(G)}:{binary:v.readFile(G).then((W)=>new Uint8Array(W.buffer,W.byteOffset,W.byteLength))}}B(n,"node_getBinaryResponse");function r(G,Q){if(G.startsWith("file://")&&(G=G.slice(7)),G.includes("://"))throw Error("Shell cannot fetch urls");return{binary:Promise.resolve(new Uint8Array(readbuffer(G)))}}B(r,"shell_getBinaryResponse");function t(G,Q){let W=new URL(G,location);return{response:fetch(W,Q?{integrity:Q}:{})}}B(t,"browser_getBinaryResponse");var w;Y.IN_NODE?w=n:Y.IN_SHELL?w=r:w=t;async function e(G,Q){let{response:W,binary:z}=w(G,Q);if(z)return z;let X=await W;if(!X.ok)throw Error(`Failed to load '${G}': request failed.`);return new Uint8Array(await X.arrayBuffer())}B(e,"loadBinaryFile");var N;if(Y.IN_BROWSER_MAIN_THREAD)N=B(async(G)=>await import(G),"loadScript");else if(Y.IN_BROWSER_WEB_WORKER)N=B(async(G)=>{try{globalThis.importScripts(G)}catch(Q){if(Q instanceof TypeError)await import(G);else throw Q}},"loadScript");else if(Y.IN_NODE)N=G0;else if(Y.IN_SHELL)N=load;else throw Error("Cannot determine runtime environment");async function G0(G){G.startsWith("file://")&&(G=G.slice(7)),G.includes("://")?a.runInThisContext(await(await fetch(G)).text()):await import(s.pathToFileURL(G).href)}B(G0,"nodeLoadScript");async function Q0(G){if(Y.IN_NODE){await y();let Q=await v.readFile(G,{encoding:"utf8"});return JSON.parse(Q)}else if(Y.IN_SHELL){let Q=read(G);return JSON.parse(Q)}else return await(await fetch(G)).json()}B(Q0,"loadLockFile");async function W0(){if(Y.IN_NODE_COMMONJS)return __dirname;let G;try{throw Error()}catch(z){G=z}let Q=R0.parse(G)[0].fileName;if(Y.IN_NODE&&!Q.startsWith("file://")&&(Q=`file://${Q}`),Y.IN_NODE_ESM){let z=await import("./chunk-t9eg0wr0.js");return(await import("./chunk-agmzdfvt.js")).fileURLToPath(z.dirname(Q))}let W=Q.lastIndexOf(_);if(W===-1)throw Error("Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.");return Q.slice(0,W)}B(W0,"calculateDirname");function X0(G){return G.substring(0,G.lastIndexOf("/")+1)||globalThis.location?.toString()||"."}B(X0,"calculateInstallBaseUrl");function Z0(G){let Q=G.FS,W=G.FS.filesystems.MEMFS,z=G.PATH,X={DIR_MODE:16895,FILE_MODE:33279,mount:B(function(Z){if(!Z.opts.fileSystemHandle)throw Error("opts.fileSystemHandle is required");return W.mount.apply(null,arguments)},"mount"),syncfs:B(async(Z,H,J)=>{try{let K=X.getLocalSet(Z),M=await X.getRemoteSet(Z),V=H?M:K,D=H?K:M;await X.reconcile(Z,V,D),J(null)}catch(K){J(K)}},"syncfs"),getLocalSet:B((Z)=>{let H=Object.create(null);function J(V){return V!=="."&&V!==".."}B(J,"isRealDir");function K(V){return(D)=>z.join2(V,D)}B(K,"toAbsolute");let M=Q.readdir(Z.mountpoint).filter(J).map(K(Z.mountpoint));for(;M.length;){let V=M.pop(),D=Q.stat(V);Q.isDir(D.mode)&&M.push.apply(M,Q.readdir(V).filter(J).map(K(V))),H[V]={timestamp:D.mtime,mode:D.mode}}return{type:"local",entries:H}},"getLocalSet"),getRemoteSet:B(async(Z)=>{let H=Object.create(null),J=await S0(Z.opts.fileSystemHandle);for(let[K,M]of J)K!=="."&&(H[z.join2(Z.mountpoint,K)]={timestamp:M.kind==="file"?new Date((await M.getFile()).lastModified):new Date,mode:M.kind==="file"?X.FILE_MODE:X.DIR_MODE});return{type:"remote",entries:H,handles:J}},"getRemoteSet"),loadLocalEntry:B((Z)=>{let H=Q.lookupPath(Z,{}).node,J=Q.stat(Z);if(Q.isDir(J.mode))return{timestamp:J.mtime,mode:J.mode};if(Q.isFile(J.mode))return H.contents=W.getFileDataAsTypedArray(H),{timestamp:J.mtime,mode:J.mode,contents:H.contents};throw Error("node type not supported")},"loadLocalEntry"),storeLocalEntry:B((Z,H)=>{if(Q.isDir(H.mode))Q.mkdirTree(Z,H.mode);else if(Q.isFile(H.mode))Q.writeFile(Z,H.contents,{canOwn:!0});else throw Error("node type not supported");Q.chmod(Z,H.mode),Q.utime(Z,H.timestamp,H.timestamp)},"storeLocalEntry"),removeLocalEntry:B((Z)=>{var H=Q.stat(Z);Q.isDir(H.mode)?Q.rmdir(Z):Q.isFile(H.mode)&&Q.unlink(Z)},"removeLocalEntry"),loadRemoteEntry:B(async(Z)=>{if(Z.kind==="file"){let H=await Z.getFile();return{contents:new Uint8Array(await H.arrayBuffer()),mode:X.FILE_MODE,timestamp:new Date(H.lastModified)}}else{if(Z.kind==="directory")return{mode:X.DIR_MODE,timestamp:new Date};throw Error("unknown kind: "+Z.kind)}},"loadRemoteEntry"),storeRemoteEntry:B(async(Z,H,J)=>{let K=Z.get(z.dirname(H)),M=Q.isFile(J.mode)?await K.getFileHandle(z.basename(H),{create:!0}):await K.getDirectoryHandle(z.basename(H),{create:!0});if(M.kind==="file"){let V=await M.createWritable();await V.write(J.contents),await V.close()}Z.set(H,M)},"storeRemoteEntry"),removeRemoteEntry:B(async(Z,H)=>{await Z.get(z.dirname(H)).removeEntry(z.basename(H)),Z.delete(H)},"removeRemoteEntry"),reconcile:B(async(Z,H,J)=>{let K=0,M=[];Object.keys(H.entries).forEach(function($){let q=H.entries[$],U=J.entries[$];(!U||Q.isFile(q.mode)&&q.timestamp.getTime()>U.timestamp.getTime())&&(M.push($),K++)}),M.sort();let V=[];if(Object.keys(J.entries).forEach(function($){H.entries[$]||(V.push($),K++)}),V.sort().reverse(),!K)return;let D=H.type==="remote"?H.handles:J.handles;for(let $ of M){let q=z.normalize($.replace(Z.mountpoint,"/")).substring(1);if(J.type==="local"){let U=D.get(q),L0=await X.loadRemoteEntry(U);X.storeLocalEntry($,L0)}else{let U=X.loadLocalEntry($);await X.storeRemoteEntry(D,q,U)}}for(let $ of V)if(J.type==="local")X.removeLocalEntry($);else{let q=z.normalize($.replace(Z.mountpoint,"/")).substring(1);await X.removeRemoteEntry(D,q)}},"reconcile")};G.FS.filesystems.NATIVEFS_ASYNC=X}B(Z0,"initializeNativeFS");var S0=B(async(G)=>{let Q=[];async function W(X){for await(let Z of X.values())Q.push(Z),Z.kind==="directory"&&await W(Z)}B(W,"collect"),await W(G);let z=new Map;z.set(".",G);for(let X of Q){let Z=(await G.resolve(X)).join("/");z.set(Z,X)}return z},"getFsHandles"),w0=F0("AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECByECD2NyZWF0ZV9zZW50aW5lbAAAC2lzX3NlbnRpbmVsAAEKEwIHAPsBAPsbCwkAIAD7GvsUAAs="),E0=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&typeof navigator.maxTouchPoints<"u"&&navigator.maxTouchPoints>1)))try{let G=await WebAssembly.compile(w0);return await WebAssembly.instantiate(G)}catch(G){if(G instanceof WebAssembly.CompileError)return;throw G}}();async function z0(){let G=await E0;if(G)return G.exports;let Q=Symbol("error marker");return{create_sentinel:B(()=>Q,"create_sentinel"),is_sentinel:B((W)=>W===Q,"is_sentinel")}}B(z0,"getSentinelImport");function B0(G){let Q={config:G,runtimeEnv:Y},W={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Y0(G),print:G.stdout,printErr:G.stderr,onExit(z){W.exitCode=z},thisProgram:G._sysExecutable,arguments:G.args,API:Q,locateFile:B((z)=>G.indexURL+z,"locateFile"),instantiateWasm:$0(G.indexURL)};return W}B(B0,"createSettings");function H0(G){return function(Q){let W="/";try{Q.FS.mkdirTree(G)}catch(z){console.error(`Error occurred while making a home directory '${G}':`),console.error(z),console.error(`Using '${W}' for a home directory instead`),G=W}Q.FS.chdir(G)}}B(H0,"createHomeDirectory");function J0(G){return function(Q){Object.assign(Q.ENV,G)}}B(J0,"setEnvironment");function K0(G){return G?[async(Q)=>{Q.addRunDependency("fsInitHook");try{await G(Q.FS,{sitePackages:Q.API.sitePackages})}finally{Q.removeRunDependency("fsInitHook")}}]:[]}B(K0,"callFsInitHook");function M0(G){let Q=G.HEAPU32[G._Py_Version>>>2],W=Q>>>24&255,z=Q>>>16&255,X=Q>>>8&255;return[W,z,X]}B(M0,"computeVersionTuple");function V0(G){let Q=e(G);return async(W)=>{W.API.pyVersionTuple=M0(W);let[z,X]=W.API.pyVersionTuple;W.FS.mkdirTree("/lib"),W.API.sitePackages=`/lib/python${z}.${X}/site-packages`,W.FS.mkdirTree(W.API.sitePackages),W.addRunDependency("install-stdlib");try{let Z=await Q;W.FS.writeFile(`/lib/python${z}${X}.zip`,Z)}catch(Z){console.error("Error occurred while installing the standard library:"),console.error(Z)}finally{W.removeRunDependency("install-stdlib")}}}B(V0,"installStdlib");function Y0(G){let Q;return G.stdLibURL!=null?Q=G.stdLibURL:Q=G.indexURL+"python_stdlib.zip",[V0(Q),H0(G.env.HOME),J0(G.env),Z0,...K0(G.fsInit)]}B(Y0,"getFileSystemInitializationFuncs");function $0(G){if(typeof WasmOffsetConverter<"u")return;let{binary:Q,response:W}=w(G+"pyodide.asm.wasm"),z=z0();return function(X,Z){return async function(){X.sentinel=await z;try{let H;W?H=await WebAssembly.instantiateStreaming(W,X):H=await WebAssembly.instantiate(await Q,X);let{instance:J,module:K}=H;Z(J,K)}catch(H){console.warn("wasm instantiation failed!"),console.warn(H)}}(),{}}}B($0,"getInstantiateWasmFunc");var b0="0.29.2";function R(G){return G===void 0||G.endsWith("/")?G:G+"/"}B(R,"withTrailingSlash");var h=b0;async function j0(G={}){if(await y(),G.lockFileContents&&G.lockFileURL)throw Error("Can't pass both lockFileContents and lockFileURL");let Q=G.indexURL||await W0();if(Q=R(S(Q)),G.packageBaseUrl=R(G.packageBaseUrl),G.cdnUrl=R(G.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v${h}/full/`),!G.lockFileContents){let X=G.lockFileURL??Q+"pyodide-lock.json";G.lockFileContents=Q0(X),G.packageBaseUrl??=X0(X)}G.indexURL=Q,G.packageCacheDir&&(G.packageCacheDir=R(S(G.packageCacheDir)));let W={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:G.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:"02af97d1069c4309880e46f2948861ea1faae5dbb49c20d5d5970aa9ae912fd4"},z=Object.assign(W,G);return z.env.HOME??="/home/pyodide",z.env.PYTHONINSPECT??="1",z}B(j0,"initializeConfiguration");function C0(G){let Q=B0(G),W=Q.API;return W.lockFilePromise=Promise.resolve(G.lockFileContents),Q}B(C0,"createEmscriptenSettings");async function D0(G){if(typeof _createPyodideModule!="function"){let Q=`${G.indexURL}pyodide.asm.js`;await N(Q)}}B(D0,"loadWasmScript");async function O0(G,Q){if(!G._loadSnapshot)return;let W=await G._loadSnapshot,z=ArrayBuffer.isView(W)?W:new Uint8Array(W);return Q.noInitialRun=!0,Q.INITIAL_MEMORY=z.length,z}B(O0,"prepareSnapshot");async function T0(G){let Q=await _createPyodideModule(G);if(G.exitCode!==void 0)throw new Q.ExitStatus(G.exitCode);return Q}B(T0,"createPyodideModule");function q0(G,Q){let W=G.API;if(Q.pyproxyToStringRepr&&W.setPyProxyToStringMethod(!0),Q.convertNullToNone&&W.setCompatNullToNone(!0),Q.toJsLiteralMap&&W.setCompatToJsLiteralMap(!0),W.version!==h&&Q.checkAPIVersion)throw Error(`Pyodide version does not match: '${h}' <==> '${W.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);G.locateFile=(z)=>{throw z.endsWith(".so")?Error(`Failed to find dynamic library "${z}"`):Error(`Unexpected call to locateFile("${z}")`)}}B(q0,"configureAPI");function x0(G,Q,W){let z=G.API,X;return Q&&(X=z.restoreSnapshot(Q)),z.finalizeBootstrap(X,W._snapshotDeserializer)}B(x0,"bootstrapPyodide");async function A0(G,Q){let W=G._api;return W.sys.path.insert(0,""),W._pyodide.set_excepthook(),await W.packageIndexReady,W.initializeStreams(Q.stdin,Q.stdout,Q.stderr),G}B(A0,"finalizeSetup");async function g0(G={}){let Q=await j0(G),W=C0(Q);await D0(Q);let z=await O0(Q,W),X=await T0(W);q0(X,Q);let Z=x0(X,z,Q);return await A0(Z,Q)}B(g0,"loadPyodide");export{h as version,g0 as loadPyodide};
|
package/dist/pyrepl.esm.js
CHANGED
|
@@ -429,7 +429,7 @@ async def start_repl():
|
|
|
429
429
|
browser_console.term.write("\\r\\x1b[K") # Go to start, clear line
|
|
430
430
|
prompt = PS1 if len(lines) == 0 else PS2
|
|
431
431
|
browser_console.term.write(prompt + syntax_highlight(current_line))
|
|
432
|
-
`;var w=null,m=null,p=null,c={"catppuccin-mocha":{background:"#1e1e2e",foreground:"#cdd6f4",cursor:"#f5e0dc",cursorAccent:"#1e1e2e",selectionBackground:"#585b70",black:"#45475a",red:"#f38ba8",green:"#a6e3a1",yellow:"#f9e2af",blue:"#89b4fa",magenta:"#f5c2e7",cyan:"#94e2d5",white:"#bac2de",brightBlack:"#585b70",brightRed:"#f38ba8",brightGreen:"#a6e3a1",brightYellow:"#f9e2af",brightBlue:"#89b4fa",brightMagenta:"#f5c2e7",brightCyan:"#94e2d5",brightWhite:"#a6adc8",headerBackground:"#181825",headerTitle:"#6c7086",shadow:"0 4px 24px rgba(0, 0, 0, 0.3)"},"catppuccin-latte":{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"#acb0be",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#acb0be",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc",headerBackground:"#dce0e8",headerTitle:"#8c8fa1",shadow:"0 4px 24px rgba(0, 0, 0, 0.08)"}},i="catppuccin-mocha",h={copy:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',clear:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path></svg>'};function P(n){let e,r,t=n.dataset.themeConfig;if(t)try{e=JSON.parse(t),r="custom"}catch(_){console.warn("pyrepl-web: invalid data-theme-config JSON, falling back to default"),e=c[i],r=i}else if(r=n.dataset.theme||i,e=window.pyreplThemes?.[r]||c[r]||c[i],!window.pyreplThemes?.[r]&&!c[r])console.warn(`pyrepl-web: unknown theme "${r}", falling back to default`),r=i;let l=n.dataset.packages,o=l?l.split(",").map((_)=>_.trim()).filter(Boolean):[];return{theme:e,themeName:r,showHeader:n.dataset.header!=="false",showButtons:n.dataset.buttons!=="false",title:n.dataset.title||"python",packages:o,src:n.dataset.src||null,readonly:n.dataset.readonly==="true"}}async function E(){if(!w){let{loadPyodide:n}=await import("./chunk-
|
|
432
|
+
`;var w=null,m=null,p=null,c={"catppuccin-mocha":{background:"#1e1e2e",foreground:"#cdd6f4",cursor:"#f5e0dc",cursorAccent:"#1e1e2e",selectionBackground:"#585b70",black:"#45475a",red:"#f38ba8",green:"#a6e3a1",yellow:"#f9e2af",blue:"#89b4fa",magenta:"#f5c2e7",cyan:"#94e2d5",white:"#bac2de",brightBlack:"#585b70",brightRed:"#f38ba8",brightGreen:"#a6e3a1",brightYellow:"#f9e2af",brightBlue:"#89b4fa",brightMagenta:"#f5c2e7",brightCyan:"#94e2d5",brightWhite:"#a6adc8",headerBackground:"#181825",headerTitle:"#6c7086",shadow:"0 4px 24px rgba(0, 0, 0, 0.3)"},"catppuccin-latte":{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"#acb0be",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#acb0be",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc",headerBackground:"#dce0e8",headerTitle:"#8c8fa1",shadow:"0 4px 24px rgba(0, 0, 0, 0.08)"}},i="catppuccin-mocha",h={copy:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',clear:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path></svg>'};function P(n){let e,r,t=n.dataset.themeConfig;if(t)try{e=JSON.parse(t),r="custom"}catch(_){console.warn("pyrepl-web: invalid data-theme-config JSON, falling back to default"),e=c[i],r=i}else if(r=n.dataset.theme||i,e=window.pyreplThemes?.[r]||c[r]||c[i],!window.pyreplThemes?.[r]&&!c[r])console.warn(`pyrepl-web: unknown theme "${r}", falling back to default`),r=i;let l=n.dataset.packages,o=l?l.split(",").map((_)=>_.trim()).filter(Boolean):[];return{theme:e,themeName:r,showHeader:n.dataset.header!=="false",showButtons:n.dataset.buttons!=="false",title:n.dataset.title||"python",packages:o,src:n.dataset.src||null,readonly:n.dataset.readonly==="true"}}async function E(){if(!w){let{loadPyodide:n}=await import("./chunk-n46k5haq.js");w=n({indexURL:"https://cdn.jsdelivr.net/pyodide/v0.29.2/full/",stdout:(e)=>{if(p)p.write(e+`\r
|
|
433
433
|
`)},stderr:(e)=>{if(p)p.write(e+`\r
|
|
434
434
|
`)}})}return await w}function k(){if(!m)m=Promise.resolve(x);return m}function j(){if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",b);else b()}function q(){if(document.getElementById("pyrepl-styles"))return;let n=document.createElement("link");n.rel="stylesheet",n.href="https://cdn.jsdelivr.net/npm/@xterm/xterm/css/xterm.css",document.head.appendChild(n);let e=document.createElement("style");e.id="pyrepl-styles",e.textContent=`
|
|
435
435
|
.pyrepl {
|
package/dist/pyrepl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{(()=>{let
|
|
1
|
+
(()=>{(()=>{let f=document.currentScript,g=f?f.src:null;if(g){let b=document.createElement("link");b.rel="preload",b.as="fetch",b.href="https://cdn.jsdelivr.net/pyodide/v0.29.2/full/pyodide.asm.wasm",b.crossOrigin="anonymous",document.head.appendChild(b),import(g.replace("pyrepl.js","pyrepl.esm.js")).catch((j)=>{console.error("pyrepl-web: Failed to load module:",j)})}else console.error("pyrepl-web: Could not determine script URL")})();})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pyrepl-web",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"description": "An embeddable Python REPL powered by Pyodide",
|
|
5
5
|
"main": "dist/pyrepl.js",
|
|
6
6
|
"files": [
|
|
@@ -44,6 +44,6 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@xterm/xterm": "^6.0.0",
|
|
47
|
-
"pyodide": "^0.29.
|
|
47
|
+
"pyodide": "^0.29.2"
|
|
48
48
|
}
|
|
49
49
|
}
|