Closed donyunardi closed 7 months ago
Hey @insightsengineering/nest-core-dev based on the flow I've observed during other pre-release activities in our packages I allowed myself to divide this card into smaller activities
I hope this will allow more people to be included in the collaboration in this process and will make the review process easier. Please make all PRs to pre-release@main
branch, but please do not merge, even when a PR is reviewed and approved. We will merge everything, the moment all PRs to pre-release@main
branch are approved and pre-release@main
is also approved. My proposition is to have a pre-release@main
branch be a branch where we review Package-level checks and then merge all other activities in there, before merging to main.
Agree! It will require some extra focus when doing exported/non-exported, but I think this will help the review process greatly
While looking around for unused functions, I came upon add_facet_labels
which is exported but not necessarily should be. Should we look for cases like that as well? Do we have time for such an assessment?
@chlebowa maybe it's a good comment for https://github.com/insightsengineering/teal.modules.general/pull/659 ? If function is not used in any teal package nor in teal gallery it does not need to be exported.
It is used only in teal.modules.general
in tm_g_bivariate
so prefixing should be enough and no need for exporting. Examples can be extended for this function with getFromNamespace()
(and potentially be removed for CRAN release)
Prefixing is only for foreign functions. This function (looks to me) is defined in tmg
and only used in tmg
functions with no apparent exposure to a teal
app developer. A function like that should not be exported.
But perhaps there is another reason for this particular function to be exported?
Yeah, I think you can remove the export. No need for prefixing if it's from tmg, yes, sorry! And only the examples need to be updated as it will not be exported anymore.
Agree! How did you find this function? Is it an easy process or heavily manual?
I was manually going through all functions and searching their names to see whether and when they are called.
For the automation, maybe there is a way you can list of functions and then grep it's appearance in a directory that contains all teal packages and teal,gallery. And sort functions by the number of apperances, so that the least frequent one can be examined manually?
From the namespace file, we can directly check all the exported functions such as add_facet_labels
and get_scatterplotmatrix_stats
. However, both of these functions are exported and should be internal. I checked this by searching for these functions on the Github search bar for search in organization .
I did use the GH search bar to see if it's used in different packages but that is never the first place that I go. It ignores special characters and chops up queries on white space.
For documentation simplicity and removal of repetitive @return
tags I suggest to:
#' @return Object of class `teal_module` to be used in `teal` applications
to shared_params
R/utils.R
#' @inherit shared_params return
on all the modulesWe should also add a task to this issueto remove all linter errors.
For documentation simplicity and removal of repetitive @return tags I suggest to:
I agree,
@averissimo would you like to take the lead on your propositions, or do you need our help?
I'll do it :+1:
The PR is up and running -> #670. After it's merged we can either
@return
tag on all of the PRs to use this shared
@return
to @inherit return shared_params
I think we can merge #670 into here, and then pull changes to all other PRs that we have for functions
Moved this comment to it's own issue
All works are completed. Closing,
Package level checks
Title
is not duplicated in PackageDescription
in DESCRIPTION file (e.g. this happens in teal.slice currently)Title
andDescription
fields of DESCRIPTION file are quoted with'
teal.*
mentions are lower-cased and quoted/main/
in the address but it has/latest/
instead, so we always expose the documentation of the latest release and not what's currently on main branch but not yet released,Vignettes level checks
Non-exported functions level checks
Exported functions level checks
@title ➡️ @doctype ➡️ @description ➡️ @details ➡️ @rdname ➡️
➡️ @inheritParams ➡️ @params ➡️ @return ➡️ @seealso ➡️ @references ➡️
➡️ @examples ➡️ @export ➡️ @keywords ➡️ @noRd
:::
in examples:::
, usegetFromNamespace()
function.Please self-assign by your name next to the module and link to the PR:
extra:
@return
tag #670Potential removal of dependencies
Consider:
643
{magrittr}
by importing pipe operator from{dplyr}
:heavy_check_mark: donetidyselect
as its functions are reexported fromdplyr
Depends
->Imports
{ggmosaic}
:x: impossible (see on issue){ggplot2}
:x: impossible (see on issue){shinyTree}
:heavy_check_mark: done{teal.transform}
:x: valid:teal.transform
functions should be available totmg
users{teal}
:x: valid:teal
dependency is standard in all module packages{shiny}
:x: valid: liketeal
, module packages useshiny
extensivelyConfig/Needs/verdepcheck
andpre-commit
config are updatedUpdate and Apply the Latest Roxygen Documentation Tags
Unused functions
642
Replace
val_labels
withcol_labels
Correct linting
670
Standardize
option
Notation