mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
|
This is a collection of scripts for running a pyodide-based "sandbox" for
|
||
|
Grist.
|
||
|
|
||
|
I put "sandbox" in quotes since pyodide isn't built with sandboxing
|
||
|
in mind. It was written to run in a browser, where the browser does
|
||
|
sandboxing. I don't know how much of node's API ends up being exposed
|
||
|
to the "sandbox" - in previous versions of pyodide it seems the answer is
|
||
|
"a lot". See the back-and-forth between dalcde and hoodmane in:
|
||
|
https://github.com/pyodide/pyodide/issues/960
|
||
|
See specifically:
|
||
|
https://github.com/pyodide/pyodide/issues/960#issuecomment-752305257
|
||
|
I looked at hiwire and its treatment of js globals has changed a
|
||
|
lot. On the surface it looks like there is good control of what is
|
||
|
exposed, but there may be other routes.
|
||
|
|
||
|
Still, some wasm-based solution is likely to be helpful, whether from
|
||
|
pyodide or elsewhere, and this is good practice for that.
|
||
|
|
||
|
***
|
||
|
|
||
|
To run, we need specific versions of the Python packages that Grist uses
|
||
|
to be prepared. It should suffice to do:
|
||
|
|
||
|
```
|
||
|
make setup
|
||
|
```
|
||
|
|
||
|
In this directory. See the `Makefile` for other options.
|