For the purposes of CRAN, none of your tutorial dependencies need to be included in the DESCRIPTION file. Only dependencies used within the ./R folder are required in the DESCRIPTION file. CRAN treats the inst folder as a tag-along folder that is not inspected.
Within learnr::run_tutorial(name, pkg), learnr will check the packages required to run the tutorial. To view what information learnr believes about a package's tutorials, run tibble::as_tibble(learnr::available_tutorials(pkg)).
If a tutorial dependency is not found, a dialog will come up in the console or Rstudio IDE, asking to install the missing packages.
Note: Similar to packages in the Suggests field, versions can not be enforced.
Note: If you have a Remotes package that you'd like installed, I would add it to the Imports DESCRIPTION field so that is it guaranteed to be installed using the Remotes value
I don't need to pre-render the htmls and distribute them
Correct. Do not include any html or cache file information in the submitted package. Most likely, the user will have to re-render the tutorial as their dependencies will not exactly match your dependencies.
tl;dr Remove all typical, tutorial-only dependencies from the DESCRIPTION file for CRAN purposes. Missing tutorial dependencies will be installed when the tutorial is attempted to run.
(Do not include precompiled tutorial files in the package when submitting to CRAN. Users will most likely re-render the tutorial anyways.)
great hex logo!