wasm-idle 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +48 -11
- package/dist/playground/applicationAssets.js +18 -0
- package/dist/playground/assets.d.ts +70 -0
- package/dist/playground/assets.js +120 -0
- package/dist/playground/cachedClang.js +43 -5
- package/dist/playground/clang.d.ts +5 -0
- package/dist/playground/clang.js +96 -0
- package/dist/playground/clangWorkerProtocol.d.ts +12 -1
- package/dist/playground/fennel.d.ts +9 -0
- package/dist/playground/fennel.js +30 -0
- package/dist/playground/fennelBootstrap.d.ts +31 -0
- package/dist/playground/fennelBootstrap.js +118 -0
- package/dist/playground/grain.d.ts +9 -0
- package/dist/playground/grain.js +127 -0
- package/dist/playground/hy.d.ts +21 -0
- package/dist/playground/hy.js +24 -0
- package/dist/playground/index.d.ts +1 -1
- package/dist/playground/index.js +49 -0
- package/dist/playground/lua.d.ts +19 -0
- package/dist/playground/lua.js +64 -39
- package/dist/playground/objectivec.d.ts +3 -1
- package/dist/playground/objectivec.js +6 -2
- package/dist/playground/options.js +1 -1
- package/dist/playground/postgresql.d.ts +36 -0
- package/dist/playground/postgresql.js +543 -0
- package/dist/playground/python.d.ts +5 -0
- package/dist/playground/python.js +13 -0
- package/dist/playground/rescript.d.ts +5 -0
- package/dist/playground/rescript.js +58 -0
- package/dist/playground/rescriptPreflight.d.ts +26 -0
- package/dist/playground/rescriptPreflight.js +381 -0
- package/dist/playground/staticRuntimeModuleVersion.d.ts +1 -1
- package/dist/playground/staticRuntimeModuleVersion.js +1 -1
- package/dist/playground/staticRuntimePreflightExecute.d.ts +2 -1
- package/dist/playground/staticRuntimePreflightExecute.js +9 -0
- package/dist/playground/staticRuntimePreflightProtocol.d.ts +1 -1
- package/dist/playground/v.d.ts +46 -0
- package/dist/playground/v.js +703 -0
- package/dist/playground/wasmFennelVersion.d.ts +23 -0
- package/dist/playground/wasmFennelVersion.js +16 -0
- package/dist/playground/wasmGrainVersion.d.ts +24 -0
- package/dist/playground/wasmGrainVersion.js +25 -0
- package/dist/playground/wasmHyVersion.d.ts +7 -0
- package/dist/playground/wasmHyVersion.js +15 -0
- package/dist/playground/wasmReScriptVersion.d.ts +20 -0
- package/dist/playground/wasmReScriptVersion.js +20 -0
- package/dist/playground/worker/cachedClangCompile.js +37 -4
- package/dist/playground/worker/clang.js +35 -7
- package/dist/playground/worker/lua.js +48 -11
- package/dist/playground/worker/postgresql.d.ts +1 -0
- package/dist/playground/worker/postgresql.js +205 -0
- package/dist/playground/worker/python.js +106 -9
- package/dist/playground/worker/staticRuntimePreflight.js +2 -1
- package/dist/playground/worker/v.d.ts +1 -0
- package/dist/playground/worker/v.js +106 -0
- package/package.json +18 -7
package/README.md
CHANGED
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
Executes C, C++, Objective-C, Fortran, COBOL, Python, Java, Rust, Go, D, C#, F#, VB.NET, Elixir, Erlang, Prolog,
|
|
6
|
-
Gleam, Perl, Tcl, AWK, Pascal, Forth, J, BQN, Janet, Julia, Nim, Bash, ClojureScript, OCaml, JavaScript, TypeScript,
|
|
7
|
-
AssemblyScript, WAT, WASM, Lua, Zig, Scheme, Ruby, Haskell, R, Octave, SQLite, DuckDB,
|
|
8
|
-
and PHP code.
|
|
5
|
+
Executes C, C++, Objective-C, Objective-C++, Fortran, COBOL, V, Python, Java, Rust, Go, D, C#, F#, VB.NET, Elixir, Erlang, Prolog,
|
|
6
|
+
Gleam, Grain, Perl, Tcl, AWK, Pascal, Forth, J, BQN, Janet, Julia, Nim, Bash, ClojureScript, ReScript, OCaml, JavaScript, TypeScript,
|
|
7
|
+
AssemblyScript, WAT, WASM, Lua, Fennel, Zig, Scheme, Ruby, Haskell, R, Octave, SQLite, DuckDB,
|
|
8
|
+
PostgreSQL, and PHP code.
|
|
9
9
|
|
|
10
10
|
Experimental LFortran execution is available separately from f2c Fortran; see
|
|
11
11
|
[the LFortran consumer contract and local setup](docs/lfortran.md).
|
|
12
12
|
|
|
13
|
+
V runs the real V 0.5.2 compiler in the browser and compiles its C output with the shared
|
|
14
|
+
llvm-core Clang host; see [the V browser integration](docs/v-browser.md).
|
|
15
|
+
|
|
13
16
|
The browser-side C-family host is provided by [`@wasm-idle/llvm-core`](packages/llvm-core).
|
|
14
17
|
Compiler source pins, patches, and reproducible asset builds live in
|
|
15
18
|
[`seo-rii/wasm-llvm`](https://github.com/seo-rii/wasm-llvm); wasm-idle loads the generated
|
|
@@ -40,7 +43,9 @@ debug runtime; the remaining debug-enabled languages retain wasm-idle's trace co
|
|
|
40
43
|
| C | @wasm-idle/llvm-core / Clang WASI | Yes | clangd | LLDB |
|
|
41
44
|
| C++ | @wasm-idle/llvm-core / Clang WASI | Yes | clangd | LLDB |
|
|
42
45
|
| Objective-C | GNUstep libobjc2 + @wasm-idle/llvm-core | Yes | clangd | Trace |
|
|
46
|
+
| Objective-C++ | GNUstep libobjc2 + @wasm-idle/llvm-core | Yes | clangd | - |
|
|
43
47
|
| Python | Pyodide | Yes | Python LSP | Trace |
|
|
48
|
+
| Hy | Hy 1.3.1 on Pyodide | Yes | syntax | - |
|
|
44
49
|
| Java | TeaVM | Yes | syntax | - |
|
|
45
50
|
| Rust | wasm-rust / browser rustc | Yes | rustc diagnostics | LLDB |
|
|
46
51
|
| Go | wasm-go / browser Go compiler | Yes | compiler diagnostics | Trace |
|
|
@@ -52,6 +57,7 @@ debug runtime; the remaining debug-enabled languages retain wasm-idle's trace co
|
|
|
52
57
|
| Erlang | AtomVM / Popcorn | Yes | syntax | - |
|
|
53
58
|
| Prolog | SWI-Prolog WASM worker | Yes | syntax | - |
|
|
54
59
|
| Gleam | Gleam precompiled browser runtime | Yes | compiler diagnostics | - |
|
|
60
|
+
| Grain | Grain 0.7.2 js_of_ocaml compiler + WASI | Yes | compiler diagnostics | - |
|
|
55
61
|
| Perl | Perl WASM worker | Yes | syntax | - |
|
|
56
62
|
| Tcl | Wacl Tcl WASM worker | Yes | syntax | - |
|
|
57
63
|
| AWK | GoAWK WASM worker | Yes | syntax | - |
|
|
@@ -64,6 +70,7 @@ debug runtime; the remaining debug-enabled languages retain wasm-idle's trace co
|
|
|
64
70
|
| Nim | Nim 2.2.4 WASM + clang/lld WASM | Yes | syntax | - |
|
|
65
71
|
| Bash | GNU Bash WASIX / Wasmer SDK | Yes | syntax | - |
|
|
66
72
|
| ClojureScript | cljs.js self-hosted compiler | Yes | syntax | - |
|
|
73
|
+
| ReScript | ReScript 12.3.1 compiler (js_of_ocaml) | Yes | compiler diagnostics | - |
|
|
67
74
|
| TinyGo | wasm-tinygo | Yes | syntax | - |
|
|
68
75
|
| OCaml | wasm-of-js-of-ocaml / js_of_ocaml | Yes | syntax | - |
|
|
69
76
|
| JavaScript | wasm-typescript / TypeScript service | Yes | TypeScript LSP | - |
|
|
@@ -72,6 +79,7 @@ debug runtime; the remaining debug-enabled languages retain wasm-idle's trace co
|
|
|
72
79
|
| WAT | WABT | Yes | WAT LSP | - |
|
|
73
80
|
| WASM | Browser WebAssembly + WASI shim | Yes | syntax | - |
|
|
74
81
|
| Lua | Wasmoon | Yes | syntax | - |
|
|
82
|
+
| Fennel | fennel.lua on Wasmoon | Yes | syntax | - |
|
|
75
83
|
| Zig | zig_small.wasm | Yes | syntax | - |
|
|
76
84
|
| Scheme | Puppy Scheme / wasm-lisp | Yes | syntax | - |
|
|
77
85
|
| Ruby | CRuby WASI | Yes | syntax | - |
|
|
@@ -79,10 +87,12 @@ debug runtime; the remaining debug-enabled languages retain wasm-idle's trace co
|
|
|
79
87
|
| LFortran | LFortran LLVM evaluator (experimental) | Yes | compiler diagnostics | - |
|
|
80
88
|
| Fortran | f2c + @wasm-idle/llvm-core | Yes | Fortran LSP | - |
|
|
81
89
|
| COBOL | GnuCOBOL 3.2 + @wasm-idle/llvm-core | Yes | syntax | - |
|
|
90
|
+
| V | V 0.5.2 + @wasm-idle/llvm-core | Yes | syntax | - |
|
|
82
91
|
| R | WebR | Yes | syntax | - |
|
|
83
92
|
| Octave | wasm-octave | Yes | syntax | - |
|
|
84
93
|
| DuckDB | DuckDB-Wasm | Files | DuckDB LSP | - |
|
|
85
94
|
| SQLite | sql.js | n/a | syntax | - |
|
|
95
|
+
| PostgreSQL | PostgreSQL 18 / PGlite | Files | syntax | - |
|
|
86
96
|
| PHP | PHP 8.4 / php-wasm | Yes | syntax | - |
|
|
87
97
|
|
|
88
98
|
## Browser LLDB debug runtime
|
|
@@ -225,10 +235,12 @@ when they exist.
|
|
|
225
235
|
| Language / IDs | Package/version base | Execution defaults / flags | Customization |
|
|
226
236
|
| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
227
237
|
| C3<br>`C3` | wasm-llvm/c3-browser: C3 0.8.3 / LLVM 22.1.8 | Verified c3c and builtin LLD compile real C3 in a fresh browser Worker; UTF-8 env.readByte/env.writeByte ABI and exported main; std::io and WASI unavailable | `runtimeAssets.c3.baseUrl`, `stdin`, `activePath`, `workspaceFiles`; fixed compiler flags and bounded Wasm memories |
|
|
228
|
-
| C<br>`C` | @wasm-idle/llvm-core@1.0.
|
|
229
|
-
| C++<br>`CPP` | @wasm-idle/llvm-core@1.0.
|
|
230
|
-
| Objective-C<br>`OBJC` | GNUstep libobjc2 v2.3 assets from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.
|
|
238
|
+
| C<br>`C` | @wasm-idle/llvm-core@1.0.9 / Clang 22.1.8 WASI sysroot from the `wasm-llvm` producer | `clang` for `wasm32-wasi`; default `-std=gnu11`; LLDB mode compiles untouched source with embedded DWARF at `-g -O0` and runs it in WAMR; normal runs still use the browser WASI host; supports `stdin` and `programArgs` | `runtimeAssets.clang.baseUrl`/`loader` or `rootUrl`; `compileArgs`, `programArgs`, `cVersion`, `activePath`, `workspaceFiles`, `debugMode`, `breakpoints`, `pauseOnEntry` |
|
|
239
|
+
| C++<br>`CPP` | @wasm-idle/llvm-core@1.0.9 / Clang 22.1.8 WASI sysroot from the `wasm-llvm` producer | `clang++` for `wasm32-wasi`; default `-std=gnu++20`; LLDB mode compiles untouched source with embedded DWARF at `-g -O0` and runs it in WAMR; normal runs still use the browser WASI host; supports `stdin` and `programArgs` | `runtimeAssets.clang.baseUrl`/`loader` or `rootUrl`; `compileArgs`, `programArgs`, `cppVersion`, `activePath`, `workspaceFiles`, `debugMode`, `breakpoints`, `pauseOnEntry` |
|
|
240
|
+
| Objective-C<br>`OBJC` | GNUstep libobjc2 v2.3 assets from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.9 | `clang -x objective-c -fobjc-runtime=gnustep-2.0 -fblocks` for `wasm32-wasi`; links `libobjc.a`, `libgnustep-base.a`, and `libffi.a` when Foundation is imported; Foundation headers are inlined from `foundation-headers.json`; includes a constructor wrapper for Objective-C class registration; auto-compiles `.m`/`.mm`/`.c` workspace files; trace debug instruments active source and uses wasm-idle controls; supports `stdin` and `programArgs`; large Objective-C assets may be served as gzip-only `.gz` files through the service worker or worker fallback | `runtimeAssets.objectivec.baseUrl`/`libobjcUrl`/`headersUrl`/`libgnustepBaseUrl`/`libgnustepBaseObjectUrl`/`foundationHeadersUrl`/`libffiUrl` or `PUBLIC_WASM_OBJECTIVEC_*`; `runtimeAssets.clang.baseUrl`/`loader` for the clang toolchain; `activePath`, `workspaceFiles`, `compileArgs`, `debug`, `breakpoints`, `pauseOnEntry` |
|
|
241
|
+
| Objective-C++<br>`OBJECTIVECXX` | Same GNUstep libobjc2 v2.3 + libc++ assets as Objective-C from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.9; no extra compiler assets | `clang -x objective-c++ -std=gnu++20 -fobjc-runtime=gnustep-2.0 -fblocks` for `wasm32-wasi` with libc++ headers; active file defaults to `main.mm`; links `libobjc.a` (plus GNUstep Base and `libffi.a` when Foundation is imported); auto-compiles `.mm`/`.m`/`.c` workspace files; supports `stdin` and `programArgs`; trace debugging is not supported | Shares `runtimeAssets.objectivec` and `runtimeAssets.clang` with Objective-C; `activePath`, `workspaceFiles`, `compileArgs`, `programArgs` |
|
|
231
242
|
| Python<br>`PYTHON3` | static ESM `static/pyodide/pyodide.mjs` / pyodide@0.29.3 | loads `pyodide.mjs`, `pyodide.asm.js`, `pyodide.asm.wasm`, and `python_stdlib.zip` from the configured static asset tree on demand; supports `stdin`, workspace files, and trace debugging | `runtimeAssets.python.baseUrl`/`loader` or `rootUrl`; `stdin`, `activePath`, `workspaceFiles`, `debug`, `breakpoints`, `pauseOnEntry`, `debugPath` |
|
|
243
|
+
| Hy<br>`HY` | Hy 1.3.1 + funcparserlib 1.0.1 pure-Python wheels on pyodide@0.29.3 | receipt-verifies the bundled wheels, unpacks them into Pyodide site-packages, and compiles Hy with `hy.compiler.hy_compile`; `(input)`/`(print)` share the Python stdin/stdout bridge; no debugger or automatic package loading | `runtimeAssets.hy.baseUrl` or `PUBLIC_WASM_HY_BASE_URL` plus the Python runtime assets; `stdin`, `activePath` |
|
|
232
244
|
| Java<br>`JAVA` | @wasm-idle/runtime-teavm@0.0.0 / TeaVM compiler assets | `compiler.wasm` compiles Java to browser WASM/JS; supports `stdin` and `programArgs` | `runtimeAssets.java.baseUrl`/`loader` or `rootUrl` |
|
|
233
245
|
| Rust<br>`RUST` | wasm-rust@0.1.0 / rust-1.99.0-browser-integrated-v1 + integrated LLVM/LLD 22.1.8 from the `wasm-llvm` producer; exact rustc/LLVM provenance is recorded for LLDB compatibility | browser host `wasm32-wasip1-threads`; default target `wasm32-wasip1`, selectable `wasm32-wasip1`, `wasm32-wasip2`, `wasm32-wasip3`; LLDB mode is currently limited to `wasm32-wasip1` and emits embedded DWARF with `-C debuginfo=2 -C opt-level=0`; normal Preview 1/2/3 execution remains unchanged; supports `stdin` and `programArgs` | `runtimeAssets.rust.compilerUrl`, `runtimeAssets.rust.debugModuleUrl`, or `PUBLIC_WASM_RUST_COMPILER_URL`; `rootUrl`, `rustTargetTriple`, `programArgs`, `debugMode`; compiler requests accept `edition`, `crateType`, `extendedTimeout`, `log`, and `onProgress`; runtime manifest controls compiler memory, timeout, and shared workspace size |
|
|
234
246
|
| Go<br>`GO` | wasm-go@0.1.0 / go1.26.1 | default target `wasip1/wasm`; selectable `wasip1/wasm`, `wasip2/wasm`, `wasip3/wasm`, `js/wasm`; supports `stdin` and `programArgs` | `runtimeAssets.go.compilerUrl` or `PUBLIC_WASM_GO_COMPILER_URL`; `goTarget`, `programArgs` |
|
|
@@ -240,6 +252,7 @@ when they exist.
|
|
|
240
252
|
| Erlang<br>`ERLANG` | wasm-elixir asset bundle / @swmansion/popcorn@0.2.2 | Popcorn/AtomVM bundle `bundle.avm`; supports `stdin` | `runtimeAssets.erlang.bundleUrl` or `PUBLIC_WASM_ERLANG_BUNDLE_URL`; falls back to Elixir bundle URL |
|
|
241
253
|
| Prolog<br>`PROLOG` | swipl-wasm@8.0.1 synced into `static/wasm-prolog` | static worker runs SWI-Prolog; supports `stdin` and `programArgs` | `runtimeAssets.prolog.baseUrl`/`runtimeAssets.prolog.workerUrl` or `PUBLIC_WASM_PROLOG_BASE_URL`/`PUBLIC_WASM_PROLOG_WORKER_URL`; `programArgs`, `activePath`, `workspaceFiles` |
|
|
242
254
|
| Gleam<br>`GLEAM` | @live-codes/gleam-precompiled@0.5.0 static worker | Gleam worker compiles/runs browser output with source manifest; supports `stdin` | `runtimeAssets.gleam.baseUrl`/`workerUrl`/`manifestUrl` or `PUBLIC_WASM_GLEAM_*`; `programArgs`, `workspaceFiles` |
|
|
255
|
+
| Grain<br>`GRAIN` | grain-lang/grain v0.7.2 release: upstream js_of_ocaml grainc.bc.js + @grain/stdlib 0.7.2 (precompiled .gro) | Verified upstream grainc compiles `.gr` workspace files to WASI in a fresh browser Worker; stdio-only WASI host with streaming `stdin` | `runtimeAssets.grain.baseUrl` or `PUBLIC_WASM_GRAIN_BASE_URL`; `stdin`, `programArgs`, `activePath`, `workspaceFiles`; Wasm memory bounded by `limits.maxWasmMemoryBytes` |
|
|
243
256
|
| Perl<br>`PERL` | WebPerl v0.09-beta (webperl_prebuilt_v0.09-beta.zip) | host-verifies the manifest, stored assets, logical hashes, and profile-bound one-shot runner before executing `emperl`; supports `stdin` and `programArgs` | explicit `runtimeAssets.perl.baseUrl`/`workerUrl`/`manifestUrl` overrides require one complete profile-and-runner receipt bundle; URL-only `PUBLIC_WASM_PERL_*` overrides fail closed; `programArgs`, `activePath`, `workspaceFiles` |
|
|
244
257
|
| Tcl<br>`TCL` | Wacl Tcl 2017-05-29 (wacl.zip) | host-verifies the manifest, stored assets, logical hashes, and profile-bound one-shot runner before executing Wacl Tcl; supports `stdin` and `programArgs` | bundled mirrors may set `runtimeAssets.tcl.baseUrl`/`workerUrl`/`manifestUrl` or `PUBLIC_WASM_TCL_BASE_URL`/`PUBLIC_WASM_TCL_WORKER_URL`; custom executable bytes require one complete profile-and-runner receipt bundle; `programArgs`, `activePath`, `workspaceFiles` |
|
|
245
258
|
| AWK<br>`AWK` | GoAWK v1.31.0 / go1.25.3 | static worker runs `goawk.wasm`; supports `stdin` and `programArgs` | `runtimeAssets.awk.baseUrl`/`runtimeAssets.awk.workerUrl` or `PUBLIC_WASM_AWK_BASE_URL`/`PUBLIC_WASM_AWK_WORKER_URL`; `programArgs`, `activePath`, `workspaceFiles` |
|
|
@@ -252,6 +265,7 @@ when they exist.
|
|
|
252
265
|
| Nim<br>`NIM` | Nim 2.2.4 / benagastov Nim-WASM-Compiler with clang/lld WASM | host-verifies the manifest, eight stored assets, logical hashes, and profile-bound one-shot runner before compiling Nim to C and linking with clang/lld WASM in a disposable worker; supports `stdin`, `programArgs`, and `activePath` | explicit `runtimeAssets.nim.baseUrl`/`workerUrl`/`manifestUrl` overrides require one complete profile-and-runner receipt bundle; URL-only `PUBLIC_WASM_NIM_*` overrides fail closed; `programArgs`, `activePath` |
|
|
253
266
|
| Bash<br>`BASH` | @wasm-idle/runtime-bash@0.1.0 / GNU Bash WASIX + receipt-pinned @wasmer/sdk@0.9.0 profile | host-verifies one profile manifest, the stored SDK JavaScript, Wasmer Wasm, and WEBc before starting a fixed worker generation with no runtime-asset fetches; invokes `bash -c <code> <activePath> ...programArgs` and supports `stdin`, `programArgs`, `activePath`, and `workspaceFiles` | `rootUrl` mirrors reuse the bundled profile; explicit `runtimeAssets.bash.baseUrl`/`manifestUrl`/`moduleUrl`/`wasmerWasmUrl`/`webcUrl` overrides require one complete profile; `workerUrl` is rejected; `stdin`, `programArgs`, `activePath`, `workspaceFiles` |
|
|
254
267
|
| ClojureScript<br>`CLOJURESCRIPT` | @wasm-idle/runtime-clojurescript@0.1.0 / ClojureScript 1.12.134 | static worker compiles and evaluates with the official `cljs.js` self-hosted compiler; supports `stdin`, `programArgs`, `activePath`, and `workspaceFiles` | `runtimeAssets.clojurescript.baseUrl`/`runtimeAssets.clojurescript.workerUrl` or `PUBLIC_WASM_CLOJURESCRIPT_BASE_URL`/`PUBLIC_WASM_CLOJURESCRIPT_WORKER_URL`; `programArgs`, `activePath`, `workspaceFiles` |
|
|
268
|
+
| ReScript<br>`RESCRIPT` | upstream ReScript 12.3.1 playground `compiler.js` + `compiler-builtins/cmij.js` + `@rescript/runtime@12.3.1` | static worker compiles `Main.res` to CommonJS with the official js_of_ocaml ReScript compiler, then runs it against the upstream stdlib runtime; stdin via `fs.readLineSync(0)`/`fs.readFileSync(0)`; compiler errors/warnings become editor diagnostics; supports `programArgs` | `runtimeAssets.rescript.baseUrl`/`runtimeAssets.rescript.workerUrl` or `PUBLIC_WASM_RESCRIPT_BASE_URL`/`PUBLIC_WASM_RESCRIPT_WORKER_URL`; `programArgs`, `activePath`, `workspaceFiles` |
|
|
255
269
|
| TinyGo<br>`TINYGO` | wasm-tinygo@0.0.0 / upstream TinyGo 0.40.1 browser toolchain | receipt-verifies and runs upstream `cmd/go` plus TinyGo in a disposable capped Worker; targets `wasip1`; supports `stdin`, `programArgs`, `workspaceFiles`, hosted C++ without exceptions/RTTI, and offline `vendor/modules.txt` | `runtimeAssets.tinygo.moduleUrl`/`assetLoader`; `PUBLIC_WASM_TINYGO_MODULE_URL`, execution/workspace resource limits, `programArgs` |
|
|
256
270
|
| OCaml<br>`OCAML` | wasm-of-js-of-ocaml@0.1.0 / js_of_ocaml + wasm_of_ocaml | default backend `wasm`; selectable `wasm`, `js`; `ocamlWasmBinaryenMode` `fast`, `full`; supports `stdin`; outer module and manifest are size/SHA-256 verified before use | `runtimeAssets.ocaml.moduleUrl`/`manifestUrl` plus `moduleReceipt`/`manifestReceipt` for a custom generation, or `PUBLIC_WASM_OCAML_*` for a mirror of the bundled generation; `ocamlBackend` |
|
|
257
271
|
| JavaScript<br>`JAVASCRIPT` | wasm-typescript@0.1.0 / @swc/wasm-typescript@1.15.33 | TypeScript service transpiles JS/TS and runs in browser sandbox; supports `stdin` and `programArgs` | `runtimeAssets.typescript.moduleUrl`/`libUrl` or `PUBLIC_WASM_TYPESCRIPT_MODULE_URL` |
|
|
@@ -260,17 +274,20 @@ when they exist.
|
|
|
260
274
|
| WAT<br>`WAT` | wasm-wat@0.1.0 / wabt@1.0.39 | WABT parses WAT to WASM then runs through WASI shim; supports `stdin` and `programArgs` | `runtimeAssets.wat.moduleUrl` or `PUBLIC_WASM_WAT_MODULE_URL`; `programArgs` |
|
|
261
275
|
| WASM<br>`WASM` | Browser WebAssembly + @bjorn3/browser_wasi_shim@0.4.2 | loads provided WASM bytes and executes with WASI preview1 imports; supports `stdin` and `programArgs` | `programArgs`, `stdin`, `activePath` |
|
|
262
276
|
| Lua<br>`LUA` | wasm-lua@0.1.0 / wasmoon@1.16.0 | Wasmoon Lua VM; supports `stdin` and `programArgs` | `runtimeAssets.lua.moduleUrl` or `PUBLIC_WASM_LUA_MODULE_URL`; `programArgs` |
|
|
277
|
+
| Fennel<br>`FENNEL` | static wasm-fennel `fennel-1.6.1.lua.gz` (official Fennel 1.6.1) on wasm-lua@0.1.0 | receipt-verified `fennel.lua` compiler evaluated by the Wasmoon Lua VM; supports `stdin` and `programArgs` | `runtimeAssets.fennel.compilerUrl` or `PUBLIC_WASM_FENNEL_COMPILER_URL` plus the Lua module URL; `programArgs` |
|
|
263
278
|
| Zig<br>`ZIG` | static wasm-zig assets / `zig_small.wasm` + `std.tar.gz` | native gzip delivery for the tar standard library; default target `wasm64-wasi`; Zig compile args are appended; supports `stdin`, `compileArgs`, `programArgs` | `runtimeAssets.zig.compilerUrl`/`stdlibUrl` or `PUBLIC_WASM_ZIG_*`; `zigTargetTriple`, `activePath`, `workspaceFiles` |
|
|
264
279
|
| Scheme<br>`LISP` | wasm-lisp@0.1.0 / Puppy Scheme WASM component | receipt-verified Puppy Scheme compiler/runtime; supports `stdin` and `programArgs` | `runtimeAssets.lisp.{moduleUrl,manifestUrl,manifestFingerprint}` or `PUBLIC_WASM_LISP_{MODULE_URL,MANIFEST_URL,MANIFEST_FINGERPRINT}`; `programArgs` |
|
|
265
280
|
| Ruby<br>`RUBY` | receipt-pinned `static/wasm-ruby` profile produced from @ruby/3.4-wasm-wasi@2.9.3-2.9.4 + @ruby/wasm-wasi@2.9.3-2.9.4 | host-verifies the manifest, canonical stored module and gzip bytes, and logical WASM before transferring three owned buffers to a no-fetch CRuby 3.4 worker; supports `stdin`, `programArgs`, and workspace files | `rootUrl` mirrors reuse the bundled profile; explicit `runtimeAssets.ruby` overrides require one complete profile and same-origin canonical paths; URL-only `PUBLIC_WASM_RUBY_*` overrides fail closed; `stdin`, `programArgs`, `workspaceFiles` |
|
|
266
281
|
| Haskell<br>`HASKELL` | ghc-in-browser / GHC 9.14.0.20251031 WASI rootfs | loads `dyld.mjs`, `rootfs.tar.zst`, `bsdtar.wasm`; `compileArgs` become GHC args, otherwise legacy `args` become GHC args | `runtimeAssets.haskell.moduleUrl`/`rootfsUrl`/`bsdtarUrl`; `mainSoPath`, `searchDirs`, `activePath`, `workspaceFiles` |
|
|
267
282
|
| LFortran<br>`LFORTRAN` | receipt-pinned `wasm-llvm/producer/lfortran-browser` artifacts in `static/wasm-lfortran` | real LFortran 0.65.0-97-gab867a23 LLVM evaluator compiles and executes Emscripten side modules in a fresh Worker; shared-ring stdin supports delayed READ and EOF; experimental Fortran feature coverage | `runtimeAssets.lfortran.baseUrl` relocates the reviewed bundle; `stdin`, `activePath`, workspace data/include files, cancellation and execution limits; no program arguments or multi-file module build orchestration |
|
|
268
|
-
| Fortran<br>`FORTRAN` | Netlib f2c 2022-09-09 + `@cowasm/f2c 1.0.0` libf2c + @wasm-idle/llvm-core@1.0.
|
|
269
|
-
| COBOL<br>`COBOL` | GnuCOBOL 3.2 + GMP 6.3.0 assets from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.
|
|
283
|
+
| Fortran<br>`FORTRAN` | Netlib f2c 2022-09-09 + `@cowasm/f2c 1.0.0` libf2c + @wasm-idle/llvm-core@1.0.9 | runs `f2c.wasm` in WASI, compiles generated C with the llvm-core Clang host, links `libf2c.a`, then executes the resulting WASI module with `stdin` and `programArgs` | `runtimeAssets.fortran.baseUrl`/`f2cWasmUrl`/`libf2cUrl`/`f2cHeaderUrl`/`analyzerUrl` or `PUBLIC_WASM_FORTRAN_*`; `runtimeAssets.clang.baseUrl`/`loader` for the C backend; `activePath`, `workspaceFiles`, `compileArgs` |
|
|
284
|
+
| COBOL<br>`COBOL` | GnuCOBOL 3.2 + GMP 6.3.0 assets from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.9 | native gzip delivery for the frontend Wasm and filesystem tar assets; translates free-format COBOL with the real GnuCOBOL `cobc` frontend, compiles the generated C with the llvm-core Clang host, links libcob/GMP, and executes the resulting WASI module with `stdin` and `programArgs` | `runtimeAssets.cobol.baseUrl` or `PUBLIC_WASM_COBOL_BASE_URL`; `runtimeAssets.clang.baseUrl`/`loader` for the C backend; `activePath`, `workspaceFiles`, `compileArgs` |
|
|
285
|
+
| V<br>`V` | V 0.5.2 compiler, vlib and WASI C sysroot assets from the `wasm-llvm` producer + @wasm-idle/llvm-core@1.0.9 | native gzip delivery for the compiler Wasm and filesystem tar assets; translates V to C with the real V compiler (built from the upstream `vc` bootstrap for WASI), compiles the generated C with the llvm-core Clang host, and executes the resulting WASI module with `stdin` and `programArgs` | `runtimeAssets.v.baseUrl` or `PUBLIC_WASM_V_BASE_URL`; `runtimeAssets.clang.baseUrl`/`loader` for the C backend; `activePath`, `workspaceFiles`, `compileArgs` |
|
|
270
286
|
| R<br>`R` | versioned static `static/webr/<hash>/webr.js` / webr@0.6.0 | loads the browser ESM entry `webr.js` and its WebR runtime files from the configured static asset tree on demand; supports `stdin`, `programArgs`, and workspace files | `runtimeAssets.r.baseUrl` or `PUBLIC_WASM_R_BASE_URL`; `stdin`, `programArgs`, `activePath`, `workspaceFiles` |
|
|
271
287
|
| Octave<br>`OCTAVE` | Octave 10.3.0 (octave-10.3.0-pl5321h996e327_3.tar.bz2) | Octave CLI Emscripten worker; supports `stdin` and `programArgs` | `runtimeAssets.octave.baseUrl`/`workerUrl`/`manifestUrl` or `PUBLIC_WASM_OCTAVE_*` |
|
|
272
288
|
| DuckDB<br>`DUCKDB` | static ESM `static/wasm-duckdb/runtime.mjs` produced from @duckdb/duckdb-wasm@1.33.1-dev45.0 | selects the best DuckDB-Wasm MVP/EH bundle on demand and creates a fresh in-memory database per run; `stdin` is registered as `stdin.txt` and `/dev/stdin` rather than terminal stdin | `runtimeAssets.duckdb.moduleUrl` or `PUBLIC_WASM_DUCKDB_MODULE_URL` or `rootUrl`; `stdin`, `activePath`, `workspaceFiles` |
|
|
273
289
|
| SQLite<br>`SQLITE` | static ESM `static/wasm-sqlite/runtime.mjs` produced from sql.js@1.14.1 | sql.js loads `sql-wasm.wasm` on demand and executes SQL in a fresh in-memory database; terminal stdin is not applicable | `runtimeAssets.sqlite.moduleUrl`/`wasmUrl` or `PUBLIC_WASM_SQLITE_MODULE_URL`/`PUBLIC_WASM_SQLITE_WASM_URL` or `rootUrl`; `workspaceFiles` |
|
|
290
|
+
| PostgreSQL<br>`POSTGRESQL` | static ESM `static/wasm-postgresql/runtime.mjs` produced from @electric-sql/pglite@0.5.8 | upstream PostgreSQL compiled to WebAssembly by PGlite; initdb runs once per worker and every run restores a fresh in-memory cluster, sends the script as one simple query, and prints result sets, notices, and `COPY ... TO STDOUT`; preloaded `stdin` is exposed as the server file `/dev/blob` | `runtimeAssets.postgresql.moduleUrl` or `PUBLIC_WASM_POSTGRESQL_MODULE_URL` or `rootUrl`; `stdin`, `activePath`, `workspaceFiles` |
|
|
274
291
|
| PHP<br>`PHP` | static ESM `static/wasm-php/runtime.mjs` prebuilt by the standalone `producers/wasm-php` producer from @php-wasm/web-8-4@3.1.34 + @php-wasm/universal@3.1.34 | fixed PHP `8.4` php-wasm runtime; injects `$argv`/`$argc` and runs the active workspace script with `php.run`; supports `stdin` and `programArgs`; there is no runtime version selector | `runtimeAssets.php.moduleUrl` or `PUBLIC_WASM_PHP_MODULE_URL` or `rootUrl`; `stdin`, `programArgs`, `activePath`, `workspaceFiles` |
|
|
275
292
|
|
|
276
293
|
### Blocked candidates
|
|
@@ -368,7 +385,7 @@ pnpm run build:static-runtime-modules
|
|
|
368
385
|
```
|
|
369
386
|
|
|
370
387
|
This producer step writes `runtime.mjs` trees under `static/wasm-assemblyscript/`,
|
|
371
|
-
`static/wasm-duckdb/`, `static/wasm-ruby/`, and `static/wasm-sqlite/`. It also writes the Wasmer SDK
|
|
388
|
+
`static/wasm-duckdb/`, `static/wasm-postgresql/`, `static/wasm-ruby/`, and `static/wasm-sqlite/`. It also writes the Wasmer SDK
|
|
372
389
|
compatibility files and the unified Bash runtime profile under `static/wasm-bash/` through the same
|
|
373
390
|
rollback-capable Bash producer used by `sync:wasm-bash`. The browser consumes only the profile's
|
|
374
391
|
opaque, receipt-pinned storage paths; these files are deployed page assets, not npm package
|
|
@@ -551,6 +568,9 @@ browser UI thread.
|
|
|
551
568
|
C3 local asset setup, byte I/O ABI, and its 1 GiB default memory budget are documented in
|
|
552
569
|
[C3 browser integration](docs/c3-browser.md).
|
|
553
570
|
|
|
571
|
+
Grain's pinned upstream compiler, stdin model, and asset refresh are documented in
|
|
572
|
+
[Grain browser integration](docs/grain-browser.md).
|
|
573
|
+
|
|
554
574
|
Clean checkouts can prepare the ignored Clang, clangd, and OCaml browser payloads from one
|
|
555
575
|
receipt-verified manifest:
|
|
556
576
|
|
|
@@ -721,6 +741,13 @@ SQLite dynamically imports `static/wasm-sqlite/runtime.mjs`, produced from `sql.
|
|
|
721
741
|
its default `sql-wasm.wasm` from that static tree. Override the module and optional WASM payload
|
|
722
742
|
with `runtimeAssets.sqlite.moduleUrl`/`wasmUrl` or the corresponding
|
|
723
743
|
`PUBLIC_WASM_SQLITE_MODULE_URL`/`PUBLIC_WASM_SQLITE_WASM_URL` values.
|
|
744
|
+
PostgreSQL dynamically imports `static/wasm-postgresql/runtime.mjs`, produced from the pinned
|
|
745
|
+
`@electric-sql/pglite` package (upstream PostgreSQL compiled to WebAssembly). The worker runs initdb
|
|
746
|
+
once, then restores a fresh in-memory cluster for every run and sends the script as one simple
|
|
747
|
+
query. Result sets print as tab-separated tables, notices and `COPY ... TO STDOUT` print in order,
|
|
748
|
+
and other workspace `.sql` files run first. Preloaded stdin is exposed as the server-side file
|
|
749
|
+
`/dev/blob` (`COPY t FROM '/dev/blob'` or `pg_read_file('/dev/blob')`). Override the module with
|
|
750
|
+
`PUBLIC_WASM_POSTGRESQL_MODULE_URL` or `runtimeAssets.postgresql.moduleUrl`.
|
|
724
751
|
PHP dynamically imports the checked-in `static/wasm-php/runtime.mjs` output from the standalone
|
|
725
752
|
`producers/wasm-php` build. That producer pins `@php-wasm/web-8-4@3.1.34` and
|
|
726
753
|
`@php-wasm/universal@3.1.34`. It always creates PHP 8.4; there is no version field or
|
|
@@ -738,6 +765,10 @@ rejected because executable nested-worker substitution is outside the trust cont
|
|
|
738
765
|
Lua uses the bundled `static/wasm-lua/` wasmoon browser module plus its local `glue.wasm`
|
|
739
766
|
payload by default. Override it with `PUBLIC_WASM_LUA_MODULE_URL`, or pass
|
|
740
767
|
`runtimeAssets.lua.moduleUrl`.
|
|
768
|
+
Fennel runs the official Fennel 1.6.1 `fennel.lua` compiler on that same wasm-lua worker. The
|
|
769
|
+
bundled `static/wasm-fennel/fennel-1.6.1.lua.gz` is the unmodified upstream release, and the
|
|
770
|
+
worker verifies its size and SHA-256 receipt before use. Override it with
|
|
771
|
+
`PUBLIC_WASM_FENNEL_COMPILER_URL`, or pass `runtimeAssets.fennel.compilerUrl`.
|
|
741
772
|
Zig uses the bundled `static/wasm-zig/zig_small.wasm` compiler and `static/wasm-zig/std.tar.gz`
|
|
742
773
|
standard library by default. Override them with `PUBLIC_WASM_ZIG_COMPILER_URL` and
|
|
743
774
|
`PUBLIC_WASM_ZIG_STDLIB_URL`, or pass `runtimeAssets.zig.compilerUrl` and
|
|
@@ -807,6 +838,9 @@ const runtimeAssets: PlaygroundRuntimeAssets = {
|
|
|
807
838
|
php: {
|
|
808
839
|
moduleUrl: 'https://cdn.example.com/repl/wasm-php/runtime.mjs'
|
|
809
840
|
},
|
|
841
|
+
postgresql: {
|
|
842
|
+
moduleUrl: 'https://cdn.example.com/repl/wasm-postgresql/runtime.mjs'
|
|
843
|
+
},
|
|
810
844
|
sqlite: {
|
|
811
845
|
moduleUrl: 'https://cdn.example.com/repl/wasm-sqlite/runtime.mjs'
|
|
812
846
|
},
|
|
@@ -838,6 +872,9 @@ const runtimeAssets: PlaygroundRuntimeAssets = {
|
|
|
838
872
|
lua: {
|
|
839
873
|
moduleUrl: 'https://cdn.example.com/wasm-lua/index.js'
|
|
840
874
|
},
|
|
875
|
+
fennel: {
|
|
876
|
+
compilerUrl: 'https://cdn.example.com/wasm-fennel/fennel-1.6.1.lua.gz'
|
|
877
|
+
},
|
|
841
878
|
zig: {
|
|
842
879
|
compilerUrl: 'https://cdn.example.com/wasm-zig/zig_small.wasm',
|
|
843
880
|
stdlibUrl: 'https://cdn.example.com/wasm-zig/std.tar.gz'
|
|
@@ -903,7 +940,7 @@ await sandbox.load('print("hi")', false);
|
|
|
903
940
|
Compiler assets produced by [`wasm-llvm`](https://github.com/seo-rii/wasm-llvm) are deployed to
|
|
904
941
|
external static hosting and loaded by `@wasm-idle/llvm-core`. Also powered by Pyodide, TeaVM, `wasm-rust`,
|
|
905
942
|
`wasm-dotnet`, `wasm-of-js-of-ocaml`, `wasm-typescript`, `wasm-lisp`,
|
|
906
|
-
`wasm-wat`, `wasm-lua`, `wasm-zig`, CBQN, Janet, AtomVM/Popcorn, and `ghc-in-browser`.
|
|
943
|
+
`wasm-wat`, `wasm-lua`, Fennel, `wasm-zig`, CBQN, Janet, AtomVM/Popcorn, and `ghc-in-browser`.
|
|
907
944
|
|
|
908
945
|
### Ruby split standard library
|
|
909
946
|
|
|
@@ -3,6 +3,7 @@ import { WASM_AWK_RUNTIME_BUNDLE } from './wasmAwkVersion';
|
|
|
3
3
|
import { WASM_BASH_RUNTIME_PROFILE } from './wasmBashVersion';
|
|
4
4
|
import { WASM_BQN_ASSET_VERSION, WASM_BQN_RUNNER_RECEIPT } from './wasmBqnVersion';
|
|
5
5
|
import { WASM_CLOJURESCRIPT_ASSET_VERSION, WASM_CLOJURESCRIPT_RUNNER_RECEIPT } from './wasmClojureScriptVersion';
|
|
6
|
+
import { WASM_RESCRIPT_ASSET_VERSION, WASM_RESCRIPT_RUNNER_RECEIPT } from './wasmReScriptVersion';
|
|
6
7
|
import { WASM_D_INTEGRITY_VERSION, WASM_D_OUTER_ASSET_RECEIPTS } from './wasmDIntegrity';
|
|
7
8
|
import { WASM_DOTNET_ASSET_VERSION } from './wasmDotnetVersion';
|
|
8
9
|
import { WASM_ELIXIR_ASSET_RECEIPTS, WASM_ELIXIR_ASSET_VERSION } from './wasmElixirVersion';
|
|
@@ -17,6 +18,7 @@ import { WASM_JANET_RUNTIME_BUNDLE } from './wasmJanetVersion';
|
|
|
17
18
|
import { WASM_JULIA_RUNTIME_BUNDLE } from './wasmJuliaVersion';
|
|
18
19
|
import { WASM_LISP_ASSET_VERSION } from './wasmLispVersion';
|
|
19
20
|
import { WASM_LUA_ASSET_VERSION } from './wasmLuaVersion';
|
|
21
|
+
import { WASM_FENNEL_ASSET_VERSION, WASM_FENNEL_COMPILER_RECEIPT } from './wasmFennelVersion';
|
|
20
22
|
import { WASM_NIM_RUNTIME_BUNDLE } from './wasmNimVersion';
|
|
21
23
|
import { WASM_OBJECTIVEC_ASSET_RECEIPTS, WASM_OBJECTIVEC_ASSET_VERSION } from './wasmObjectiveCVersion';
|
|
22
24
|
import { WASM_OCAML_ASSET_VERSION, WASM_OCAML_RUNTIME_PROFILE } from './wasmOcamlVersion';
|
|
@@ -192,6 +194,13 @@ export function createApplicationRuntimeAssets(rootUrl) {
|
|
|
192
194
|
manifestFingerprint: WASM_CLOJURESCRIPT_ASSET_VERSION,
|
|
193
195
|
workerReceipt: WASM_CLOJURESCRIPT_RUNNER_RECEIPT
|
|
194
196
|
},
|
|
197
|
+
rescript: {
|
|
198
|
+
baseUrl: asset('wasm-rescript/'),
|
|
199
|
+
workerUrl: asset('wasm-rescript/runner-worker.js', WASM_RESCRIPT_RUNNER_RECEIPT.sha256),
|
|
200
|
+
manifestUrl: asset('wasm-rescript/runtime-manifest.v1.json', WASM_RESCRIPT_ASSET_VERSION),
|
|
201
|
+
manifestFingerprint: WASM_RESCRIPT_ASSET_VERSION,
|
|
202
|
+
workerReceipt: WASM_RESCRIPT_RUNNER_RECEIPT
|
|
203
|
+
},
|
|
195
204
|
swift: {
|
|
196
205
|
baseUrl: asset('wasm-swift/'),
|
|
197
206
|
workerUrl: asset('wasm-swift/runner-worker.js', WASM_SWIFT_ASSET_VERSION),
|
|
@@ -219,6 +228,9 @@ export function createApplicationRuntimeAssets(rootUrl) {
|
|
|
219
228
|
lua: {
|
|
220
229
|
moduleUrl: asset('wasm-lua/index.js', WASM_LUA_ASSET_VERSION)
|
|
221
230
|
},
|
|
231
|
+
fennel: {
|
|
232
|
+
compilerUrl: asset(WASM_FENNEL_COMPILER_RECEIPT.path, WASM_FENNEL_ASSET_VERSION)
|
|
233
|
+
},
|
|
222
234
|
zig: {
|
|
223
235
|
compilerUrl: asset('wasm-zig/zig_small.wasm', WASM_ZIG_ASSET_VERSION),
|
|
224
236
|
stdlibUrl: asset('wasm-zig/std.tar.gz', WASM_ZIG_ASSET_VERSION),
|
|
@@ -255,6 +267,9 @@ export function createApplicationRuntimeAssets(rootUrl) {
|
|
|
255
267
|
cobol: {
|
|
256
268
|
baseUrl: asset('wasm-cobol/')
|
|
257
269
|
},
|
|
270
|
+
v: {
|
|
271
|
+
baseUrl: asset('wasm-v/')
|
|
272
|
+
},
|
|
258
273
|
objectivec: {
|
|
259
274
|
baseUrl: asset('wasm-objectivec/'),
|
|
260
275
|
libobjcUrl: asset('wasm-objectivec/libobjc.a', WASM_OBJECTIVEC_ASSET_VERSION),
|
|
@@ -273,6 +288,9 @@ export function createApplicationRuntimeAssets(rootUrl) {
|
|
|
273
288
|
workerUrl: asset('wasm-octave/runner-worker.js', WASM_OCTAVE_ASSET_VERSION),
|
|
274
289
|
manifestUrl: asset('wasm-octave/runtime/runtime-manifest.v1.json', WASM_OCTAVE_ASSET_VERSION)
|
|
275
290
|
},
|
|
291
|
+
postgresql: {
|
|
292
|
+
moduleUrl: asset('wasm-postgresql/runtime.mjs', STATIC_RUNTIME_MODULE_VERSION)
|
|
293
|
+
},
|
|
276
294
|
sqlite: {
|
|
277
295
|
moduleUrl: asset('wasm-sqlite/runtime.mjs', STATIC_RUNTIME_MODULE_VERSION)
|
|
278
296
|
}
|
|
@@ -103,6 +103,9 @@ export interface WatRuntimeAssetConfig {
|
|
|
103
103
|
export interface LuaRuntimeAssetConfig {
|
|
104
104
|
moduleUrl?: string;
|
|
105
105
|
}
|
|
106
|
+
export interface FennelRuntimeAssetConfig {
|
|
107
|
+
compilerUrl?: string;
|
|
108
|
+
}
|
|
106
109
|
export interface HaskellRuntimeAssetConfig {
|
|
107
110
|
moduleUrl?: string;
|
|
108
111
|
rootfsUrl?: string;
|
|
@@ -122,6 +125,9 @@ export interface FortranRuntimeAssetConfig {
|
|
|
122
125
|
export interface CobolRuntimeAssetConfig {
|
|
123
126
|
baseUrl?: string;
|
|
124
127
|
}
|
|
128
|
+
export interface VRuntimeAssetConfig {
|
|
129
|
+
baseUrl?: string;
|
|
130
|
+
}
|
|
125
131
|
export interface ObjectiveCRuntimeAssetConfig {
|
|
126
132
|
baseUrl?: string;
|
|
127
133
|
libobjcUrl?: string;
|
|
@@ -493,6 +499,35 @@ export interface ClojureScriptRuntimePreflightProfile {
|
|
|
493
499
|
uncompressedSha256?: string;
|
|
494
500
|
}>;
|
|
495
501
|
}
|
|
502
|
+
export interface ReScriptRuntimeAssetConfig {
|
|
503
|
+
baseUrl?: string;
|
|
504
|
+
workerUrl?: string;
|
|
505
|
+
manifestUrl?: string;
|
|
506
|
+
manifestFingerprint?: string;
|
|
507
|
+
profileId?: string;
|
|
508
|
+
sourceRevision?: string;
|
|
509
|
+
manifestReceipt?: RuntimeAssetIntegrityEntry;
|
|
510
|
+
compilerReceipt?: RuntimeAssetIntegrityEntry;
|
|
511
|
+
workerReceipt?: Readonly<{
|
|
512
|
+
bytes: number;
|
|
513
|
+
sha256: string;
|
|
514
|
+
}>;
|
|
515
|
+
}
|
|
516
|
+
export interface ReScriptRuntimePreflightProfile {
|
|
517
|
+
readonly profileId: string;
|
|
518
|
+
readonly sourceRevision: string;
|
|
519
|
+
readonly manifestFingerprint: string;
|
|
520
|
+
readonly manifestReceipt?: Readonly<{
|
|
521
|
+
bytes?: number;
|
|
522
|
+
sha256: string;
|
|
523
|
+
}>;
|
|
524
|
+
readonly compilerReceipt?: Readonly<{
|
|
525
|
+
bytes?: number;
|
|
526
|
+
sha256: string;
|
|
527
|
+
uncompressedBytes?: number;
|
|
528
|
+
uncompressedSha256?: string;
|
|
529
|
+
}>;
|
|
530
|
+
}
|
|
496
531
|
export interface SwiftRuntimeAssetConfig {
|
|
497
532
|
baseUrl?: string;
|
|
498
533
|
workerUrl?: string;
|
|
@@ -508,6 +543,9 @@ export interface AssemblyScriptRuntimeAssetConfig {
|
|
|
508
543
|
export interface DuckDbRuntimeAssetConfig {
|
|
509
544
|
moduleUrl?: string;
|
|
510
545
|
}
|
|
546
|
+
export interface PostgresqlRuntimeAssetConfig {
|
|
547
|
+
moduleUrl?: string;
|
|
548
|
+
}
|
|
511
549
|
export interface PhpRuntimeAssetConfig {
|
|
512
550
|
moduleUrl?: string;
|
|
513
551
|
}
|
|
@@ -528,9 +566,11 @@ export interface PlaygroundRuntimeAssets extends RuntimeAssetKeySource {
|
|
|
528
566
|
typescript?: TypeScriptRuntimeAssetConfig;
|
|
529
567
|
wat?: WatRuntimeAssetConfig;
|
|
530
568
|
lua?: LuaRuntimeAssetConfig;
|
|
569
|
+
fennel?: FennelRuntimeAssetConfig;
|
|
531
570
|
haskell?: HaskellRuntimeAssetConfig;
|
|
532
571
|
fortran?: FortranRuntimeAssetConfig;
|
|
533
572
|
cobol?: CobolRuntimeAssetConfig;
|
|
573
|
+
v?: VRuntimeAssetConfig;
|
|
534
574
|
objectivec?: ObjectiveCRuntimeAssetConfig;
|
|
535
575
|
zig?: ZigRuntimeAssetConfig;
|
|
536
576
|
lisp?: LispRuntimeAssetConfig;
|
|
@@ -551,12 +591,20 @@ export interface PlaygroundRuntimeAssets extends RuntimeAssetKeySource {
|
|
|
551
591
|
c3?: {
|
|
552
592
|
baseUrl?: string;
|
|
553
593
|
};
|
|
594
|
+
grain?: {
|
|
595
|
+
baseUrl?: string;
|
|
596
|
+
};
|
|
597
|
+
hy?: {
|
|
598
|
+
baseUrl?: string;
|
|
599
|
+
};
|
|
554
600
|
nim?: NimRuntimeAssetConfig;
|
|
555
601
|
bash?: BashRuntimeAssetConfig;
|
|
556
602
|
clojurescript?: ClojureScriptRuntimeAssetConfig;
|
|
603
|
+
rescript?: ReScriptRuntimeAssetConfig;
|
|
557
604
|
swift?: SwiftRuntimeAssetConfig;
|
|
558
605
|
assemblyscript?: AssemblyScriptRuntimeAssetConfig;
|
|
559
606
|
duckdb?: DuckDbRuntimeAssetConfig;
|
|
607
|
+
postgresql?: PostgresqlRuntimeAssetConfig;
|
|
560
608
|
sqlite?: SqliteRuntimeAssetConfig;
|
|
561
609
|
php?: PhpRuntimeAssetConfig;
|
|
562
610
|
}
|
|
@@ -638,6 +686,7 @@ export declare function resolveErlangBundleUrl(options: string | PlaygroundRunti
|
|
|
638
686
|
export declare function resolveTypeScriptModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
639
687
|
export declare function resolveWatModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
640
688
|
export declare function resolveLuaModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
689
|
+
export declare function resolveFennelCompilerUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
641
690
|
export declare function resolveZigCompilerUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
642
691
|
export declare function resolveHaskellModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
643
692
|
export declare function resolveHaskellRootfsUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
@@ -649,6 +698,7 @@ export declare function resolveFortranF2cHeaderUrl(options: string | PlaygroundR
|
|
|
649
698
|
export declare function resolveFortranAnalyzerUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
650
699
|
export declare function resolveFortranRuntimeAssetConfig(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): ResolvedFortranRuntimeAssetConfig;
|
|
651
700
|
export declare function resolveCobolBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
701
|
+
export declare function resolveVBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
652
702
|
export declare function resolveObjectiveCBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
653
703
|
export declare function resolveObjectiveCLibobjcUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
654
704
|
export declare function resolveObjectiveCHeadersUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
@@ -774,6 +824,21 @@ export declare function resolveClojureScriptRuntimeAssetConfig(options: string |
|
|
|
774
824
|
sha256: string;
|
|
775
825
|
}>;
|
|
776
826
|
};
|
|
827
|
+
export declare function resolveReScriptBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
828
|
+
export declare function resolveReScriptWorkerUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
829
|
+
export declare function resolveReScriptManifestUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
830
|
+
export declare function resolveReScriptRuntimeAssetConfig(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): {
|
|
831
|
+
baseUrl: string;
|
|
832
|
+
workerUrl: string;
|
|
833
|
+
manifestUrl: string;
|
|
834
|
+
manifestFingerprint: string;
|
|
835
|
+
preflightKey: string;
|
|
836
|
+
preflightProfile: ReScriptRuntimePreflightProfile;
|
|
837
|
+
workerReceipt: Readonly<{
|
|
838
|
+
bytes: number;
|
|
839
|
+
sha256: string;
|
|
840
|
+
}>;
|
|
841
|
+
};
|
|
777
842
|
export declare function resolveForthBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
778
843
|
export declare function resolveForthWorkerUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
779
844
|
export declare function resolveForthManifestUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
@@ -887,7 +952,12 @@ export declare function resolveSqliteWasmUrl(options: string | PlaygroundRuntime
|
|
|
887
952
|
export declare function resolveAssemblyScriptRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
888
953
|
export declare function resolveDuckDbRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
889
954
|
export declare function resolvePhpRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
955
|
+
export declare function resolvePostgresqlRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
890
956
|
export declare function resolveRubyRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
891
957
|
export declare function resolveSqliteRuntimeModuleUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
892
958
|
/** C3 uses one code-pinned compiler/worker receipt, served from this base URL. */
|
|
893
959
|
export declare function resolveC3BaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
960
|
+
/** Grain uses one code-pinned compiler/stdlib/worker receipt, served from this base URL. */
|
|
961
|
+
export declare function resolveGrainBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|
|
962
|
+
/** Hy wheels are code-pinned receipts served from this base URL and installed into Pyodide. */
|
|
963
|
+
export declare function resolveHyBaseUrl(options: string | PlaygroundRuntimeAssets | undefined, currentUrl?: string): string;
|