This function detects external packages used in an R project (package,
compendium, website, etc.) and updates the sections Depends,
Imports, and Suggests of the DESCRIPTION file.
A DESCRIPTION file can be created and added to an existing project with
the function use_description() of the package usethis.
All .R, .Rmd, and .qmd files are screened to identify packages
called by library(foo), library("foo"), library('foo'),
require(foo), require("foo"), require('foo'), foo::bar() or
use("foo", "bar").
Different types of dependencies are handled with the following rules:
if a package is called with
library(foo)orrequire(foo), it will be added to the section Depends of theDESCRIPTIONfile (except for vignettes and tests);if the package is called with
foo::bar()oruse("foo", "bar"), it will be added to the section Imports of theDESCRIPTIONfile (except for vignettes and tests);if the package is only used in vignettes or tests, it will be added to the section Suggests of the
DESCRIPTIONfile.
This function also screens the NAMESPACE file (it detects packages
mentioned as import(foo) and importFrom(foo,bar)) and @examples
sections of roxygen2 headers. The detected packages are added in the
Imports section of the DESCRIPTION file.
If the project is not an R package, non-standard folders are also screened
(i.e. analyses/, paper/, etc.). The detected packages are added in the
Imports section of the DESCRIPTION file.
