Closed AARON-CLARK closed 1 year ago
Someone recently shared the tinyverse manifesto with me that expands on why less dependencies is best.
Dependencies matter. Every dependency you add to your project is an invitation to break your project.
It shares articles on (1) dependency management and (2) how stable dependencies require less work. As of today, we have 36 dependencies, so we definitely have our work cut out for us.
I think this was achieved with #323
As we know,
devtools::check()
throws a note whenever there are more than 20 package imports, and rightfully so. It can become cumbersome to manage such a large package dependency tree - making sure everything places nicely with each other.We currently have about 35 imports in the
DESCRIPTION
file. In our dev meeting on 11/15, we discussed we could probably shedmagrittr
,waiter
, andkeyring
without batting an eye. And we with a little work, we could probably shedtibble
&shinyhelper
. There may be others. Right now, we have no target for "max number of packages" we're okay with, so just progress towards slimming down the dependency list is much appreciated.Just a note: it's important to use
Crtl + Shift + F
and do a whole project search for these packages before removing! If there are any functions being used, they should be prefixed with the package name, such aswaiter::use_waiter()
. So if you search for "waiter", you SHOULD be able to find all it's usage in the package/app, but there may be exceptions to that (unfortunately) so be sure to test the app vigorously after removing.