As my code evolves from version to version, I'm aware that there are some packages for which I've found better/more appropriate packages for the task at hand or whose purpose was limited to a section of code which I've now phased out.
Is there any easy way to tell which of the loaded packages are actually used in a given script? My header is beginning to get cluttered.
My funchir::stale_package_check()
has served dutifully but I've finally deprecated it.
lintr::unused_import_linter()
serves the same purpose and does so much better.
I've now updated the referenced function to use the abstract syntax tree (AST) instead of using regular expressions as before. This is a much more robust way of approaching the problem (it's still not completely ironclad). This is available from version 0.2.0 of funchir
, now on CRAN.
I've just got around to writing a quick-and-dirty function to handle this which I call stale_package_check
, and I've added it to my package (funchir
).
e.g., if we save the following script as test.R:
library(data.table)
library(iotools)
DT = data.table(a = 1:3)
Then (from the directory with that script) run funchir::stale_package_check('test.R')
, we'll get:
Functions matched from package data.table: data.table
**No exported functions matched from iotools**