mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
20 lines
584 B
TypeScript
20 lines
584 B
TypeScript
import { dirname } from 'node:path';
|
|
import type { PyodideInterface } from 'pyodide';
|
|
|
|
let pyodideInstance: PyodideInterface | undefined;
|
|
|
|
export async function LoadPyodide(packageCacheDir: string): Promise<PyodideInterface> {
|
|
if (pyodideInstance === undefined) {
|
|
const { loadPyodide } = await import('pyodide');
|
|
const indexURL = dirname(require.resolve('pyodide'));
|
|
pyodideInstance = await loadPyodide({ indexURL, packageCacheDir });
|
|
|
|
await pyodideInstance.runPythonAsync(`
|
|
from _pyodide_core import jsproxy_typedict
|
|
from js import Object
|
|
`);
|
|
}
|
|
|
|
return pyodideInstance;
|
|
}
|