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).

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