Reputation: 4184
I am looking for a fast R solution to read a package NAMESPACE
file. The solution should contain already preprocessed (and aggregated) records and separated imports and exports.
Unfortunately I can’t use getNamespaceExports("dplyr")
/getNamespaceImports("dplyr")
as they need the package to be loaded to the R session, which is too slow.
I need a solution which simply process a text from the NAMESPACE
file. Any solutions using external packages as well as partial solutions would still be welcome.
The raw data we could grabbed with a call like readLines("https://raw.githubusercontent.com/cran/dplyr/master/NAMESPACE")
. roxygen2
generated files are formatted properly, but this will be not true for all manually generated files.
EDIT:
Thanks to Konrad R. answer I could develop such functionality in my new CRAN package - pacs
. I recommended to check pacs::pac_namespace
function. There is even one function which goes one step further, comparing NAMESPACE files between different package versions pacs::pac_comapre_namespace
.
Upvotes: 2
Views: 532
Reputation: 545598
The function is included in R as base::parseNamespaceFile
. Unfortunately the function does not directly take a path as an argument. Instead it constructs the path from a package name and the library location. However, armed with this knowledge you should be able to call it; e.g.:
parseNamespaceFile('dplyr', .libPaths()[1L])
Upvotes: 4