python-wasm
Advanced tools
@@ -72,7 +72,11 @@ "use strict"; | ||
| if (message.event == "service-worker-broken") { | ||
| document.body.innerHTML = | ||
| "<div style='margin:15px'>Refreshing page to active service worker.</div>"; | ||
| setTimeout(function () { | ||
| location.reload(); | ||
| // This is triggered by a single issue, and refreshing doesn't make sense. | ||
| // I'm going to log this for a while since it's maybe interesting. | ||
| console.log("There might be an issue with the service worker."); | ||
| /* document.body.innerHTML = | ||
| "<div style='margin:15px'>Refreshing page to activate service worker.</div>"; | ||
| setTimeout(() => { | ||
| location.reload(); | ||
| }, 2000); | ||
| */ | ||
| return; | ||
@@ -79,0 +83,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"import-browser.js","sourceRoot":"","sources":["../../src/wasm/import-browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkE;AAClE,iCAAsC;AACtC,wEAAwD;AACxD,sFAAqE;AAErE;IAA2B,gCAAY;IAIrC,sBAAY,MAAc;QAA1B,YACE,iBAAO,SAeR;QAdC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,GAAG,UAAC,EAAiB;gBAAT,OAAO,UAAA;YACjC,IAAI,OAAO,CAAC,KAAK,IAAI,uBAAuB,EAAE;gBAC5C,QAAQ,CAAC,IAAI,CAAC,SAAS;oBACrB,0EAA0E,CAAC;gBAC7E,UAAU,CAAC;oBACT,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO;aACR;YACD,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC;;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AArBD,CAA2B,qBAAY,GAqBtC;AAED;IAAkC,gCAA6B;IAA/D;;IAMA,CAAC;IALW,iCAAU,GAApB;QACE,gGAAgG;QAChG,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AAND,CAAkC,sCAA6B,GAM9D;AANY,oCAAY;AAQzB,SAA8B,uBAAuB,CACnD,UAAkB,EAClB,OAAqB;IAArB,wBAAA,EAAA,YAAqB;;;;YAEf,UAAU,GAAG,mBAAmB;gBACpC,CAAC,CAAC,0BAAsB;gBACxB,CAAC,CAAC,iCAA4B,CAAC;YACjC,sBAAO,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EAAC;;;CAC1D;AARD,0CAQC"} | ||
| {"version":3,"file":"import-browser.js","sourceRoot":"","sources":["../../src/wasm/import-browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkE;AAClE,iCAAsC;AACtC,wEAAwD;AACxD,sFAAqE;AAErE;IAA2B,gCAAY;IAIrC,sBAAY,MAAc;QAA1B,YACE,iBAAO,SAmBR;QAlBC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,SAAS,GAAG,UAAC,EAAiB;gBAAT,OAAO,UAAA;YACjC,IAAI,OAAO,CAAC,KAAK,IAAI,uBAAuB,EAAE;gBAC5C,0EAA0E;gBAC1E,kEAAkE;gBAClE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBAChE;;;;;kBAKE;gBACF,OAAO;aACR;YACD,KAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC;;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AAzBD,CAA2B,qBAAY,GAyBtC;AAED;IAAkC,gCAA6B;IAA/D;;IAMA,CAAC;IALW,iCAAU,GAApB;QACE,gGAAgG;QAChG,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACH,mBAAC;AAAD,CAAC,AAND,CAAkC,sCAA6B,GAM9D;AANY,oCAAY;AAQzB,SAA8B,uBAAuB,CACnD,UAAkB,EAClB,OAAqB;IAArB,wBAAA,EAAA,YAAqB;;;;YAEf,UAAU,GAAG,mBAAmB;gBACpC,CAAC,CAAC,0BAAsB;gBACxB,CAAC,CAAC,iCAA4B,CAAC;YACjC,sBAAO,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,EAAC;;;CAC1D;AARD,0CAQC"} |
@@ -58,8 +58,9 @@ "use strict"; | ||
| // we send "^C" to stdin when getting that signal. | ||
| try { | ||
| var request = this.request("read-stdin", { id: this.id }); | ||
| var request = this.request("read-stdin", { id: this.id }); | ||
| if (request.status == 200) { | ||
| return Buffer.from((_a = request.responseText) !== null && _a !== void 0 ? _a : ""); | ||
| } | ||
| catch (err) { | ||
| return Buffer.from("".concat(err, "\n")); | ||
| else { | ||
| // python will try again soon. | ||
| return Buffer.from(""); | ||
| } | ||
@@ -91,2 +92,4 @@ }; | ||
| // consuming lock for a while, since I don't know what else to do. This burns CPU, but stops DOS. | ||
| // OK, upon experimenting, it turns out this sort of thing happens every once in a while. | ||
| // In some cases, it can happen constantly, e.g., Firefox over http, so we do guard against it. | ||
| console.warn("service worker not working, so burning CPU to avoid DOS'ing the server -- ", err); | ||
@@ -93,0 +96,0 @@ var t0 = new Date().valueOf(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"io-using-service-worker.js","sourceRoot":"","sources":["../../../src/wasm/worker/io-using-service-worker.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"io-using-service-worker.js","sourceRoot":"","sources":["../../../src/wasm/worker/io-using-service-worker.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "python-wasm", | ||
| "version": "0.19.0", | ||
| "version": "0.19.2", | ||
| "description": "python-wasm -- Web Assembly Python for Node.js and the Browser", | ||
@@ -5,0 +5,0 @@ "main": "./dist/python/node.js", |
+4
-1
| # python\-wasm: WebAssembly CPython for Node.js and the browser | ||
| [Demo](https://python-wasm.cocalc.com/) | ||
| DEMOS: | ||
| - https://python-wasm.cocalc.com (uses Atomics) | ||
| - https://python-wasm.org (uses Service Workers) | ||
| See [the main repo](https://github.com/sagemathinc/python-wasm/blob/main/README.md) for more information. | ||
@@ -6,0 +9,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 3 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 3 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
11192384
0.25%6994
0.1%62
5.08%