- Added check for
box.lsp
package in.Rprofile
before applying thelanguageserver
options.
See How-to: Rhino 1.10 Migration Guide
- Integrated
box.lsp
for auto-complete support forbox
modules in VS Code. - Integrated
box.linters
styling functions to stylebox::use()
calls according to the Rhino style guide. - Added compatibility check for
treesitter
andtreesitter.r
dependencies
See How-to: Rhino 1.9 Migration Guide
- Added
sass: custom
configuration option for cleaner integration withbslib
. - Introduced
format_js()
andformat_sass()
powered by prettier.- Note:
lint_js()
andlint_sass()
report styling errors. They might complain about formatting done withformat_js()
andformat_sass()
functions; however, we haven't spotted any issues so far. If you face any problems with this, then please raise an issue on GitHub
- Note:
See How-to: Rhino 1.8 Migration Guide
- All linter functions migrated to
box.linters
. New rhino projects will be configured to use linters frombox.linters
. - Updated GitHub Workflow template triggers.
See How-to: Rhino 1.7 Migration Guide
- Introduce linters for
box::use
statements:box_universal_import_linter
checks if all imports are explicit.box_trailing_commas_linter
checks if statements include trailing commas.box_func_import_count_linter
checks if the number of function imports does not exceed the limit.box_separate_calls_linter
checks if packages and modules are imported in separate statements.
- Major refactor of
rhino::app()
:- The
request
parameter is now correctly forwarded to the UI function when using alegacy_entrypoint
(#395). - Force evaluation of arguments in higher-order functions to avoid unexpected behavior due to lazy evaluation (internal).
- The
- Add support for
shiny.autoreload
.
See How-to: Rhino 1.6 Migration Guide
pkg_install
supports installation from local sources, GitHub, and Bioconductor.- Improve Rhino CI (use latest versions and make better use of actions).
- Upgrade tools based on Node.js:
test_e2e()
now usescypress
13.6build_js()
now useswebpack
5.89build_sass()
now usessass
1.69lint_js()
now useseslint
8.56lint_sass()
now usesstylelint
14.16 (the last major version supporting stylistic rules)- Upgrade all remaining Node.js dependencies to latest versions and fix vulnerabilities.
- The minimum supported Node.js version is now 16.
- Introduce
RHINO_NPM
environment variable to allow usingnpm
alternatives likebun
andpnpm
.
- Add Rstudio Addins for lint, build and test Sass, R and JavaScript. Updated new module Addin.
- Fixes timeout during Cypress E2E tests with GitHub Actions.
format_r
no longer adds spaces inbox
imports.build_sass
minifies the CSS file also if using Rsass
package.
- New
pkg_install()
andpkg_remove()
functions to simplify dependency management in Rhino. - Add support for using React in Rhino
(tutorial, JS function
registerReactComponents()
, R functionreact_component()
). - Require box v1.1.3 or later (fixes issues with lazy-loaded data and trailing commas).
- Add E2E tests for the Rhino package (internal).
test_r()
now clears the environment of loaded box modules before tests are run. This removes the need forbox::reload()
calls in tests.- Added support for
shinymanager
.
- Rhino now works with
shinytest2
out of the box.
- Fix Rhino GitHub Actions (Cypress used to fail).
- Don't use symbolic links internally.
This fixes a couple of issues with Node.js tools on Windows:
- Developer Mode is no longer needed.
- The
build_js()
andbuild_sass()
functions now work withwatch = TRUE
. - The
lint_js()
function now works when imports are used in JavaScript.
- Drop dependency on Yarn - only Node.js is now required.
- Improved Rhino CI:
- Run
build_js()
andbuild_sass()
CI. - Use R version from the lockfile.
- Upgrade to
r-lib/actions/setup-r@v2
.
- Run
- The
lint_r()
now accepts apaths
argument which can be used to run it on specific files. - The
init()
function will refuse to run in the home directory unlessforce = TRUE
is passed. - Shiny bookmarking works better with
legacy_entrypoint: source
(the UI function no longer needs to take an argument). - Upgraded to
lintr >= 3.0.0
and updated linter rules.
Minor release to fix CRAN check failures (upgrade roxygen2 to 7.2.1 and regenerate documentation).
- New guide: "How to manage secrets and environments" (#263).
- Sass-specific at-rules are now recognized by
rhino::lint_sass()
(#289). - Shiny bookmarking now works (#294).
- RStudio no longer complains about "too many files" during push-button deployment (#299).
- Issues with server reloading during development resolved (#297).
First stable version.