-
Notifications
You must be signed in to change notification settings - Fork 758
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DT should not be an imported package #2112
Comments
devtools is a meta package intended to be installed on rarely on developers' machines, where dependency load is not really a concern, but making setup easy for those new to developing R packages is. The code previously did prompt for installation when it was needed, but I don't think these concerns warrant changing it back to the previous behavior. 67a44f1 removes DT from an explicit import, which should resolve the htmltools concern. |
I understand that devtools is a meta package, but this seems excessive for getting a development setup from a clean system:
|
Maybe you know someone on the shiny team who can work on reducing these dependencies in DT and crosstalk ;) FWIW covr does not need shiny to generate or serve the reports, it simply uses DT to create the tables for the static HTML, which I guess I could generate without the DT package, but it doesn't seem like a great use of my time. |
I have to admit that you have a good point about the crosstalk dependencies. I filed an issue at rstudio/crosstalk#72. |
Dependency of devtools against a web framework is a major design flaw and should be addressed as a bug. I don't want shiny in my environment that has nothing to do or test with shiny. Opened #2133 or I am forking devtools to create something that does not contain such dependency. |
This old issue has been automatically locked. If you believe you have found a related problem, please file a new issue (with reprex) and link to this issue. https://reprex.tidyverse.org/ |
Because DT is an imported package, when you load devtools, it also loads htmltools, which makes it hard to do development on htmltools, especially on on Windows.
There are also some packages that are listed as Imports in crosstalk's DESCRIPTION but don't load immediately because they're not imported in the NAMESPACE. Even though they're not loaded immediately, these packages do need to be installed when DT (and thus crosstalk) is installed. Two of these packages have a pretty heavy installation footprint: shiny and ggplot2.
So there really two annoying issues: one is that loading devtools causes DT and htmltools to load. That one can be solved by removing
importFrom(DT,datatable)
from NAMESPACE. The other one is the heavy installation footprint. To solve that, DT would have to be removed from the Imports in the DESCRIPTION file. I see in #2085 that it was moved there specifically to cause it to be automatically installed. Maybe it could be changed to a Suggested package again and prompt for installation when it's needed?The text was updated successfully, but these errors were encountered: