TS Engines which claim files will spawn Deno in Pass-1
@gordonwoodhull is already working on this.
Since Aug 22, 2026.
- Dominant language
- Rust
- Stars
- 255
- Forks
- 17
- Avg merge
- 6h 20m
- Merged PRs (30d)
- 109
Description
Pass-1 needs to be pure Rust code with no spawning of slow sub-processes such as Deno.
However in the Quarto 1 API, both claimsFile and markdownForFile are dynamic JavaScript calls with no trivial way to specify them statically.
So if TS engines are used that claim files and convert them, that's happening in Deno today.
It's slow and error-prone - but at the same time, it's ahead of q2, which does not have spin/percent script, or ipynb support yet.
Structurally,
- #416
provides the format conversion stage in the pipeline. It's just that it shouldn't spawn Deno.
We'll remove the ability to claim and parse files via TS in the following plans (merged but not fully reviewed or implemented):
2026-07-07-plan7a-static-content-pattern-claims.md2026-07-08-plan7b-native-content-processors.md2026-07-08-plan7c-ipynb-content-processor.md
These establish a registry of converters, written in Rust, from a native format to qmd.
Currently those converters are
- spin, via treesitter-r
- percent (porting TS parser from Quarto 1)
- ipynb - new design with provenance but otherwise ported from Quarto 1.
Converters can take extra parameters; e.g. Python and Julia both use percent scripts but look for different languages in them.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.