Check for missing packages and symbols in namespace calls.
Note that using check_exports=TRUE
or check_nonexports=TRUE
will load packages used in user code so it could
potentially change the global state.
Arguments
- check_exports
Check if
symbol
is exported fromnamespace
innamespace::symbol
calls.- check_nonexports
Check if
symbol
exists innamespace
innamespace:::symbol
calls.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "xyzxyz::sd(c(1, 2, 3))",
linters = namespace_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[namespace_linter] Package 'xyzxyz' is not installed.
lint(
text = "stats::ssd(c(1, 2, 3))",
linters = namespace_linter()
)
#> ::warning file=<text>,line=1,col=8::file=<text>,line=1,col=8,[namespace_linter] 'ssd' is not exported from {stats}.
# okay
lint(
text = "stats::sd(c(1, 2, 3))",
linters = namespace_linter()
)
lint(
text = "stats::ssd(c(1, 2, 3))",
linters = namespace_linter(check_exports = FALSE)
)
lint(
text = "stats:::ssd(c(1, 2, 3))",
linters = namespace_linter(check_nonexports = FALSE)
)