Skip to content

Commit f0a2826

Browse files
HammadTheOneRyan Patrick Kylerpkylenicolaskruchtenrpkyle
authored
Dash R 0.6.0 release (#272)
* contribute test script * remove version updating in DESCRIPTION * fix EOL Co-authored-by: HammadTheOne <[email protected]> * Add support for user-defined server routes (#225) * Provide support for script and stylesheet attributes (#226) * Authenticate on pulls from Docker Hub (#231) * Add support for callback graph improvements and timing (#224) * Update CHANGELOG.md * 189 - Add Pattern Matching Callbacks for Dash R (#228) * Testing initial implementation * More testing * Callback Context Updates * Updating callback context logic * Fixing callback returns * Adding callback args conditional * Cleanup and additional changes to callback value conditionals * Comment cleanup * Added PMC callback validation, removed unnecessary code * Update R/dependencies.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update R/dependencies.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update R/dependencies.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update R/dependencies.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Added build to gitignore * Updated dependencies.R * Update boilerplate docs and add wildcard symbols * Drying up validation code and applying symbol logic * Update test to use symbols * Cleaned up code and added allsmaller test example * Cleaning up redundant code * Update FUNDING.yml * Updated callback_args logic and example * Adding basic unittests, updated validation * Fixed response for MATCH callbacks * Added integration test and updated examples for docs * Added additional integration test * Formatting and cleanup * update docs * Update to-do app * Add comments to examples * Change empy vector to character type. Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update boilerplate text. Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update tests/testthat/test-wildcards.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update wildcards_test.R Co-authored-by: Ryan Patrick Kyle <[email protected]> * Removed triple colon syntax * Use seq_along and remove unnecessary unittest * Update CHANGELOG.md * Update CHANGELOG.md * Add support for arbitrary and sorted keys * Whitespace deleted * Added integration tests * Fixing test output * Fixing flakiness * Update test_pattern_matching.py * Update test_pattern_matching.py * Updating boilerplate text and test with generalized keys * Minor test fixes Co-authored-by: Ryan Patrick Kyle <[email protected]> Co-authored-by: Nicolas Kruchten <[email protected]> Co-authored-by: rpkyle <[email protected]> * Fixing Null error with glue::glue interpolation (#233) * Fixing NULL error with glue interpolation * Update utils.R * Update utils.R * Update CHANGELOG.md * Update dash-renderer to v1.8.2 (#234) * bump dash-renderer to v1.8.2 * Update CHANGELOG.md * add note about update to dash-renderer * Fixing flaky test * bump package version to v0.8.0 * Update R/dash.R Co-authored-by: HammadTheOne <[email protected]> * Update tests/testthat/test-wildcards.R Co-authored-by: HammadTheOne <[email protected]> * Update DESCRIPTION Co-authored-by: HammadTheOne <[email protected]> * add PMC example * update documentation * update CHANGELOG release date * 🔨 PMC docs refactor * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: HammadTheOne <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: HammadTheOne <[email protected]> * Update tests/integration/callbacks/test_pattern_matching.py Co-authored-by: HammadTheOne <[email protected]> * add import of glue * add glue to imports.R * fix line length issue * Fix setCallbackContext for wildcard and ordinary inputs (#237) * Update setCallbackContext * Adding graphs test * Slight fix * bump version and update CHANGELOG * Less flaky test Co-authored-by: rpkyle <[email protected]> * bump dependency versions * update CHANGELOG * update dash-renderer to v1.8.3 * update CHANGELOG * Favicon fix (#240) * Adding default favicon * Removing redundant codeblock * Added default favicon * Minor fix to requests prefix * Update CHANGELOG.md Co-authored-by: Ryan Patrick Kyle <[email protected]> * Added simple test * Fixed typo * Fixed typo Co-authored-by: Ryan Patrick Kyle <[email protected]> * Remove context reference from CircleCI (#241) * Dash R Core Package Unification (#243) * Initialize npm and gulpfile in repo * Adding directory structure * Initial implementation of unification script * Minor grep fixes * Fixed DESCRIPTION imports * Added updated dash-table deps * Regex for version numbers * Cut import entries from NAMESPACE * Remove && include(dashr) * Removing gulp-asset artifacts and rebuilding complete package * Removing unnecessary files * fix: remove html, core pkgs from tests * fix: update script tags unit test * Revert R6 import * Add temporary collate * Update README examples * Scrubbing imports * More import scrubbing * Package development updates * Update gitignore and namespace * Updated gulpfile jobs * Updated all dependencies * Added templates for namespace/internal exports * Update internal, namespace, and gulpfile cleanup * Fix dependency sourcing * Linting * Adding job for asset retrieval and deletion * Minor src change * Added error handling * Fixing favicon bug * chore: use shallow clone Co-authored-by: Ryan Patrick Kyle <[email protected]> * Added deprecation warning if dcc, html, or table packages are attached (#249) * Added deprecation warning * Update R/dash.R Co-authored-by: Ryan Patrick Kyle <[email protected]> Co-authored-by: Ryan Patrick Kyle <[email protected]> * Update `highlight.js` dependency for dash-table (#262) * Updating gulpfile * Updating dependencies for dash components * Updated highlight.js dependency source * Add Dash 2 layout syntax wrappers and html tags (#265) * Added add_meta helper * Add helper functions and export pipe * Adding in tags wrapper * Updating ci config * Updated CHANGELOG * Updated circleci to include rust package manager (cargo). * Removed dashr command in circleci config. * Updating changelog * added basic test * Cleaning up Dash 2 references and duplication * Updated documentation * Allow conditional UI * Add meta tag check * More cleanup * Last bit of cleanup Co-authored-by: Steve Sperandeo <[email protected]> * Fix suppress_callback_exceptions config (#268) * Add config key * Fixing CI * Simplified callback syntax and addtional utility functions (#270) * Tag updates * Added RStudio dash snippet * Added simple_table * Added flexible callbacks * Documentation and NAMESPACE updates * Updated DESCRIPTION * Adding unittests * Adding context tags to tests * Updated CHANGELOG * Update monorepo and rebuild package (#271) * Updating gulpfile and package.json * More package.json and linting updates * Adding in simplified callback updates/tests * Import fixes * Updating package.json * Gulpfile script changes * Gulpfile updates * Rebuilding package with monorepo updates * Re-running test * Updating unittest * Updating test dependencies * Updating DESCRIPTION and .Rbuildignore forchecks * Updating function descriptions and NAMESPACE imports * Fixed examples and updated docs * Updating version * Remove references to dash namespace within package * Update testthat and remove deprecated context calls * Removed fixup_metadata.R * Removing more dash namespace references * Concatenating component function files * Updating checks * Merging components into package R files * Fixing check * More package cleanup * testthat 3.0.0 * Rebuilding package * Fixed conditional for multiple outputs * Fix no_update test * Fixing callback_instrumentation test * Fixing unit test * Added DBC to Dash R package (#273) * Adding dbc to dashR namespace * updated gitignore * Adding dbc docs and updating gulpfile * Updating test with dbc * Moved misc tests and added dbc snapshot * Fixing test * fixing id * Fixed export and test * Reverting sorted prop order * Checks updates * Re-running test Co-authored-by: Ryan Patrick Kyle <[email protected]> Co-authored-by: Ryan Patrick Kyle <[email protected]> Co-authored-by: Nicolas Kruchten <[email protected]> Co-authored-by: rpkyle <[email protected]> Co-authored-by: Steve Sperandeo <[email protected]>
1 parent 5c80285 commit f0a2826

File tree

348 files changed

+41901
-410
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

348 files changed

+41901
-410
lines changed

.Rbuildignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,22 @@
22
^\.Rproj\.user$
33

44
Makefile
5+
CHANGELOG.md
56
announcement\.Rmd
67
todo\.txt
8+
gulpfile.js
9+
package-lock.json
10+
package.json
11+
12+
713
.github
14+
.eslintrc
15+
.prettierrc
16+
.circleci
17+
.pytest_cache
18+
build/.dockerignore
819
tests/integration
920
tests/circleci
21+
gulp-assets
22+
node_modules
23+
scripts

.circleci/config.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
version: 2
22

33
jobs:
4-
5-
64
"test": &test-template
75
working_directory: ~/dashr
86
docker:
97
- image: plotly/dashr:ci
108
auth:
119
username: dashautomation
12-
password: $DASH_PAT_DOCKERHUB
10+
password: $DASH_PAT_DOCKERHUB
1311
environment:
1412
PERCY_PARALLEL_TOTAL: '-1'
1513
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'True'
@@ -33,18 +31,18 @@ jobs:
3331
- run:
3432
name: 🚧 install R dependencies
3533
command: |
36-
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)'
34+
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, dependencies=TRUE, force=TRUE)'
3735
3836
- run:
3937
name: ⚙️ Integration tests
4038
command: |
4139
python -m venv venv
4240
. venv/bin/activate
41+
pip install --upgrade pip
4342
git clone --depth 1 https://github.com/plotly/dash.git dash-main
4443
cd dash-main && pip install -e .[dev,testing] --progress-bar off && cd ..
4544
cd dash-main/\@plotly/dash-generator-test-component-nested && npm ci && npm run build && sudo R CMD INSTALL . && cd ../../..
4645
cd dash-main/\@plotly/dash-generator-test-component-standard && npm ci && npm run build && sudo R CMD INSTALL . && cd ../../..
47-
export PATH=$PATH:/home/circleci/.local/bin/
4846
pytest --nopercyfinalize --junitxml=test-reports/dashr.xml tests/integration/
4947
- store_artifacts:
5048
path: test-reports
@@ -67,6 +65,4 @@ workflows:
6765
version: 2
6866
build:
6967
jobs:
70-
- "test":
71-
context:
72-
- dash-docker-hub
68+
- "test"

