Add is_vscode_project criterion, true if a .vscode/ directory exists (#155, #157, @jennybc).
New is_targets_project (@mitchelloharawild, #108, #146).
Avoid warnings about invalid inputs with non-native encoding (@bastistician, #80).
Align is_pkgdown_project with pkgdown > 2.0.9. (#104, #106).
Avoid warnings on Windows network drives (#105).
is_root() to is_fs_root() to avoid confusion (#101).is_renv_project criterion looking for an renv.lock file (@gadenbuie, #86).is_quarto_project criterion looking for a Quarto project (@olivroy, #91, #92).:: to skip if not installed in tests (#94).is_pkgdown_project root criterion looking for a _pkgdown.yml, _pkgdown.yaml, pkgdown/_pkgdown.yml and/or inst/_pkgdown.yml file (#79, @salim-b).LazyData in DESCRIPTION.find_root_file(), if the first path component is already an absolute path, the path is returned unchanged without referring to the root. This allows using both root-relative and absolute paths in here::here(). Mixing root-relative and absolute paths in the same call returns an error (#59).find_root_file() propagates NA values in path components. Using tidyverse recycling rules for path components of length different from one (#66).has_file() and has_file_pattern() gain fixed argument (#75).is_drake_project criterion (#34).subdir argument to make_fix_file() (#33, @BarkleyBG).has_file() and has_dir() now throw an error if the filepath argument is an absolute path (#74).has_basename() replaces has_dirname() to avoid confusion (#63).as_root_criterion() and is_root_criterion() replace as. and is., respectively. The latter are soft-deprecated.thisfile() and related functions are soft-deprecated, now available in the whereami package (#43).is_dirname() criterion no longer considers sibling directories (#44).thisfile(), moved from kimisc (#8)..git directories created with git clone --separate-git-dir=... (#24, @karldw).New root criteria
New function
get_root_desc() returns the description of the criterion that applies to a given root, useful for composite criteria created with |.Minor enhancements
Internal
$testfun member of the rprojroot S3 class is now a list of functions instead of a function.Compatibility
backports package.New root criteria
Minor enhancement
| operator (#15).Documentation
Testing
Initial CRAN release.
S3 class root_criterion:
find_file() and make_fix_file()root_criterion()as.root_criterion()is.root_criterion()has_file()has_file_pattern()is_r_packageis_rstudio_projectGetting started:
find_package_root_file()find_rstudio_root_file()Use a custom notion of a project root:
find_root()find_root_file()Vignette