R/snif_secrets_pkg.R

Defines functions sniff_secrets_pkg

Documented in sniff_secrets_pkg

#' Scan for secrets in a package
#'
#' @export
#' @param dir (character) path to a package root. required
#' @param secrets (character) vector of secrets to look for. required
#' @return named list of all secrets, each either an empty list if none
#' found, or a named list of files and the line numbers secrets found on
#' @examples \dontrun{
#' pkgpath = tempdir()
#' sniff_secrets_pkg(dir = pkgpath, secrets = c("mysecretkey"))
#' unlink(pkgpath)
#' }
sniff_secrets_pkg <- function(dir = ".", secrets) {
  assert(dir, "character")
  pkg <- as_pkg(dir)
  r_path <- file.path(pkg$path, "R")
  out <- list()
  for (i in seq_along(secrets)) {
    out[[ secrets[i] ]] <- sniff_one(r_path, secrets[i])
  }
  return(out)
}
ropensci/trufflesniffer documentation built on Sept. 11, 2022, 11:08 a.m.