.eslintrc

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
{
2+
"extends": ["eslint:recommended", "prettier"],
3+
"parser": "babel-eslint",
4+
"parserOptions": {
5+
"ecmaVersion": 6,
6+
"sourceType": "module",
7+
"ecmaFeatures": {
8+
"arrowFunctions": true,
9+
"blockBindings": true,
10+
"classes": true,
11+
"defaultParams": true,
12+
"destructuring": true,
13+
"forOf": true,
14+
"generators": true,
15+
"modules": true,
16+
"templateStrings": true,
17+
"jsx": true
18+
}
19+
},
20+
"env": {
21+
"browser": true,
22+
"es6": true,
23+
"jasmine": true,
24+
"jest": true,
25+
"node": true
26+
},
27+
"globals": {
28+
"jest": true
29+
},
30+
"plugins": [
31+
"react",
32+
"import"
33+
],
34+
"rules": {
35+
"accessor-pairs": ["error"],
36+
"block-scoped-var": ["error"],
37+
"consistent-return": ["error"],
38+
"curly": ["error", "all"],
39+
"default-case": ["error"],
40+
"dot-location": ["off"],
41+
"dot-notation": ["error"],
42+
"eqeqeq": ["error"],
43+
"guard-for-in": ["off"],
44+
"import/export": "error",
45+
"import/named": ["off"],
46+
"import/namespace": ["off"],
47+
"import/no-duplicates": ["error"],
48+
"import/no-named-as-default": ["error"],
49+
"import/no-unresolved": ["off"],
50+
"new-cap": ["error", {
51+
"capIsNewExceptionPattern": "Immutable\\.*"
52+
}],
53+
"no-alert": ["off"],
54+
"no-caller": ["error"],
55+
"no-case-declarations": ["error"],
56+
"no-console": ["error"],
57+
"no-div-regex": ["error"],
58+
"no-dupe-keys": ["error"],
59+
"no-else-return": ["error"],
60+
"no-empty-pattern": ["error"],
61+
"no-eq-null": ["error"],
62+
"no-eval": ["error"],
63+
"no-extend-native": ["error"],
64+
"no-extra-bind": ["error"],
65+
"no-extra-boolean-cast": ["error"],
66+
"no-inline-comments": ["off"],
67+
"no-implicit-coercion": ["error"],
68+
"no-implied-eval": ["error"],
69+
"no-inner-declarations": ["off"],
70+
"no-invalid-this": ["error"],
71+
"no-iterator": ["error"],
72+
"no-labels": ["error"],
73+
"no-lone-blocks": ["error"],
74+
"no-loop-func": ["error"],
75+
"no-multi-str": ["error"],
76+
"no-native-reassign": ["error"],
77+
"no-new": ["error"],
78+
"no-new-func": ["error"],
79+
"no-new-wrappers": ["error"],
80+
"no-param-reassign": ["off"],
81+
"no-process-env": ["warn"],
82+
"no-proto": ["error"],
83+
"no-redeclare": ["error"],
84+
"no-return-assign": ["error"],
85+
"no-script-url": ["error"],
86+
"no-self-compare": ["error"],
87+
"no-sequences": ["error"],
88+
"no-shadow": ["off"],
89+
"no-throw-literal": ["error"],
90+
"no-unused-expressions": ["error"],
91+
"no-use-before-define": ["error", "nofunc"],
92+
"no-useless-call": ["error"],
93+
"no-useless-concat": ["error"],
94+
"no-with": ["error"],
95+
"prefer-const": ["error"],
96+
"radix": ["error"],
97+
"react/jsx-no-duplicate-props": ["error"],
98+
"react/jsx-no-undef": ["error"],
99+
"react/jsx-uses-react": ["error"],
100+
"react/jsx-uses-vars": ["error"],
101+
"react/no-did-update-set-state": ["error"],
102+
"react/no-direct-mutation-state": ["error"],
103+
"react/no-is-mounted": ["error"],
104+
"react/no-unknown-property": ["error"],
105+
"react/prefer-es6-class": ["error", "always"],
106+
"react/prop-types": "error",
107+
"valid-jsdoc": ["off"],
108+
"yoda": ["error"],
109+
"spaced-comment": ["error", "always", {
110+
"block": {
111+
"exceptions": ["*"]
112+
}
113+
}],
114+
"no-unused-vars": ["error", {
115+
"args": "after-used",
116+
"argsIgnorePattern": "^_",
117+
"caughtErrorsIgnorePattern": "^e$"
118+
}],
119+
"no-magic-numbers": ["error", {
120+
"ignoreArrayIndexes": true,
121+
"ignore": [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 10, 16, 0.5, 25]
122+
}],
123+
"no-underscore-dangle": ["off"],
124+
"no-useless-escape": ["off"]
125+
}
126+
}

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,14 @@
33
.RData
44
.DS_Store
55

