tools/README.md

Updating web libraries

This directory contains build tools for Shiny.

For TypeScript / JavaScript build tool descriptions, see the ./srcts folder.

Updating and patching bootstrap-datepicker

Updating

bootstrap-datepicker can be updated with the script updateBootstrapDatepicker.R.

Making a new patch

To create a new patch:

  1. Make any necessary changes to files in inst/www/shared/datepicker
  2. Do not commit your changes.
  3. Instead, create a patch with a command like git diff > tools/datepicker-patches/012-a-description.patch. Patches are applied in alphabetic order (per list.files), so you should name your patch based on the last one in tools/datepicker-patches so that it's applied last.
  4. Source updateBootstrapDatepicker.R to download the library and apply patches.
  5. Test your changes
  6. git add the new .patch and any resulting changes

Updating and patching ion.rangeSlider

Updating

ion.rangeSlider can be updated with the script updateIonRangeSlider.R. That script downloads a specific version of ion.rangeSlider and applies our patches in tools/ion.rangeSlider-patches.

Making a new patch

To create a new patch:

  1. Make any necessary changes to files in inst/www/shared/ion.rangeSlider
  2. Do not commit your changes.
  3. Instead, create a patch with a command like git diff > tools/ion.rangeSlider-patches/0004-a-description.patch. Patches are applied in alphabetic order (per list.files), so you should name your patch based on the last one in tools/ion.rangeSlider-patches so that it's applied last.
  4. Run updateIonRangeSlider.R to download the library and apply patches.
  5. Test your changes
  6. Run devtools::document().
  7. git add the new .patch and any resulting changes

Updating Font-Awesome

  1. Edit updateFontAwesome.R to use the new version, and then run it. This will download and copy the files to the relevant locations.
  2. Update the "font-awesome" htmlDependency in R/bootstrap.R to reflect the new version.
  3. Update the documentation for the icon() function in R/bootstrap.R to reflect the new version.
  4. Run devtools::document().
  5. Commit the changes.

Updating jQuery

  1. Edit updatejQuery.R to use the new version, and then run it. This will download and copy the files to the relevant locations.
  2. Update the "jquery" htmlDependency in R/shinyui.R to reflect the new version.
  3. Update the documentation for the shiny.jquery.version option in R/shiny-options.R to reflect the new version.
  4. Run devtools::document().
  5. Commit the changes.

Updating Bootstrap-Accessibility-Plugin

  1. bootstrap-accessibility-plugin can be updated with the script updateBootstrapAccessibilityPlugin.R.
  2. Edit updateBootstrapAccessibilityPlugin.R to use the new version, and then run it. This will download and copy the files to the relevant locations.
  3. Update the documentation for the bootstrapLib() function in R/bootstrap.R to reflect the new version.
  4. Run devtools::document().
  5. Commit the changes.

Updating and patching selectize

Updating

selectize and its accessibility plugin can be updated with the script updateSelectize.R. That script downloads a specific version of selectize and selectize-plugin-a11y, and applies our patches in tools/selectize-patches.

Making a new patch

To create a new patch:

  1. Make any necessary changes to files in inst/www/shared/selectize
  2. Do not commit your changes.
  3. Instead, create a patch with a command like git diff > tools/selectize-patches/000-assign-unique-id-per-option.patch. Patches are applied in alphabetic order (per list.files), so you should name your patch based on the last one in tools/selectize-patches so that it's applied last.
  4. Run updateSelectize.R to download the library and apply patches.
  5. Test your changes
  6. git add the new .patch and any resulting changes

Updating Shiny's [S]CSS

  1. Make any desired changes to source files in inst/www/shared/shiny_scss
  2. Run yarn build to generate a built shiny.min.css file
  3. Commit any changes


rstudio/shiny documentation built on June 14, 2024, 4:25 p.m.