Skip to content

Commit f6c13a9

Browse files
authored
Dash for R v0.2.0 (#162)
* Provide support for no_update in Dash for R (#111) * Use dev_tools_prune_errors instead of pruned_errors (#113) * Better handling for user-defined error conditions in debug mode (#116) * Provide support for multiple outputs (#119) * Provide support for hot reloading in Dash for R (#127) * Implement support for clientside callbacks in Dash for R (#130) * Add line number context to stack traces when srcrefs are available (#133) * Update dash-renderer to 1.2.2 and fix dev tools UI display of stack traces (#137) * Support for meta tags in Dash for R (#142) * Fixes for hot reloading interval handling and refreshing apps within viewer pane (#148) * Support for asynchronous loading/compression in Dash for R (#157) * Support returning asset URLs via public method within Dash class (#160) * Minor fix for get_asset_url + docs, add url_base_pathname (#161)
1 parent 5f2942c commit f6c13a9

33 files changed

+26971
-31421
lines changed

.circleci/config.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ jobs:
77
working_directory: ~/dashr
88
docker:
99
- image: byronz/dashr:ci
10+
environment:
11+
PERCY_PARALLEL_TOTAL: '-1'
12+
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'True'
1013

1114
steps:
1215
- checkout
@@ -22,25 +25,37 @@ jobs:
2225
echo "JOB PARALLELISM: ${CIRCLE_NODE_TOTAL}"
2326
echo "CIRCLE_REPOSITORY_URL: ${CIRCLE_REPOSITORY_URL}"
2427
echo $CIRCLE_JOB > circlejob.txt
28+
git rev-parse HEAD | tr -d '\n' > commit.txt
2529
2630
- run:
2731
name: 🚧 install R dependencies
2832
command: |
29-
sudo Rscript -e 'install.packages("remotes")'
30-
sudo R -e "remotes::install_github('plotly/dash-core-components', dependencies=TRUE)"
31-
sudo R -e "remotes::install_github('plotly/dash-html-components', dependencies=TRUE)"
32-
sudo R -e "remotes::install_github('plotly/dash-table', dependencies=TRUE)"
33-
sudo R CMD INSTALL .
33+
sudo Rscript -e 'commit_hash <- readChar("commit.txt", file.info("commit.txt")$size); message("Preparing to install plotly/dashR ", commit_hash, " ..."); install.packages("remotes"); remotes::install_github("plotly/dashR", upgrade=TRUE, ref=commit_hash, force=TRUE)'
3434
3535
- run:
36-
name: ⚙️ run integration test
36+
name: ⚙️ Integration tests
3737
command: |
3838
python -m venv venv
3939
. venv/bin/activate
40-
git clone --depth 1 https://github.com/plotly/dash.git
41-
cd dash && pip install -e .[testing] --quiet && cd ..
40+
pip install -e git+https://github.com/plotly/dash.git#egg=dash[testing]
4241
export PATH=$PATH:/home/circleci/.local/bin/
43-
pytest tests/integration/
42+
pytest --log-cli-level DEBUG --nopercyfinalize --junitxml=test-reports/dashr.xml tests/integration/
43+
- store_artifacts:
44+
path: test-reports
45+
- store_test_results:
46+
path: test-reports
47+
- store_artifacts:
48+
path: /tmp/dash_artifacts
49+
50+
- run:
51+
name: 🦔 percy finalize
52+
command: npx percy finalize --all
53+
when: always
54+
55+
- run:
56+
name: 🔎 Unit tests
57+
command: |
58+
sudo Rscript -e 'testthat::test_dir("tests/")'
4459
4560
workflows:
4661
version: 2

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# These owners will be the default owners for everything in
2+
# the repo. Unless a later match takes precedence
3+
@alexcjohnson @Marc-Andre-Rivet @rpkyle

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
# Change Log for Dash for R
22
All notable changes to this project will be documented in this file.
33

4+
## [0.2.0] - 2020-01-03
5+
### Added
6+
- Support for asynchronous/dynamic loading of dependencies, resource caching, and asset fingerprinting [#157](https://github.com/plotly/dashR/pull/157)
7+
- Compression of text resources using `brotli`, `gzip`, or `deflate` [#157](https://github.com/plotly/dashR/pull/157)
8+
- Support for adding `<meta>` tags to index [#142](https://github.com/plotly/dashR/pull/142)
9+
- Hot reloading now supported in debug mode [#127](https://github.com/plotly/dashR/pull/127)
10+
- Support for displaying Dash for R applications within RStudio's viewer pane when `use_viewer = TRUE`
11+
- Clientside callbacks written in JavaScript are now supported [#130](https://github.com/plotly/dashR/pull/130)
12+
- Multiple outputs are now supported [#119](https://github.com/plotly/dashR/pull/119)
13+
- Selective callback updates to properties now supported with `dashNoUpdate()` [#111](https://github.com/plotly/dashR/pull/111)
14+
- Additional line number context inserted when available within stack traces [#133](https://github.com/plotly/dashR/pull/133)
15+
- Integration and unit tests are now performed when commits are made to open pull requests
16+
- Support returning asset URLs via `app$get_asset_url` when app is loaded via `source()` or `APP_ROOT_PATH` environment variable is defined [#160](https://github.com/plotly/dashR/pull/160)
17+
- `url_base_pathname` added; mimics functionality in Dash for Python, sets defaults for `routes_pathname_prefix` and `requests_pathname_prefix` when not otherwise provided [#161](https://github.com/plotly/dashR/pull/161)
18+
19+
### Changed
20+
- `dash-renderer` updated to v1.2.2 [#137](https://github.com/plotly/dashR/pull/137)
21+
- Dash for R no longer requires forked `reqres`, patch applied upstream [thomasp85/reqres#9](https://github.com/thomasp85/reqres/pull/9)
22+
- The `pruned_errors` parameter has been renamed to `dev_tools_prune_errors` [#113](https://github.com/plotly/dashR/pull/113)
23+
24+
### Fixed
25+
- Stack traces now display properly within viewer pane when `debug = TRUE` and `use_viewer = TRUE` [#137](https://github.com/plotly/dashR/pull/137)
26+
- Patch for `reqres` package to handle cookies containing multiple "=" [#122](https://github.com/plotly/dashR/pull/122)
27+
- Handling for user-defined errors in callbacks implemented [#116](https://github.com/plotly/dashR/pull/116)
28+
- Fixes for hot reloading interval handling and refreshing apps within viewer pane [#148](https://github.com/plotly/dashR/pull/148)
29+
- `get_asset_url` checks `getAppPath()` as well as `DASH_APP_ROOT_PATH` environment variable when invoked [#161](https://github.com/plotly/dashR/pull/161)
30+
431
## [0.1.0] - 2019-07-10
532
### Added
633
- Initial release

DESCRIPTION

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
Package: dash
22
Title: An Interface to the Dash Ecosystem for Authoring Reactive Web Applications
3-
Version: 0.1.0
3+
Version: 0.2.0
44
Authors@R: c(person("Chris", "Parmer", role = c("aut"), email = "[email protected]"), person("Ryan Patrick", "Kyle", role = c("aut", "cre"), comment = c(ORCID = "0000-0001-5829-9867"), email = "[email protected]"), person("Carson", "Sievert", role = c("aut"), comment = c(ORCID = "0000-0002-4958-2844")), person(family = "Plotly Technologies", role = "cph"))
55
Description: A framework for building analytical web applications, Dash offers a pleasant and productive development experience. No JavaScript required.
66
Depends:
77
R (>= 3.0.2)
88
Imports:
9-
dashHtmlComponents (== 1.0.0),
10-
dashCoreComponents (== 1.0.0),
11-
dashTable (== 4.0.2),
9+
dashHtmlComponents (== 1.0.2),
10+
dashCoreComponents (== 1.6.0),
11+
dashTable (== 4.5.1),
1212
R6,
1313
fiery (> 1.0.0),
1414
routr (> 0.2.0),
1515
plotly,
16-
reqres,
16+
reqres (>= 0.2.3),
1717
jsonlite,
1818
htmltools,
1919
assertthat,
@@ -31,13 +31,13 @@ Collate:
3131
'imports.R'
3232
'print.R'
3333
'internal.R'
34-
Remotes: plotly/dash-html-components@17da1f4,
35-
plotly/dash-core-components@cc1e654,
36-
plotly/dash-table@042ad65,
37-
plotly/reqres@55072ab
34+
Remotes: plotly/dash-html-components@55c3884,
35+
plotly/dash-core-components@c107e0f,
36+
plotly/dash-table@3058bd5
3837
License: MIT + file LICENSE
3938
Encoding: UTF-8
4039
LazyData: true
40+
KeepSource: true
4141
RoxygenNote: 6.1.1
4242
Roxygen: list(markdown = TRUE)
4343
URL: https://github.com/plotly/dashR

NAMESPACE

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
S3method(print,dash_component)
44
export(Dash)
5+
export(clientsideFunction)
56
export(dashNoUpdate)
67
export(input)
78
export(output)
@@ -26,4 +27,4 @@ importFrom(routr,RouteStack)
2627
importFrom(routr,ressource_route)
2728
importFrom(stats,setNames)
2829
importFrom(tools,file_ext)
29-
importFrom(utils,getFromNamespace)
30+
importFrom(utils,getFromNamespace)

0 commit comments

Comments
 (0)