It'd be neat to run Quarto in the browser, I'm wondering if this is a design goal or perhaps if it's explicitly not. I just found some notes I wrote up a few months ago about various quarto-cli deps:

### Deno
It's a [goal of Deno](https://deno.land/manual#goals) to be browser-compatible.
- any reference to the global Deno namespace would need not to be used?
- maybe something like [denopack](https://github.com/denofn/denopack) is supposed to be used?

esbuild is probably the way to go here? And factoring stuff out?

### Pandoc

There's an [Asterius](https://github.com/tweag/asterius)-built pandoc executable available at https://asterius.netlify.app/demo/pandoc/pandoc.html but I haven't found the code that builds it.

There's an old [GHCJS-compiled pandoc](https://github.com/osener/markup.rocks) too.

It's not clear that either of these keep the lua functionality intact? There's been [lots of back and forth](https://github.com/jgm/pandoc/issues/4535) trying to get the C bits out of pandoc, but currently there are C dependencies. The lua filters seem to be integral to Quarto. There are definitely Emscripten builds of Lua out there, but the integration might be tricky.

### ESBuild
Is this maybe a runtime dependency? there's a wasm version available at esbuild-wasm on npm, see https://esbuild.github.io/getting-started/#wasm

### SASS
There's a version of SASS compiled to JavaScript [on npm](https://www.npmjs.com/package/sass). 

### R
I heard from Pyodide folks that discussions of compiling R to the browser petered out because there was so much Fortran involved. It seems like R isn't required to run to run Quarto at all, ~~but I want to check because when commands like `quarto serve` error on my if I don't have Shiny R library installed, suggesting there's some R in there somewhere.~~ edit: I misunderstood what `quarto serve` does, it's explicitly for Shiny apps.
2022-01-16T00:56:24Z
thomasballinger
Future
open
quarto in the browser
https://github.com/quarto-dev/quarto-cli/issues/263