From 39c5524500fa37c84e38016c20a2a1b4503605f6 Mon Sep 17 00:00:00 2001 From: Marc-Andre-Rivet Date: Mon, 2 Dec 2019 20:05:59 -0500 Subject: [PATCH 01/19] support dcc.link in markdown --- package-lock.json | 26 +++++++++++++++++++++++++- package.json | 3 ++- src/fragments/Markdown.react.js | 15 +++++++++++++++ webpack.config.js | 2 +- 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4506f1270..4d20eb419 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "dash-core-components", - "version": "1.5.1", + "version": "1.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -13498,6 +13498,30 @@ "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==", "dev": true }, + "react-jsx-parser": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/react-jsx-parser/-/react-jsx-parser-1.21.0.tgz", + "integrity": "sha512-3ZYS0+Fiz1hx1owMDvA6skoYnISdsdthKEMLmcoqQ2CF+LzBKnYK/GtMJ5lKKz0AfZiNpsBq8qK7Av2ZE6vEVQ==", + "dev": true, + "requires": { + "acorn": "^7.1.0", + "acorn-jsx": "^5.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", + "dev": true + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz", + "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==", + "dev": true + } + } + }, "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", diff --git a/package.json b/package.json index 6131fdb69..b07f46411 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "prettier": "^1.14.2", "react": "^16.8.6", "react-dom": "^16.8.6", + "react-jsx-parser": "^1.21.0", "style-loader": "^0.23.1", "styled-jsx": "^3.1.1", "webpack": "^4.37.0", @@ -91,4 +92,4 @@ "react": "^16.0.0", "react-dom": "^16.0.0" } -} \ No newline at end of file +} diff --git a/src/fragments/Markdown.react.js b/src/fragments/Markdown.react.js index f0ce06d57..6dfde3890 100644 --- a/src/fragments/Markdown.react.js +++ b/src/fragments/Markdown.react.js @@ -1,10 +1,13 @@ import React, {Component} from 'react'; import {type} from 'ramda'; +import JsxParser from 'react-jsx-parser'; import Markdown from 'react-markdown'; import {propTypes, defaultProps} from '../components/Markdown.react'; import '../components/css/highlight.css'; +import DccLink from './../components/Link.react'; + export default class DashMarkdown extends Component { constructor(props) { super(props); @@ -85,6 +88,10 @@ export default class DashMarkdown extends Component { const displayText = dedent && textProp ? this.dedent(textProp) : textProp; + const componentTransforms = { + DccLink: props => , + }; + return (
( + + ), + }} />
); diff --git a/webpack.config.js b/webpack.config.js index 1d9b30db4..000dd9bf8 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -58,7 +58,7 @@ module.exports = (env, argv) => { rules: [ { test: /\.jsx?$/, - exclude: /node_modules/, + exclude: /node_modules\/(?!react-jsx-parser\/)/, use: { loader: 'babel-loader', }, From 31ff730ed4624e6efaf2344ef5ad6b21fa2500ed Mon Sep 17 00:00:00 2001 From: Marc-Andre-Rivet Date: Mon, 2 Dec 2019 20:24:00 -0500 Subject: [PATCH 02/19] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d28d53db..07e3dbc5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [Unreleased] +### Added +- [#711](https://github.com/plotly/dash-core-components/pull/711) Added support for `dcc.Link` react component inside of `dcc.Markdown` + ## [1.6.0] - 2019-11-27 ### Updated - Upgraded plotly.js to 1.51.2 [#708](https://github.com/plotly/dash-core-components/pull/708) From ff282f3c0f60e25388dd455d758e65b7f7e81396 Mon Sep 17 00:00:00 2001 From: Marc-Andre-Rivet Date: Mon, 2 Dec 2019 20:43:00 -0500 Subject: [PATCH 03/19] rename to dccLink --- src/fragments/Markdown.react.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fragments/Markdown.react.js b/src/fragments/Markdown.react.js index 6dfde3890..bb4edd08f 100644 --- a/src/fragments/Markdown.react.js +++ b/src/fragments/Markdown.react.js @@ -89,7 +89,7 @@ export default class DashMarkdown extends Component { dedent && textProp ? this.dedent(textProp) : textProp; const componentTransforms = { - DccLink: props => , + dccLink: props => , }; return ( From a2df8b11ce91942ab4b1c8f8564632de50347226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 12:49:59 -0500 Subject: [PATCH 04/19] - add support for nested dccMarkdown - add link vs. dccLink tests --- src/fragments/Markdown.react.js | 10 ++++- tests/integration/markdown/assets/image.png | Bin 0 -> 120675 bytes tests/integration/markdown/test_markdown.py | 47 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 tests/integration/markdown/assets/image.png create mode 100644 tests/integration/markdown/test_markdown.py diff --git a/src/fragments/Markdown.react.js b/src/fragments/Markdown.react.js index bb4edd08f..146583099 100644 --- a/src/fragments/Markdown.react.js +++ b/src/fragments/Markdown.react.js @@ -1,5 +1,5 @@ import React, {Component} from 'react'; -import {type} from 'ramda'; +import {mergeDeepRight, pick, type} from 'ramda'; import JsxParser from 'react-jsx-parser'; import Markdown from 'react-markdown'; @@ -90,6 +90,14 @@ export default class DashMarkdown extends Component { const componentTransforms = { dccLink: props => , + dccMarkdown: props => ( + + ), }; return ( diff --git a/tests/integration/markdown/assets/image.png b/tests/integration/markdown/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..560370a6f286a75a59a1472d15605d74ad53b86b GIT binary patch literal 120675 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�RJVZs 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 XwT|OA|LFn@_>&e_5UUa~2>gEl{$8dF literal 0 HcmV?d00001 diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py new file mode 100644 index 000000000..78a933107 --- /dev/null +++ b/tests/integration/markdown/test_markdown.py @@ -0,0 +1,47 @@ +import pytest +from selenium.common.exceptions import WebDriverException +import dash +from dash.dependencies import Input, Output +import dash_core_components as dcc +import dash_html_components as html + +def test_mkdw001_display(dash_dcc): +app = dash.Dash(__name__) +app.layout = html.Div([ + html.Div(['Markdown link']), + dcc.Markdown(['[Title](title_crumb)']), + + html.Div(['Markdown dccLink']), + dcc.Markdown(['']), + + html.Div(['Markdown dccLink - explicit children']), + dcc.Markdown([''' + + Title + + ''']), + + html.Div('Markdown dccLink - nested image'), + dcc.Markdown([''' + + + + ''']), + + html.Div('Markdown dccLink - nested markdown'), + dcc.Markdown([''' + + + + ''']), + + html.Div('Markdown dccLink - nested markdown image'), + dcc.Markdown([''' + + + + ''']), +]) + + dash_dcc.start_server(app) + dash_dcc.percy_snapshot("mkdw001 - markdowns display") From 814227e4447cbf5e5f28bf886d7ff4d5193b8cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 12:59:01 -0500 Subject: [PATCH 05/19] black --- tests/integration/markdown/test_markdown.py | 85 ++++++++++++--------- 1 file changed, 50 insertions(+), 35 deletions(-) diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index 78a933107..b9178b4ea 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -5,43 +5,58 @@ import dash_core_components as dcc import dash_html_components as html -def test_mkdw001_display(dash_dcc): -app = dash.Dash(__name__) -app.layout = html.Div([ - html.Div(['Markdown link']), - dcc.Markdown(['[Title](title_crumb)']), - - html.Div(['Markdown dccLink']), - dcc.Markdown(['']), - - html.Div(['Markdown dccLink - explicit children']), - dcc.Markdown([''' - - Title - - ''']), - html.Div('Markdown dccLink - nested image'), - dcc.Markdown([''' - - - - ''']), - - html.Div('Markdown dccLink - nested markdown'), - dcc.Markdown([''' - - - - ''']), +def test_mkdw001_display(dash_dcc): + app = dash.Dash(__name__) - html.Div('Markdown dccLink - nested markdown image'), - dcc.Markdown([''' - - - - ''']), -]) + app.layout = html.Div( + [ + html.Div(['Markdown link']), + dcc.Markdown(['[Title](title_crumb)']), + html.Div(['Markdown dccLink']), + dcc.Markdown(['']), + html.Div(['Markdown dccLink - explicit children']), + dcc.Markdown( + [ + ''' + + Title + + ''' + ] + ), + html.Div('Markdown dccLink - nested image'), + dcc.Markdown( + [ + ''' + + + + ''' + ] + ), + html.Div('Markdown dccLink - nested markdown'), + dcc.Markdown( + [ + ''' + + + + ''' + ] + ), + html.Div('Markdown dccLink - nested markdown image'), + dcc.Markdown( + [ + ''' + + + + ''' + ] + ), + ] + ) dash_dcc.start_server(app) dash_dcc.percy_snapshot("mkdw001 - markdowns display") From c85a9a097a36e0e2e89a8118e45f9af167078cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 13:18:52 -0500 Subject: [PATCH 06/19] eager loading --- tests/integration/markdown/test_markdown.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index b9178b4ea..b6f764961 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -7,7 +7,7 @@ def test_mkdw001_display(dash_dcc): - app = dash.Dash(__name__) + app = dash.Dash(__name__, eager_loading=True) app.layout = html.Div( [ From 19cffd357af45a71fc8b02027b195fa6b0177376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 14:10:12 -0500 Subject: [PATCH 07/19] - escape html if dangerously_allow_html==False - additional html tests - formating & black --- src/fragments/Markdown.react.js | 15 +++++---- tests/integration/markdown/test_markdown.py | 34 ++++++++++++++++++--- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/fragments/Markdown.react.js b/src/fragments/Markdown.react.js index 146583099..6ba7c3db6 100644 --- a/src/fragments/Markdown.react.js +++ b/src/fragments/Markdown.react.js @@ -126,12 +126,15 @@ export default class DashMarkdown extends Component { source={displayText} escapeHtml={!dangerously_allow_html} renderers={{ - html: props => ( - - ), + html: props => + props.escapeHtml ? ( + props.value + ) : ( + + ), }} /> diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index b6f764961..0fc0915ef 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -6,7 +6,25 @@ import dash_html_components as html -def test_mkdw001_display(dash_dcc): +def test_mkdw001_img(dash_dcc): + app = dash.Dash(__name__, eager_loading=True) + + app.layout = html.Div( + [ + html.Div('Markdown img'), + dcc.Markdown( + [''], dangerously_allow_html=True + ), + html.Div('Markdown img - requires dangerously_allow_html'), + dcc.Markdown(['']), + ] + ) + + dash_dcc.start_server(app) + dash_dcc.percy_snapshot("mkdw001 - markdowns display") + + +def test_mkdw002_dcclink(dash_dcc): app = dash.Dash(__name__, eager_loading=True) app.layout = html.Div( @@ -23,7 +41,8 @@ def test_mkdw001_display(dash_dcc): Title ''' - ] + ], + dangerously_allow_html=True, ), html.Div('Markdown dccLink - nested image'), dcc.Markdown( @@ -33,7 +52,8 @@ def test_mkdw001_display(dash_dcc): ''' - ] + ], + dangerously_allow_html=True, ), html.Div('Markdown dccLink - nested markdown'), dcc.Markdown( @@ -43,7 +63,8 @@ def test_mkdw001_display(dash_dcc): ''' - ] + ], + dangerously_allow_html=True, ), html.Div('Markdown dccLink - nested markdown image'), dcc.Markdown( @@ -53,8 +74,11 @@ def test_mkdw001_display(dash_dcc): ''' - ] + ], + dangerously_allow_html=True, ), + html.Div('Markdown dccLink - requires dangerously_allow_html'), + dcc.Markdown(['']), ] ) From b2fc9246fd68e3dff8602c0508401cadf7e11cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 14:40:15 -0500 Subject: [PATCH 08/19] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07e3dbc5f..a2ae3d428 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Added -- [#711](https://github.com/plotly/dash-core-components/pull/711) Added support for `dcc.Link` react component inside of `dcc.Markdown` +- [#711](https://github.com/plotly/dash-core-components/pull/711) Added support for `dcc.Link` (dccLink) and `dcc.Markdown` (dccMarkdown) react components inside of `dcc.Markdown` ## [1.6.0] - 2019-11-27 ### Updated From eeffbbbc77c7c80ae50eb3ad5b05a4027a209124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 15:19:20 -0500 Subject: [PATCH 09/19] - remove jsx wrapper - add inline test --- src/fragments/Markdown.react.js | 1 + tests/integration/markdown/test_markdown.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/fragments/Markdown.react.js b/src/fragments/Markdown.react.js index 6ba7c3db6..829e1509d 100644 --- a/src/fragments/Markdown.react.js +++ b/src/fragments/Markdown.react.js @@ -133,6 +133,7 @@ export default class DashMarkdown extends Component { ), }} diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index 0fc0915ef..f8414afdc 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -32,7 +32,10 @@ def test_mkdw002_dcclink(dash_dcc): html.Div(['Markdown link']), dcc.Markdown(['[Title](title_crumb)']), html.Div(['Markdown dccLink']), - dcc.Markdown(['']), + dcc.Markdown( + [''], + dangerously_allow_html=True, + ), html.Div(['Markdown dccLink - explicit children']), dcc.Markdown( [ @@ -44,6 +47,13 @@ def test_mkdw002_dcclink(dash_dcc): ], dangerously_allow_html=True, ), + html.Div('Markdown dccLink = inlined'), + dcc.Markdown( + [ + 'This is an inlined with text on both sides' + ], + dangerously_allow_html=True, + ), html.Div('Markdown dccLink - nested image'), dcc.Markdown( [ From 9db2a082b5ce71d93e246d28d806e7dc1bac577d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 15:38:02 -0500 Subject: [PATCH 10/19] update snapshot name --- tests/integration/markdown/test_markdown.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index f8414afdc..95b44c6ac 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -21,7 +21,7 @@ def test_mkdw001_img(dash_dcc): ) dash_dcc.start_server(app) - dash_dcc.percy_snapshot("mkdw001 - markdowns display") + dash_dcc.percy_snapshot("mkdw001 - image display") def test_mkdw002_dcclink(dash_dcc): @@ -93,4 +93,4 @@ def test_mkdw002_dcclink(dash_dcc): ) dash_dcc.start_server(app) - dash_dcc.percy_snapshot("mkdw001 - markdowns display") + dash_dcc.percy_snapshot("mkdw002 - markdowns display") From 89246373d4ae50d34a41193a9980c2ef4079a818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 16:04:25 -0500 Subject: [PATCH 11/19] correctly assign assets folder --- tests/integration/markdown/test_markdown.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index 95b44c6ac..eaf9d280b 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -1,13 +1,19 @@ +import os import pytest from selenium.common.exceptions import WebDriverException + import dash from dash.dependencies import Input, Output import dash_core_components as dcc import dash_html_components as html +assets_folder = os.path.join( + os.path.dirname(os.path.abspath(__file__)), 'assets' +) + def test_mkdw001_img(dash_dcc): - app = dash.Dash(__name__, eager_loading=True) + app = dash.Dash(__name__, eager_loading=True, assets_folder=assets_folder) app.layout = html.Div( [ @@ -25,7 +31,7 @@ def test_mkdw001_img(dash_dcc): def test_mkdw002_dcclink(dash_dcc): - app = dash.Dash(__name__, eager_loading=True) + app = dash.Dash(__name__, eager_loading=True, assets_folder=assets_folder) app.layout = html.Div( [ From 4fefe13464efadad960a53a19b6151a4f6ade588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 3 Dec 2019 16:23:02 -0500 Subject: [PATCH 12/19] move assets --- tests/{integration/markdown => }/assets/image.png | Bin tests/integration/markdown/test_markdown.py | 8 ++------ 2 files changed, 2 insertions(+), 6 deletions(-) rename tests/{integration/markdown => }/assets/image.png (100%) diff --git a/tests/integration/markdown/assets/image.png b/tests/assets/image.png similarity index 100% rename from tests/integration/markdown/assets/image.png rename to tests/assets/image.png diff --git a/tests/integration/markdown/test_markdown.py b/tests/integration/markdown/test_markdown.py index eaf9d280b..84757ca68 100644 --- a/tests/integration/markdown/test_markdown.py +++ b/tests/integration/markdown/test_markdown.py @@ -7,13 +7,9 @@ import dash_core_components as dcc import dash_html_components as html -assets_folder = os.path.join( - os.path.dirname(os.path.abspath(__file__)), 'assets' -) - def test_mkdw001_img(dash_dcc): - app = dash.Dash(__name__, eager_loading=True, assets_folder=assets_folder) + app = dash.Dash(__name__, eager_loading=True) app.layout = html.Div( [ @@ -31,7 +27,7 @@ def test_mkdw001_img(dash_dcc): def test_mkdw002_dcclink(dash_dcc): - app = dash.Dash(__name__, eager_loading=True, assets_folder=assets_folder) + app = dash.Dash(__name__, eager_loading=True) app.layout = html.Div( [ From ce2cba3ddd762383aa0bd05ca1688d45209c493a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Rivet?= Date: Thu, 12 Dec 2019 15:23:01 -0500 Subject: [PATCH 13/19] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2ae3d428..af5be4c19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Added -- [#711](https://github.com/plotly/dash-core-components/pull/711) Added support for `dcc.Link` (dccLink) and `dcc.Markdown` (dccMarkdown) react components inside of `dcc.Markdown` +- [#711](https://github.com/plotly/dash-core-components/pull/711) Added support for `dcc.Link` (dccLink) and nested `dcc.Markdown` (dccMarkdown) react components inside of `dcc.Markdown` ## [1.6.0] - 2019-11-27 ### Updated From 1d771a2fc5a898a91aa06131952392614c6bddc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 12:46:14 -0500 Subject: [PATCH 14/19] transpile react-jsx-parser / override provided babel options --- webpack.config.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index bc07a3da0..7504f98c2 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -58,11 +58,26 @@ module.exports = (env, argv) => { rules: [ { test: /\.jsx?$/, - exclude: /node_modules\/(?!react-jsx-parser\/)/, + exclude: /node_modules/, + use: { + loader: 'babel-loader' + } + }, + { + test: /\.jsx?$/, + include: /node_modules\/(react-jsx-parser\/)/, use: { loader: 'babel-loader', - }, + options: { + babelrc: false, + configFile: false, + presets: [ + '@babel/preset-env' + ] + } + } }, + { test: /\.css$/, use: [ From d9e765452782f1b5d75e08604e2ad180ce3f712b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 12:50:30 -0500 Subject: [PATCH 15/19] slight test improvement - make sure there is a code block --- tests/integration/misc/test_markdown_highlight.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/misc/test_markdown_highlight.py b/tests/integration/misc/test_markdown_highlight.py index 634909641..ac0556ecf 100644 --- a/tests/integration/misc/test_markdown_highlight.py +++ b/tests/integration/misc/test_markdown_highlight.py @@ -17,6 +17,8 @@ def test_msmh001_no_window_variable(dash_dcc): app.layout = html.Div(dcc.Markdown(md_text)) dash_dcc.start_server(app) + dash_dcc.wait_for_element('code') + window_hljs = dash_dcc.driver.execute_script('return window.hljs') assert window_hljs is None From b731fe1c3612392beda6d8d4327812e9da7d5565 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 17:00:30 -0500 Subject: [PATCH 16/19] update build to chunk out resources shared by async and initial chunks --- babel.config.js | 4 +- dash_core_components_base/__init__.py | 17 ++++++++ package-lock.json | 58 ++------------------------- package.json | 2 - src/fragments/Graph.react.js | 2 +- src/utils/MarkdownHighlighter.js | 9 +++-- webpack.config.js | 6 +++ 7 files changed, 33 insertions(+), 65 deletions(-) diff --git a/babel.config.js b/babel.config.js index 02368ad3a..b544f8e30 100644 --- a/babel.config.js +++ b/babel.config.js @@ -4,9 +4,7 @@ const presets = [ ]; const plugins = [ - '@babel/plugin-syntax-dynamic-import', - '@babel/plugin-transform-async-to-generator', - '@babel/plugin-transform-runtime' + '@babel/plugin-syntax-dynamic-import' ]; // eslint-disable-next-line no-process-env diff --git a/dash_core_components_base/__init__.py b/dash_core_components_base/__init__.py index 53c9ed4aa..e0c84be35 100644 --- a/dash_core_components_base/__init__.py +++ b/dash_core_components_base/__init__.py @@ -88,6 +88,23 @@ 'namespace': 'dash_core_components', 'dynamic': True }, + { + 'relative_package_path': '{}-shared.js'.format(__name__), + 'external_url': ( + 'https://unpkg.com/dash-core-components@{}' + '/dash_core_components/dash_core_components-shared.js' + ).format(__version__), + 'namespace': 'dash_core_components' + }, + { + 'relative_package_path': '{}-shared.js.map'.format(__name__), + 'external_url': ( + 'https://unpkg.com/dash-core-components@{}' + '/dash_core_components/dash_core_components-shared.js.map' + ).format(__version__), + 'namespace': 'dash_core_components', + 'dynamic': True + }, { 'relative_package_path': 'plotly.min.js', 'external_url': ( diff --git a/package-lock.json b/package-lock.json index c463ad849..483b81d33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1311,52 +1311,6 @@ "regenerator-transform": "^0.13.4" } }, - "@babel/plugin-transform-runtime": { - "version": "7.7.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.7.6.tgz", - "integrity": "sha512-tajQY+YmXR7JjTwRvwL4HePqoL3DYxpYXIHKVvrOIvJmeHe2y1w4tz5qz9ObUDC9m76rCzIMPyn4eERuwA4a4A==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.7.4", - "@babel/helper-plugin-utils": "^7.0.0", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "dependencies": { - "@babel/helper-module-imports": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz", - "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==", - "dev": true, - "requires": { - "@babel/types": "^7.7.4" - } - }, - "@babel/types": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz", - "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, "@babel/plugin-transform-shorthand-properties": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz", @@ -11982,8 +11936,7 @@ "neo-async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" }, "next-tick": { "version": "1.0.0", @@ -12579,7 +12532,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -12588,14 +12540,12 @@ "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" } } }, @@ -16931,7 +16881,6 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.0.tgz", "integrity": "sha512-kY2sHdru6BcIDg+i1SCZ1bpPhZJ6yiE0bEKLEJDC4M/lDSMhr/zVJeuEzvHJGjAXJCizSzUVh9atREf2jnR7yQ==", - "dev": true, "optional": true, "requires": { "commander": "~2.19.0", @@ -16942,7 +16891,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "optional": true } } diff --git a/package.json b/package.json index a5845863f..4b0f996a5 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,6 @@ "@babel/core": "^7.4.0", "@babel/plugin-proposal-object-rest-spread": "^7.4.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.7.4", - "@babel/plugin-transform-runtime": "^7.7.6", "@babel/preset-env": "^7.4.1", "@babel/preset-react": "^7.0.0", "@plotly/dash-component-plugins": "^1.0.2", diff --git a/src/fragments/Graph.react.js b/src/fragments/Graph.react.js index 7b99ed606..03c0bf3d7 100644 --- a/src/fragments/Graph.react.js +++ b/src/fragments/Graph.react.js @@ -270,7 +270,7 @@ class PlotlyGraph extends Component { ); } - async graphResize(force = false) { + graphResize(force = false) { if (!force && !this.isResponsive(this.props)) { return; } diff --git a/src/utils/MarkdownHighlighter.js b/src/utils/MarkdownHighlighter.js index abfa9496e..11a8c08b9 100644 --- a/src/utils/MarkdownHighlighter.js +++ b/src/utils/MarkdownHighlighter.js @@ -1,10 +1,11 @@ import lazyhljs from './LazyLoader/hljs'; const MarkdownHighlighter = { - loadhljs: async function() { - this.hljs = await lazyhljs(); - this.hljsResolve(); - this.isReady = true; + loadhljs: function () { + return lazyhljs().then(() => { + this.hljsResolve(); + this.isReady = true; + }); }, }; diff --git a/webpack.config.js b/webpack.config.js index 7504f98c2..166cc0450 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -120,6 +120,12 @@ module.exports = (env, argv) => { name(module, chunks, cacheGroupKey) { return `${cacheGroupKey}~${chunks[0].name}`; } + }, + shared: { + chunks: 'all', + minSize: 0, + minChunks: 2, + name: 'dash_core_components-shared' } } } From 05778a4a36e5704ac87829cf5402b437d5bc9e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 17:01:49 -0500 Subject: [PATCH 17/19] lint --- src/utils/MarkdownHighlighter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/MarkdownHighlighter.js b/src/utils/MarkdownHighlighter.js index 11a8c08b9..f4cf5e025 100644 --- a/src/utils/MarkdownHighlighter.js +++ b/src/utils/MarkdownHighlighter.js @@ -1,7 +1,7 @@ import lazyhljs from './LazyLoader/hljs'; const MarkdownHighlighter = { - loadhljs: function () { + loadhljs: function() { return lazyhljs().then(() => { this.hljsResolve(); this.isReady = true; From b48793153a1edc5a7d5525cb358050d1554fb8c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 17:11:11 -0500 Subject: [PATCH 18/19] update manifest --- MANIFEST.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index ade1fc8d1..31a1634fd 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,8 +1,9 @@ include dash_core_components/dash_core_components.min.js include dash_core_components/dash_core_components.min.js.map +include dash_core_components/dash_core_components-shared.js +include dash_core_components/dash_core_components-shared.js.map include dash_core_components/async~*.js include dash_core_components/async~*.js.map -include dash_core_components/highlight.pack.js include dash_core_components/metadata.json include dash_core_components/package-info.json include dash_core_components/plotly.min.js From 959a11c4016eb5b46ad2e03c82227c243421756f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Wed, 8 Jan 2020 17:35:35 -0500 Subject: [PATCH 19/19] fix regression --- src/utils/MarkdownHighlighter.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/MarkdownHighlighter.js b/src/utils/MarkdownHighlighter.js index f4cf5e025..ab446ddbe 100644 --- a/src/utils/MarkdownHighlighter.js +++ b/src/utils/MarkdownHighlighter.js @@ -2,7 +2,8 @@ import lazyhljs from './LazyLoader/hljs'; const MarkdownHighlighter = { loadhljs: function() { - return lazyhljs().then(() => { + return lazyhljs().then(hljs => { + this.hljs = hljs; this.hljsResolve(); this.isReady = true; });