Browse Source

chore: bump pyodide

Timothy J. Baek 1 year ago
parent
commit
a4748af822
4 changed files with 25 additions and 17 deletions
  1. 8 14
      package-lock.json
  2. 2 2
      package.json
  3. 15 1
      scripts/prepare-pyodide.js
  4. 0 0
      static/pyodide/pyodide-lock.json

+ 8 - 14
package-lock.json

@@ -29,8 +29,8 @@
 				"katex": "^0.16.9",
 				"katex": "^0.16.9",
 				"marked": "^9.1.0",
 				"marked": "^9.1.0",
 				"mermaid": "^10.9.1",
 				"mermaid": "^10.9.1",
-				"pyodide": "^0.26.0-alpha.4",
-				"socket.io-client": "^4.7.5",
+				"pyodide": "^0.26.1",
+				"socket.io-client": "^4.2.0",
 				"sortablejs": "^1.15.2",
 				"sortablejs": "^1.15.2",
 				"svelte-sonner": "^0.3.19",
 				"svelte-sonner": "^0.3.19",
 				"tippy.js": "^6.3.7",
 				"tippy.js": "^6.3.7",
@@ -2273,11 +2273,6 @@
 			"dev": true,
 			"dev": true,
 			"optional": true
 			"optional": true
 		},
 		},
-		"node_modules/base-64": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz",
-			"integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="
-		},
 		"node_modules/base64-js": {
 		"node_modules/base64-js": {
 			"version": "1.5.1",
 			"version": "1.5.1",
 			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
 			"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -7569,11 +7564,10 @@
 			}
 			}
 		},
 		},
 		"node_modules/pyodide": {
 		"node_modules/pyodide": {
-			"version": "0.26.0-alpha.4",
-			"resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.26.0-alpha.4.tgz",
-			"integrity": "sha512-Ixuczq99DwhQlE+Bt0RaS6Ln9MHSZOkbU6iN8azwaeorjHtr7ukaxh+FeTxViFrp2y+ITyKgmcobY+JnBPcULw==",
+			"version": "0.26.1",
+			"resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.26.1.tgz",
+			"integrity": "sha512-P+Gm88nwZqY7uBgjbQH8CqqU6Ei/rDn7pS1t02sNZsbyLJMyE2OVXjgNuqVT3KqYWnyGREUN0DbBUCJqk8R0ew==",
 			"dependencies": {
 			"dependencies": {
-				"base-64": "^1.0.0",
 				"ws": "^8.5.0"
 				"ws": "^8.5.0"
 			},
 			},
 			"engines": {
 			"engines": {
@@ -10408,9 +10402,9 @@
 			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
 			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
 		},
 		},
 		"node_modules/ws": {
 		"node_modules/ws": {
-			"version": "8.17.0",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
-			"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
+			"version": "8.17.1",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+			"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
 			"engines": {
 			"engines": {
 				"node": ">=10.0.0"
 				"node": ">=10.0.0"
 			},
 			},

+ 2 - 2
package.json

@@ -69,8 +69,8 @@
 		"katex": "^0.16.9",
 		"katex": "^0.16.9",
 		"marked": "^9.1.0",
 		"marked": "^9.1.0",
 		"mermaid": "^10.9.1",
 		"mermaid": "^10.9.1",
-		"pyodide": "^0.26.0-alpha.4",
-		"socket.io-client": "^4.7.5",
+		"pyodide": "^0.26.1",
+		"socket.io-client": "^4.2.0",
 		"sortablejs": "^1.15.2",
 		"sortablejs": "^1.15.2",
 		"svelte-sonner": "^0.3.19",
 		"svelte-sonner": "^0.3.19",
 		"tippy.js": "^6.3.7",
 		"tippy.js": "^6.3.7",

+ 15 - 1
scripts/prepare-pyodide.js

@@ -1,4 +1,6 @@
 const packages = [
 const packages = [
+	'micropip',
+	'packaging',
 	'requests',
 	'requests',
 	'beautifulsoup4',
 	'beautifulsoup4',
 	'numpy',
 	'numpy',
@@ -11,13 +13,25 @@ const packages = [
 ];
 ];
 
 
 import { loadPyodide } from 'pyodide';
 import { loadPyodide } from 'pyodide';
-import { writeFile, copyFile, readdir } from 'fs/promises';
+import { writeFile, readFile, copyFile, readdir, rmdir } from 'fs/promises';
 
 
 async function downloadPackages() {
 async function downloadPackages() {
 	console.log('Setting up pyodide + micropip');
 	console.log('Setting up pyodide + micropip');
 	const pyodide = await loadPyodide({
 	const pyodide = await loadPyodide({
 		packageCacheDir: 'static/pyodide'
 		packageCacheDir: 'static/pyodide'
 	});
 	});
+
+	const packageJson = JSON.parse(await readFile('package.json'));
+	const pyodideVersion = packageJson.dependencies.pyodide;
+
+	const pyodidePackageJson = JSON.parse(await readFile('static/pyodide/package.json'));
+	const pyodidePackageVersion = pyodidePackageJson.version;
+
+	if (pyodideVersion.replace('^', '') !== pyodidePackageVersion) {
+		console.log('Pyodide version mismatch, removing static/pyodide directory');
+		await rmdir('static/pyodide', { recursive: true });
+	}
+
 	await pyodide.loadPackage('micropip');
 	await pyodide.loadPackage('micropip');
 	const micropip = pyodide.pyimport('micropip');
 	const micropip = pyodide.pyimport('micropip');
 	console.log('Downloading Pyodide packages:', packages);
 	console.log('Downloading Pyodide packages:', packages);

File diff suppressed because it is too large
+ 0 - 0
static/pyodide/pyodide-lock.json


Some files were not shown because too many files changed in this diff