Skip to content
Ref12Public

About

Public web tools that run in the browser on .NET WebAssembly: C# interactive, SharpLab, fuget, PR viewer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

webbox

Public web tools that run entirely in the browser, mostly on .NET WebAssembly. The workflow in .github/workflows/pages.yml builds them (no dotnet workload needed; see build/NoWorkloadWasm.props) and publishes them on every push to main, to GitHub Pages at https://ref12.github.io/webbox/ and to the Cloudflare Worker at https://webbox.ref12cf.workers.dev/. The site root is an installable app (PWA) that launches the tools.

App Folder What it is
SharpLab /sharplab/ (built: sharplab/, see its README) A SharpLab-style C# playground running entirely in the browser on .NET WebAssembly: syntax tree linked to the editor, IL, decompiled C# at three lowering levels, Run, ILVerify, share links in the URL fragment, Debug/Release, language version and optimize options, and a JIT tab that explains what is (not) possible and can call a JIT endpoint. Built by the workflow (no workloads) like csharp/.
C# interactive /csharp/ (source: csharp/) A C# REPL with Roslyn IntelliSense that compiles and runs in the browser on .NET 10 WebAssembly; #r "nuget: Pkg, ver", #help, #clear, #reset, #load "url". Not published as is: the workflow builds it (dotnet publish + csharp/tools/stage.mjs) and puts the result at _site/csharp/. See csharp/README.md for the design, the Pages delivery (brotli decoded in the page, content-hashed names) and the tests.
fuget /fuget/ (built: fuget/) A fuget.org-style NuGet package browser in the browser: search, the API with XML docs, decompiled source (ICSharpCode.Decompiler) and the API diff between two versions, with deep links. Built by the workflow like csharp/.
PR viewer /prview/ Azure DevOps-style viewer for GitHub pull requests: file tree with A/M/D/R badges and a filter, full-file diffs computed in the browser (inline or side by side, expandable context, word-level marks), review threads inline with posting (single comments, batched reviews, replies, resolve), PR lists (for me / a repo / recent), reviewed checkboxes, commit/range picker, keyboard navigation. Public repos anonymously; Sign in with a pasted GitHub token (fine-grained: Pull requests read/write, Contents read) for private repos, commenting and 5,000 requests/hour. Details in prview/README.md.
ILSpy /ilspy/ (built from ljcollins25/ILSpy browser, pinned in the workflow) Kirill Osenkov's ILSpy.Browser: the ILSpy decompiler (Avalonia) on .NET WebAssembly. Open or drop an assembly, browse types, read decompiled C#. Built workload-free by ILSpy.Browser/build-static.sh.
Roslyn Quoter /quoter/ (built from ljcollins25/RoslynQuoter browser, pinned in the workflow) A browser-only RoslynQuoter: C# in, the Roslyn SyntaxFactory calls that build it out, with Quoter.Web's options, a round-trip check and share links. Roslyn trimmed to about 2.4 MiB.
MSBuild binlog viewer (preview) /binlog/ (built from ljcollins25/MSBuildStructuredLog wasm, pinned in the workflow) Kirill Osenkov's MSBuild Structured Log Viewer (Avalonia) in the browser: open a .binlog by file, drag-and-drop or ?url=; tree, search, node details, embedded source files and find in files. Logs over about 50 MB don't fit in browser memory yet (paged loading is planned).
Regions /regions/ A playable Queens/Meowdoku-style region-placement puzzle with 29 generated boards (5×5 to 9×9, easy/medium/hard): one marker per row, column and colour region, none touching. Tap/long-press/drag ✕s, auto-✕, live rule violations, undo, solver-based hints, timer, board id in the URL hash, and a colour-challenge mode (shades of one hue with shape or Chinese-character glyphs). Static, offline, no network. See regions/README.md.

Line endings are left alone (.gitattributes has * -text).

About

Public web tools that run in the browser on .NET WebAssembly: C# interactive, SharpLab, fuget, PR viewer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages