rstudio / rsconnect

Publish Shiny Applications, RMarkdown Documents, Jupyter Notebooks, Plumber APIs, and more
http://rstudio.github.io/rsconnect/
134 stars 83 forks source link

rsconnect::writeManifest() fails to infer `appPrimaryDoc` when file is Quarto (.qmd) not Markdown (.Rmd) #1106

Closed fh-mthomson closed 1 month ago

fh-mthomson commented 1 month ago

To test:

  1. Open Project: https://github.com/fh-mthomson/rsconnect_quarto
  2. renv::restore()
  3. Try to create OR update the manifest.json file:
    
    > rsconnect::writeManifest()
    Error in `quartoInspect()`:
    ! Failed to run `quarto inspect` against your content:
    ERROR: /home/michael.thomson/rsconnect_quarto/.Rprofile is not a valid Quarto input document

Stack trace: at inspectConfig (file:///opt/quarto/1.5.56/bin/quarto.js:101501:19) at async Command.actionHandler (file:///opt/quarto/1.5.56/bin/quarto.js:101515:20) at async Command.execute (file:///opt/quarto/1.5.56/bin/quarto.js:8017:13) at async Command.parseCommand (file:///opt/quarto/1.5.56/bin/quarto.js:7907:20) at async quarto (file:///opt/quarto/1.5.56/bin/quarto.js:118224:9) at async file:///opt/quarto/1.5.56/bin/quarto.js:118244:9 at async mainRunner (file:///opt/quarto/1.5.56/bin/quarto.js:118128:9) at async file:///opt/quarto/1.5.56/bin/quarto.js:118235:5 Run rlang::last_trace() to see where the error occurred.

4. Then, manually specifying works: 

rsconnect::writeManifest(appPrimaryDoc = "doc.qmd") ℹ Capturing R dependencies from renv.lock ✔ Found 46 dependencies

In contrast, if you rename to doc.Rmd, it works off the shelf.

aronatkins commented 1 month ago

Thanks so much for reporting this issue. I've got a pending fix that should land shortly.