| Version: | 0.1.1 | 
| Title: | Automatic Generation of @importFrom Tags | 
| Description: | A toolbox to read all R files inside a package and automatically generate @importFrom 'roxygen2' tags in the right place. Includes a 'shiny' application to review the changes before applying them. | 
| License: | GPL-3 | 
| URL: | https://github.com/DanChaltiel/autoimport, https://danchaltiel.github.io/autoimport/ | 
| BugReports: | https://github.com/DanChaltiel/autoimport/issues | 
| Depends: | R (≥ 3.6.0) | 
| Imports: | cli, desc, diffviewer, digest, dplyr, fs, glue, purrr, readr, rlang, shiny, stringr, tibble, tidyr, utils | 
| Suggests: | callr, covr, devtools, knitr, pkgload, rstudioapi, testthat (≥ 3.0.0), tidyverse | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-02-01 09:31:57 UTC; Dan | 
| Author: | Dan Chaltiel  | 
| Maintainer: | Dan Chaltiel <dan.chaltiel@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-02-03 12:00:02 UTC | 
autoimport: Automatic Generation of @importFrom Tags
Description
A toolbox to read all R files inside a package and automatically generate @importFrom 'roxygen2' tags in the right place. Includes a shiny application to review the changes before applying them.
Author(s)
Maintainer: Dan Chaltiel dan.chaltiel@gmail.com (ORCID)
See Also
Useful links:
Report bugs at https://github.com/DanChaltiel/autoimport/issues
Automatically compute @importFrom tags
Description
Automatically read all R files and compute appropriate @importFrom tags in the roxygen2 headers.
The tags can be added to the source files using the import_review() shiny app afterward.
Usage
autoimport(
  root = ".",
  ...,
  location = c("function", "package"),
  files = get_R_dir(root),
  namespace_file = "NAMESPACE",
  description_file = "DESCRIPTION",
  use_cache = TRUE,
  ignore_package = TRUE,
  verbose = 2
)
Arguments
root | 
 Path to the root of the package.  | 
... | 
 unused  | 
location | 
 Whether to add   | 
files | 
 Files to read. Default to the   | 
namespace_file | 
 Path to the NAMESPACE file  | 
description_file | 
 Path to the DESCRIPTION file  | 
use_cache | 
 Whether to use the cache system. Can only be "read" or "write".  | 
ignore_package | 
 Whether to ignore files ending with   | 
verbose | 
 The higher, the more output printed. May slow the process a bit.  | 
Value
Mostly used for side effects. Invisibly returns a dataframe summarizing the function imports, with input arguments as attributes.
Limitations
Autoimport is based on utils::getSrcref() and share the same limits.
Therefore, some function syntaxes are not recognized and autoimport will try to remove their @importFrom from individual functions:
Operators (
@importFrom dplyr %>%,@importFrom rlang :=, ...)Functions called by name (e.g.
sapply(x, my_fun))Functions used inside strings (e.g.
glue("my_fun={my_fun(x)}"))
To keep them imported, you should either use a prefix (pkg::my_fun) or import them in your package-level documentation, as this file is ignored by default (with ignore_package=TRUE).
Decision management
Description
Opens a Shiny app that shows a visual diff of each modified file.
Usage
import_review(
  source_path = "R/",
  output_path = get_target_dir(),
  background = getOption("autoimport_background", FALSE)
)
Arguments
source_path | 
 path to the original R files  | 
output_path | 
 path to the updated R files  | 
background | 
 whether to run the app in a background process. Default to   | 
Value
nothing if background==FALSE, the (callr::process) object if background==TRUE
Warning
Beware that using background=TRUE can bloat your system with multiple R session! 
You should probably kill the process when you are done:
p=import_review(background=TRUE) p$kill()
Source
inspired by testthat::snapshot_review()
Update the IMPORTLIST file
Description
Update the IMPORTLIST file, which forces the import of some packages without asking.
Usage
update_importlist(imports, path = NULL)
get_importlist(path = NULL)
Arguments
imports | 
 a list of imports with   | 
path | 
 path to the   | 
Value
nothing