This package is an internal support package for the YoWASP project. It handles interfacing with the WebAssembly runtime and the supported operating systems. Do not depend on this package in your own code.
The YoWASP runtime can be configured through environment variables:
YoWASP ships application code as architecture-independent WebAssembly and compiles it to architecture-specific machine code on first run. To make subsequent runs faster, it saves the generated machine code to a cache, which by default is located at %LocalAppData%\YoWASP\Cache
(on Windows), $HOME/.cache/YoWASP
(on Linux), or $HOME/Library/Caches/YoWASP
(on macOS). This location can be customized by setting the YOWASP_CACHE_DIR
environment variable.
YoWASP isolates the applications from the underlying operating system such that only filesystem access is possible. By default, the application can access the entire filesystem and host paths can be used unmodified (however on Windows, all paths must use /
as the path separator). If the environment variable YOWASP_MOUNT
is set, then the application can only access the paths specified in that environment variable and their descendants. Paths above the ones specified cannot be accessed, even using extra ..
segments.
The syntax for specifying mounts is YOWASP_MOUNT=<mountpoint1>=<path1>[:<mountpoint2>=<path2>[:...]]
. That is, mounts are specified as <mountpoint>=<path>
pairs separated by :
symbols, where operating system path <path>
becomes accesible by the application at <mountpoint>
.
This package is covered by the ISC license.