quarto-dev / quarto-dev/quarto-cli

Documents using Observable JS are not self-contained

Open
#1,412 5 comments 4 reactions 1 assignee View on GitHub

@cscheid is already working on this.

Since Jul 15, 2022.

enhancement ojs-engine
Dominant language
JavaScript
Stars
6k
Forks
458
Avg merge
1d 9h
Merged PRs (30d)
41

Description

Observable JS doesn't seem to work without network connectivity because dependencies are pulled in at runtime (e.g., htl).

Haven't explored this in depth, but it seems that for recommended libraries like Inputs, I can download a local copy and require from an OJS chunk (since these get inlined?). But this doesn't work with htl, which might be needed earlier by the runtime. If this is complicated, perhaps there could be an option to include a "heavyweight" stdlib with all dependencies bundled (regardless of whether they're used or not) in the short-term?

More generally, it'd be nice if all JS/Observable dependencies were inlined for a self-contained document, rather than just the local ones... it seems this can be worked around by fetching local copies, but it's a bit cumbersome, and automating it behind the scenes would make code a little more immediately portable between QbservableHQ and Quarto.

I'm running Quarto 1.0.23.

Thanks so much for the awesome work and creating this amazing tool!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.