The following checks are currently implemented in the
pkgcheck
package. Several of these are by default only
shown when they fail; absence from a resultant checklist may be
interpreted to indicate successful checks.
2. pkgchk_fns_have_return_vals
Check that all functions document their return values.
The reflects a CRAN checks for all new submissions, to ensure that
return values are documented for all functions. This check applies even
to functions which are called for their side effects and return
NULL
.
3. pkgchk_has_citation
Check whether a package has a inst/CITATION
file.
“CITATION” files are required for all rOpenSci packages, as documented in our “Packaging Guide. This does not check the contents of that file in any way.
4. pkgchk_has_codemeta
Check whether a package has a codemeta.json
file.
“codemeta.json” files are recommended for all rOpenSci packages, as documented in our “Packaging Guide.
5. pkgchk_has_contrib_md
Check whether package has contributor guidelines in a ‘contributing’ file.
A “contributing” file is required for all rOpenSci packages, as documented in our “Contributing Guide.
6. pkgchk_license
Check whether the package license is acceptable.
Details of acceptable licenses are provided in the links in our Packaging Guide.
7. pkgchk_obsolete_pkg_deps
Check whether the package depends on any obsolete packages for which better alternative should be used.
The list of obsolete packages is given in our Packaging Guide. Some of these are truly obsolete, the use of which raises a red cross in the summary of checks; while others are only potentially obsolete, thus use of which merely raises a note in the detailed check output.
8. pkgchk_on_cran
Check whether a package is on CRAN or not.
This does not currently appear in any ‘pkgcheck’ output (that is,
neither in summary or print methods), and is only used as part of
pkcchk_pkgname_available
.
10. pkgchk_renv_activated
For packages which use ‘renv’, check that it is de-activated.
Although we do not generally recommend ‘renv’ for package
developement, packages may use it. They must, however, ensure that renv
is deactivated.
11. pkgchk_has_scrap
Check whether the package contains any useless files like
.DS_Store
.
Files currently considered “scrap” are:
- “.DS_Store”
- “Thumbs.db”
- “.vscode”
- “.o” files
12. pkgchk_unique_fn_names
Check whether all function names are unique.
Uses the database of function names from all CRAN packages associated
with releases
of the pkgstats
package.
14. pkgchk_has_bugs
Check that a package ‘DESCRIPTION’ file lists a valid URL in the “BugReports” field.
15. pkgchk_uses_roxygen2
Check whether all documntation has been generated by ‘roxygen2’
Use of ‘roxygen2’ to generate package documnetation is mandatory for rOpenSci packages, and is described in detail in our Packaging Guide.
17. pkgchk_left_assign
Check that left-assignment operators are used consistently throughout a package.
Left-assign operators recognised by R are: (“=”, “<-”, “<<-”, “:=”), as defined in the main grammar definition. This actually checks the following two conditions:
- Check that any “global assignment operators” (“<<-”) are only used in appropriate contexts; and
- Check that all left-assignment operators are consistent, so either all use “=”, or all use “<-”, but do not mix these two symbols.
The :=
operator is ignored in these checks.
18. pkgchk_srr
Check that ‘srr’ documentation for statistics pacakges is complete.
Procedures for preparing and submitting statistical packages are
described in our
“Stats Dev Guide”. Statistical packages must use the ‘srr’ (software review roclets)
package to document compliance with our statistical standards. This
check uses the
srr::srr_stats_pre_submit()
function to confirm that
compliance with all relevant standards has been documented.