6+
gulp-assets/dash-core-components/
7+
gulp-assets/dash-html-components/
8+
gulp-assets/dash-bootstrap-components/
9+
gulp-assets/dash-table/
10+
gulp-assets/dash/
611
node_modules/
712
python/
13+
__pycache__/
814
todo.txt
915
r-finance*
1016
build/

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"tabWidth": 4,
3+
"singleQuote": true,
4+
"bracketSpacing": false,
5+
"trailingComma": "es5"
6+
}

CHANGELOG.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,25 @@
22
All notable changes to `dash` will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5-
## [0.9.0] - 2020-10-31
5+
## [1.0.0] - 2021-10-04
6+
### Added
7+
- Dash layout wrapper functions are included, which simplify the layout syntax for writing Dash apps. This includes the ability to pipe in the `app` object to layout and meta functions, as well as tags which simplify `html` component arguments and children. [#265](https://github.com/plotly/dashR/pull/265)
8+
9+
- Added simplified and flexible callbacks with the `add_callback` helper function. Included in this change are multiple additional helper functions to simplify Dash app configuration and tag usage. [#270](https://github.com/plotly/dashR/pull/270)
610

11+
### Changed
12+
- Unified the core Dash packages (dash, dashCoreComponents, dashHtmlComponents, dashTable) for streamlined maintenance and accessibility. The namespaces of these packages will be combined under the `dash` namespace, and all artifacts from the ancillary dash packages will be included with Dash for R. [#243](https://github.com/plotly/dashr/pull/243)
13+
14+
### Fixed
15+
- Minor fix for favicon issue continued from [#240](https://github.com/plotly/dashr/pull/240) (for more details, see [#243](https://github.com/plotly/dashR/pull/243#issuecomment-842813526)).
16+
- Minor fix to enable `suppress_callback_exceptions` configuration option when creating a Dash app. [#268](https://github.com/plotly/dashr/pull/268)
17+
18+
19+
## [0.9.1] - 2020-11-16
20+
### Fixed
21+
- A regression which prevented favicons from displaying properly has been resolved, and a default Dash favicon is now supplied when none is provided in the `assets` directory. [#240](https://github.com/plotly/dashr/pull/240)
22+
23+
## [0.9.0] - 2020-10-31
724
### Fixed
825
- Fixes a minor bug in `setCallbackContext` (described in [#236](https://github.com/plotly/dashR/issues/236)) which prevented pattern-matching callbacks from working properly if one or more `input` statements did not include a selector. [#237](https://github.com/plotly/dashR/pull/237)
926

DESCRIPTION

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
Package: dash
22
Title: An Interface to the Dash Ecosystem for Authoring Reactive Web Applications
3-
Version: 0.9.0
4-
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("Hammad", "Khan", role = c("aut"), comment = c(ORCID = "0000-0003-2479-9841"), email = "[email protected]"), person(family = "Plotly Technologies", role = "cph"))
3+
Version: 0.6.0
4+
Authors@R: c(person("Chris", "Parmer", role = c("aut"), email = "[email protected]"), person("Ryan Patrick", "Kyle", role = c("aut"), comment = c(ORCID = "0000-0001-5829-9867"), email = "[email protected]"), person("Carson", "Sievert", role = c("aut"), comment = c(ORCID = "0000-0002-4958-2844")), person("Hammad", "Khan", role = c("aut", "cre"), comment = c(ORCID = "0000-0003-2479-9841"), email = "[email protected]"), 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.1.1),
10-
dashCoreComponents (== 1.13.0),
11-
dashTable (== 4.11.0),
129
R6,
1310
fiery (> 1.0.0),
1411
routr (> 0.2.0),
@@ -22,20 +19,14 @@ Imports:
2219
mime,
2320
crayon,
2421
brotli,
25-
glue
22+
glue,
23+
magrittr,
24+
methods,
25+
rlang,
26+
utils
2627
Suggests:
27-
testthat
28-
Collate:
29-
'utils.R'
30-
'dependencies.R'
31-
'dash-package.R'
32-
'dash.R'
33-
'imports.R'
34-
'print.R'
35-
'internal.R'
36-
Remotes: plotly/dash-html-components@7209e0a,
37-
plotly/dash-core-components@91a424e,
38-
plotly/dash-table@aa519b7
28+
testthat (>= 3.0.0),
29+
rstudioapi
3930
License: MIT + file LICENSE
4031
Encoding: UTF-8
4132
LazyData: true

0 commit comments

Comments
 (0)