Svelte playground
Generated from docs/compat/svelte-playground.md when the site was built at 7aa23e2.
-
Site: svelte.dev/playground/hello-world, mirrored on 2026-11-08 (3.7 MB): the page, then every file niso-run reported it could not load, fetched from svelte.dev, until nothing new was missing.
-
Run:
Terminal window niso-run --page site/playground/hello-world.html --root site \--url http://localhost/playground/hello-world --missing --max-ms 8000
Status
Section titled “Status”The compiler’s module worker now starts and runs: the page creates
new Worker(new URL('../workers/index-….js', import.meta.url), { type: 'module' }),
the worker loads its module graph through the page’s loader and fetches the
svelte package tarball from the npm registry. It stops at the next step,
which unpacks the tarball:
new ReadableStream({ start(c) { c.enqueue(bytes); c.close(); } }) .pipeThrough(new DecompressionStream('gzip'))niso has no Streams and no Compression Streams, so the worker throws
ReferenceError: ReadableStream is not defined and the preview never compiles.
On the page, the editor (CodeMirror) fails before it renders:
readSelectionRange calls getSelection() on the document or a shadow root,
which niso does not have, and pageXOffset is not defined.
Blockers, in the order they were hit
Section titled “Blockers, in the order they were hit”| # | What failed | Cause | Fix |
|---|---|---|---|
| 1 | Module scripts did not run | The QuickJS binding had no ES modules | Module scripts and the module graph load through the DOM’s loader; unhandled rejections are reported. |
| 2 | new Worker(…, { type: 'module' }) |
No Workers | Dedicated workers, classic and module, each an engine on its own thread (plat-workers). |
| 3 | “The file format should be tar.gz or tar” in the worker | fetch handed bodies to JS as strings, so the binary tarball came back with its invalid UTF-8 replaced | Response bodies are bytes (plat-workers). |
| 4 | ReadableStream is not defined in the worker |
No Streams, no DecompressionStream | Open. |
| 5 | getSelection is not a function (CodeMirror’s readSelectionRange) |
No Selection API | Open. |
| 6 | pageXOffset is not defined |
Window’s scroll offsets are missing | Open. |
| 7 | location.href = sameUrl when hydration fails |
No full navigation, by design | Not a bug: niso apps are SPAs. |
The svelte test app in tests/svelte (a compiled Svelte 5 component) still
passes, so the Svelte runtime itself runs on niso.