Identify External Packages Used in a Project.
rdeps
• Overview
• Features
• Installation
• Get started
• Citation
• Contributing
Overview
The goal of the R package rdeps
is to provide a tool to identify all external packages used in a project (package, compendium, website, etc.) and to list them in the DESCRIPTION
file.
Features
rdeps
screens all .R
, .Rmd
, and .qmd
files to extract the name of packages used in a project. This package detects packages called with library(foo)
, require(foo)
, and foo::bar()
and adds these dependencies to the DESCRIPTION
file in the sections Depends, Imports, and Suggests.
Different types of dependencies are handled:
- if the package is called with
library(foo)
orrequire(foo)
, it will be added to the section Depends of theDESCRIPTION
file (except for vignettes and tests); - if the package is called with
foo::bar()
, it will be added to the section Imports of theDESCRIPTION
file (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
DESCRIPTION
file.
Installation
You can install the development version from GitHub with:
## Install < remotes > package (if not already installed) ----
if (!requireNamespace("remotes", quietly = TRUE)) {
install.packages("remotes")
}
## Install < rdeps > from GitHub ----
remotes::install_github("frbcesab/rdeps")
Then you can attach the package rdeps
:
library("rdeps")
Get started
rdeps
contains one main function: add_deps()
.
Note: the project must contain a DESCRIPTION
file. A DESCRIPTION
file can be created and added to an existing project with the function usethis::use_description()
.
Citation
Please cite rdeps
as:
Casajus Nicolas (2024) rdeps: An R package to identify external packages used in a project. R package version 0.2, https://github.com/frbcesab/rdeps/.
Contributing
All types of contributions are encouraged and valued. For more information, check out our Contributor Guidelines.
Please note that the rdeps
project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.