[Experimental]

Tool to create and maintain renv.lock files. The idea is to have 2 distinct files, one for development and the other for deployment. Indeed, although packages like attachment or pkgload must be installed to develop, they are not necessary in your project, package or Shiny application.

create_renv_for_dev(
  path = ".",
  dev_pkg = "_default",
  folder_to_include = c("dev", "data-raw"),
  output = "renv.lock",
  install_if_missing = TRUE,
  document = TRUE,
  pkg_ignore = NULL,
  ...
)

create_renv_for_prod(
  path = ".",
  output = "renv.lock.prod",
  dev_pkg = "remotes",
  ...
)

Arguments

path

Path to your current package source folder

dev_pkg

Vector of packages you need for development. Use _default (with underscore before to avoid confusing with a package name), to use the default list. Use NULL for no extra package. Use attachment:::extra_dev_pkg for the list.

folder_to_include

Folder to scan to detect development packages

output

Path and name of the file created, default is ./renv.lock

install_if_missing

Logical. Install missing packages. TRUE by default

document

Logical. Whether to run att_amend_desc() before detecting packages in DESCRIPTION.

pkg_ignore

Vector of packages to ignore from being discovered in your files. This does not prevent them to be in "renv.lock" if they are recursive dependencies.

...

Other arguments to pass to renv::snapshot()

Value

a renv.lock file

Examples

if (FALSE) {
create_renv_for_dev()
create_renv_for_dev(dev_pkg = "attachment")
create_renv_for_prod()
}