feat: add Python support with Pyodide integration

GitOrigin-RevId: 382ce102c43050aace691dd89d825a94abf347a8
This commit is contained in:
Domagoj Kriskovic
2026-03-09 09:05:34 +00:00
committed by Copybot
parent bb5d90a332
commit 138f7f8023
12 changed files with 920 additions and 1 deletions
+32
View File
@@ -62,6 +62,7 @@ function getModuleDirectory(moduleName) {
const mathjaxDir = getModuleDirectory('mathjax')
const pdfjsDir = getModuleDirectory('pdfjs-dist')
const dictionariesDir = getModuleDirectory('@overleaf/dictionaries')
const pyodideDir = getModuleDirectory('pyodide')
const vendorDir = path.join(__dirname, 'frontend/js/vendor')
@@ -407,6 +408,37 @@ module.exports = {
toType: 'dir',
context: `${dictionariesDir}/dictionaries`,
},
// Copy Pyodide runtime assets from npm package for local serving.
{
from: 'pyodide.mjs',
to: 'js/libs/pyodide',
toType: 'dir',
context: pyodideDir,
},
{
from: 'pyodide.asm.js',
to: 'js/libs/pyodide',
toType: 'dir',
context: pyodideDir,
},
{
from: 'pyodide.asm.wasm',
to: 'js/libs/pyodide',
toType: 'dir',
context: pyodideDir,
},
{
from: 'python_stdlib.zip',
to: 'js/libs/pyodide',
toType: 'dir',
context: pyodideDir,
},
{
from: 'pyodide-lock.json',
to: 'js/libs/pyodide',
toType: 'dir',
context: pyodideDir,
},
// Copy CMap files (used to provide support for non-Latin characters),
// wasm, ICC profiles, fonts and images from pdfjs-dist package to build output.
{