A Framework for Building Robust Shiny Apps
This is an intermediate release after CRAN feedback.
Full Changelog: https://github.com/ThinkR-open/golem/compare/v0.3.5...v0.4.0
Update in the tests for CRAN.
add_modules()
now comes with a with_test
parameter that can be turned on to add a test file to the module by @ColinFay in https://github.com/ThinkR-open/golem/pull/736
{rstudioapi}
function is implemented, using `hasFu… by @ArthurData in https://github.com/ThinkR-open/golem/pull/776
Full Changelog: https://github.com/ThinkR-open/golem/compare/v0.3.1...v0.3.2
add_*
You can now create a skeleton for a Shiny input binding using the golem::add_js_binding("name")
function (#452, @DivadNojnarg)
You can now create a skeleton for a Shiny output binding using the golem::add_js_output_binding("name")
function (@DivadNojnarg)
add_html_template()
creates an htmlTemplate.
use_*
use_external_file()
allows to add any file to the www
folder, use_external_css_file()
, use_external_html_template()
, and use_external_js_file()
will download them from a URL (#295, #491).
use_internal_css_file()
, use_internal_file()
, use_internal_html_template()
, use_internal_js_file()
functions allow to any file from the current computer to the www
folder (@KasperThystrup, #529)
expect_running()
expects the current shiny app to be running.Every {golem}
project now have a project_hook
that is launched after the project creation.
module_template()
is the default function for {golem}
module creation. Users will now be able to define a custom module_template()
function for add_module()
, allowing to extend {golem}
with your own module creation function. See ?golem::module_template for more info (#365)
add_js_
and add_css_
functions now have a template function, allowing to pass a file constructor.
is_running()
checks if the current running application is a {golem}
based application (#366)
utils_ui.R
now contains a "make_action_button()" function (#457, @DivadNojnarg)
run_dev()
launches the run_dev.R
script (#478, @KoderKow)
run_dev()
performs a check on golem name.
sanity_check()
function has been added to check for any 'browser()' or commented #TODO / #TOFIX / #BUG in the code (#1354 @Swechhya)
The modules are now created with the new skeleton when the installed version of {shiny}
is >= 1.5.0.
use_external_*()
function don't open files by default (#404)
use_recommended_tests*()
now calls use_spell_check()
(#430)
The 02_dev.R
now includes more CI links
golem::expect_running()
is now bundled in default tests
Default tests now test for functions formals (#437)
You can now pass arguments to internal roxygenise()
& load_all()
(#467)
Bundle_resources()
now handle subfolders (#446)
run_app()
now includes the default arguments of shinyApp()
(#254, @chasemc)
create_golem()
now adds strict dependency versions (#466)
{golem}
app now comes with a meta tags "app-builder", which default to "golem", and that can be changed or turn off in bundle_resources()
.
with_golem_options
can now explicit calls print
on the app
object, solving some issues with benchmarking the application. This explicit print can be turned off by setting print
to FALSE in with_golem_options
(#148)
dockerignore
is now available.
The add_helpers
and add_utils
now have roxygen comments (Richard Pilbery, #330)
dev/03_dev.R
now has devtools::build()
(#603)
detach_all_attached()
is now silent (#605)
add_ui_server_files()
is now signaled as deprecated. Please comment on https://github.com/ThinkR-open/golem/issues/445 if you want it to be kept inside the packageadd_dockerfile*
function now return the {dockerfiler}
object instead of the path to it. It allows to modify the Dockerfile object programmatically. (#493)
The get_golem_config
now first look for a GOLEM_CONFIG_ACTIVE
before looking for R_CONFIG_ACTIVE
(#563)
add_
functions no longer append to file if it already exists (#393)
config::get()
is no longer exported to prevent namespace conflicts with base::get()
fixed issue with favicon when package is built (#387)
use_external_*()
function don't add ext if already there (#405)
create_golem
function does not modify any existing file (#423, @antoine-sachet)
add_resources_path()
now correctly handles empty folder (#395)
test for app launching is now skipped if not interactive()
add_utils
and add_fct
now print to the console (#427, @novica)
Multiple CRAN repo are now correctly passed to the Dockerfile (#462)
app_config, DESC and golem-config.yml are now updated whenever you change the name of the package using a golem function (#469 )
test_recommended
now work in every case (hopefully)
usethis::use_mit_license
does not have the name
argument anymore so if fits new version of {usethis}
(#594)
Typo fix preventing invoke_js("prompt")
and invoke_js("confirm")
to work (#606)
document_and_reload()
now has export_all = FALSE,helpers = FALSE,attach_testthat = FALSE
, allowing the function to behave more closely to what library() does (#399)
Dockerfile generation now removes the copied file and tar.gz
This release matches the CRAN release of {golem} v 0.2.1
Now on CRAN.