You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2019/06/19 22:36:07 UTC

[incubator-superset] branch release--0.33 updated (cc7ef2e -> 3328141)

This is an automated email from the ASF dual-hosted git repository.

michellet pushed a change to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git.


    from cc7ef2e  0.33.0rc1.dev3
     new 7bdc3dd  Quick fix to address deadlock issue (#7434)
     new c253f89  [FAB] set AppBuilder to update_perms=False (#7561)
     new 7eebe61  fix: address issue #7458 (#7593)
     new 2844c17  Update @superset-ui/legacy-preset-chart-nvd3 (#7701)
     new a12c8e0  [CSV Upload] Fix Index Column input filter (#7723)
     new f4e4700  Allowing withVerification to remove all options if none are valid (#7652)
     new d3b7323  [SQL Lab] Polish side pane animation (#7722)
     new 3328141  0.33.0rc1.dev4

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 superset/__init__.py                               |  16 +-
 superset/assets/package-lock.json                  | 328 +++++++++++++++++----
 superset/assets/package.json                       |   4 +-
 .../explore/components/withVerification_spec.jsx   |  14 +-
 superset/assets/src/SqlLab/main.less               |  14 +-
 .../components/controls/withVerification.jsx       |   4 +-
 .../src/visualizations/FilterBox/transformProps.js |   2 +-
 superset/forms.py                                  |  34 +--
 tox.ini                                            |   1 +
 9 files changed, 327 insertions(+), 90 deletions(-)


[incubator-superset] 08/08: 0.33.0rc1.dev4

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit 33281418d15c35f937fbec5233e49b485b58df9f
Author: Michelle Thomas <mi...@gmail.com>
AuthorDate: Wed Jun 19 15:35:06 2019 -0700

    0.33.0rc1.dev4
---
 superset/assets/package-lock.json | 2 +-
 superset/assets/package.json      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/superset/assets/package-lock.json b/superset/assets/package-lock.json
index c23d698..46f0d62 100644
--- a/superset/assets/package-lock.json
+++ b/superset/assets/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "superset",
-  "version": "0.33.0rc1.dev3",
+  "version": "0.33.0rc1.dev4",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/superset/assets/package.json b/superset/assets/package.json
index 961ef32..7a81308 100644
--- a/superset/assets/package.json
+++ b/superset/assets/package.json
@@ -1,6 +1,6 @@
 {
   "name": "superset",
-  "version": "0.33.0rc1.dev3",
+  "version": "0.33.0rc1.dev4",
   "description": "Superset is a data exploration platform designed to be visual, intuitive, and interactive.",
   "license": "Apache-2.0",
   "directories": {


[incubator-superset] 06/08: Allowing withVerification to remove all options if none are valid (#7652)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit f4e47008094b75cf34e095d6e3667e08dbae136e
Author: michellethomas <mi...@gmail.com>
AuthorDate: Tue Jun 18 14:06:05 2019 -0700

    Allowing withVerification to remove all options if none are valid (#7652)
    
    
    (cherry picked from commit 5864ddc07944c9b6f4a235a4be604a93976e30af)
---
 .../explore/components/withVerification_spec.jsx           | 14 ++++++++++++--
 .../src/explore/components/controls/withVerification.jsx   |  4 ++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/superset/assets/spec/javascripts/explore/components/withVerification_spec.jsx b/superset/assets/spec/javascripts/explore/components/withVerification_spec.jsx
index 44377ea..bef2140 100644
--- a/superset/assets/spec/javascripts/explore/components/withVerification_spec.jsx
+++ b/superset/assets/spec/javascripts/explore/components/withVerification_spec.jsx
@@ -44,7 +44,7 @@ const defaultProps = {
 
 const VALID_METRIC = { metric_name: 'sum__value', expression: 'SUM(energy_usage.value)' };
 
-function setup(overrides) {
+function setup(overrides, validMetric) {
   const onChange = sinon.spy();
   const props = {
     onChange,
@@ -53,7 +53,7 @@ function setup(overrides) {
   };
   const VerifiedControl = withVerification(MetricsControl, 'metric_name', 'savedMetrics');
   const wrapper = shallow(<VerifiedControl {...props} />);
-  fetchMock.mock('glob:*/valid_metrics*', `["${VALID_METRIC.metric_name}"]`);
+  fetchMock.mock('glob:*/valid_metrics*', validMetric || `["${VALID_METRIC.metric_name}"]`);
   return { props, wrapper, onChange };
 }
 
@@ -103,4 +103,14 @@ describe('VerifiedMetricsControl', () => {
       fetchMock.reset();
     }, 0);
   });
+
+  it('Returns no verified options if none are valid', () => {
+    const { wrapper } = setup({}, []);
+    setTimeout(() => {
+      expect(fetchMock.calls(defaultProps.getEndpoint())).toHaveLength(1);
+      const child = wrapper.find(MetricsControl);
+      expect(child.props().savedMetrics).toEqual([]);
+      fetchMock.reset();
+    }, 0);
+  });
 });
diff --git a/superset/assets/src/explore/components/controls/withVerification.jsx b/superset/assets/src/explore/components/controls/withVerification.jsx
index 8f1e549..87195fa 100644
--- a/superset/assets/src/explore/components/controls/withVerification.jsx
+++ b/superset/assets/src/explore/components/controls/withVerification.jsx
@@ -31,7 +31,7 @@ export default function withVerification(WrappedComponent, optionLabel, optionsN
     constructor(props) {
       super(props);
       this.state = {
-        validOptions: new Set(),
+        validOptions: null,
         hasRunVerification: false,
       };
 
@@ -69,7 +69,7 @@ export default function withVerification(WrappedComponent, optionLabel, optionsN
     render() {
       const { validOptions } = this.state;
       const options = this.props[optionsName];
-      const verifiedOptions = validOptions.size ?
+      const verifiedOptions = validOptions ?
         options.filter(o => (validOptions.has(o[optionLabel]))) :
         options;
 


[incubator-superset] 01/08: Quick fix to address deadlock issue (#7434)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit 7bdc3ddc745ae6f0febf607fe21c6015cdb0b8fb
Author: Craig Rueda <cr...@craigrueda.com>
AuthorDate: Thu May 2 12:45:15 2019 -0700

    Quick fix to address deadlock issue (#7434)
    
    
    (cherry picked from commit c8bb7e0fe406e4afe8fb7f2655d4f350ece528dc)
---
 superset/__init__.py | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/superset/__init__.py b/superset/__init__.py
index c995c2f..6971dc9 100644
--- a/superset/__init__.py
+++ b/superset/__init__.py
@@ -196,13 +196,14 @@ if not issubclass(custom_sm, SupersetSecurityManager):
          not FAB's security manager.
          See [4565] in UPDATING.md""")
 
-appbuilder = AppBuilder(
-    app,
-    db.session,
-    base_template='superset/base.html',
-    indexview=MyIndexView,
-    security_manager_class=custom_sm,
-)
+with app.app_context():
+    appbuilder = AppBuilder(
+        app,
+        db.session,
+        base_template='superset/base.html',
+        indexview=MyIndexView,
+        security_manager_class=custom_sm,
+    )
 
 security_manager = appbuilder.sm
 


[incubator-superset] 07/08: [SQL Lab] Polish side pane animation (#7722)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit d3b732354f645b2942f6606be3cd4ca70a1b2ff4
Author: Erik Ritter <er...@airbnb.com>
AuthorDate: Wed Jun 19 10:44:06 2019 -0700

    [SQL Lab] Polish side pane animation (#7722)
    
    (cherry picked from commit cddce63cad07bb05fc951241ac1285b9e5da3350)
---
 superset/assets/src/SqlLab/main.less | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/superset/assets/src/SqlLab/main.less b/superset/assets/src/SqlLab/main.less
index 822e7d8..8faf6fb 100644
--- a/superset/assets/src/SqlLab/main.less
+++ b/superset/assets/src/SqlLab/main.less
@@ -238,7 +238,8 @@ div.Workspace {
 
     .schemaPane {
         flex: 0 0 300px;
-        transition: all .3s ease-in-out;
+        max-width: 300px;
+        transition: transform .3s ease-in-out;
     }
 
     .queryPane {
@@ -250,13 +251,18 @@ div.Workspace {
         transform: translateX(0);
     }
 
-    .schemaPane-enter-active, .schemaPane-exit-active {
-        transform: translateX(-50%);
+    .schemaPane-exit-active {
+        transform: translateX(-120%);
+    }
+
+    .schemaPane-enter-active {
+        transform: translateX(0);
+        max-width: 300px;
     }
 
     .schemaPane-enter, .schemaPane-exit-done {
-        transform: translateX(-100%);
         max-width: 0;
+        transform: translateX(-120%);
         overflow: hidden;
     }
 


[incubator-superset] 05/08: [CSV Upload] Fix Index Column input filter (#7723)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit a12c8e0cb0ce4227365ab853e531e1c422302da4
Author: Erik Ritter <er...@airbnb.com>
AuthorDate: Mon Jun 17 22:34:29 2019 -0700

    [CSV Upload] Fix Index Column input filter (#7723)
    
    
    (cherry picked from commit 0b1a875708648e792b274caa6ce944f520478092)
---
 superset/forms.py | 34 ++++++++++++++--------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/superset/forms.py b/superset/forms.py
index 19de67e..4f9d9d3 100644
--- a/superset/forms.py
+++ b/superset/forms.py
@@ -23,7 +23,7 @@ from flask_wtf.file import FileAllowed, FileField, FileRequired
 from wtforms import (
     BooleanField, Field, IntegerField, SelectField, StringField)
 from wtforms.ext.sqlalchemy.fields import QuerySelectField
-from wtforms.validators import DataRequired, NumberRange, Optional
+from wtforms.validators import DataRequired, Length, NumberRange, Optional
 
 from superset import app, db, security_manager
 from superset.models import core as models
@@ -123,8 +123,7 @@ class CsvToDatabaseForm(DynamicForm):
         _('Schema'),
         description=_('Specify a schema (if database flavor supports this).'),
         validators=[Optional()],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        widget=BS3TextFieldWidget())
     sep = StringField(
         _('Delimiter'),
         description=_('Delimiter used by CSV file (for whitespace use \s+).'),
@@ -146,17 +145,15 @@ class CsvToDatabaseForm(DynamicForm):
             'Row containing the headers to use as '
             'column names (0 is first line of data). '
             'Leave empty if there is no header row.'),
-        validators=[Optional()],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        validators=[Optional(), NumberRange(min=0)],
+        widget=BS3TextFieldWidget())
     index_col = IntegerField(
         _('Index Column'),
         description=_(
             'Column to use as the row labels of the '
             'dataframe. Leave empty if no index column.'),
-        validators=[Optional(), NumberRange(0, 1E+20)],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        validators=[Optional(), NumberRange(min=0)],
+        widget=BS3TextFieldWidget())
     mangle_dupe_cols = BooleanField(
         _('Mangle Duplicate Columns'),
         description=_('Specify duplicate columns as "X.0, X.1".'))
@@ -166,15 +163,13 @@ class CsvToDatabaseForm(DynamicForm):
     skiprows = IntegerField(
         _('Skip Rows'),
         description=_('Number of rows to skip at start of file.'),
-        validators=[Optional(), NumberRange(0, 1E+20)],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        validators=[Optional(), NumberRange(min=0)],
+        widget=BS3TextFieldWidget())
     nrows = IntegerField(
         _('Rows to Read'),
         description=_('Number of rows of file to read.'),
-        validators=[Optional(), NumberRange(0, 1E+20)],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        validators=[Optional(), NumberRange(min=0)],
+        widget=BS3TextFieldWidget())
     skip_blank_lines = BooleanField(
         _('Skip Blank Lines'),
         description=_(
@@ -193,10 +188,10 @@ class CsvToDatabaseForm(DynamicForm):
             'automatically.'))
     decimal = StringField(
         _('Decimal Character'),
+        default='.',
         description=_('Character to interpret as decimal point.'),
-        validators=[Optional()],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or '.'])
+        validators=[Optional(), Length(min=1, max=1)],
+        widget=BS3TextFieldWidget())
     index = BooleanField(
         _('Dataframe Index'),
         description=_('Write dataframe index as a column.'))
@@ -206,5 +201,4 @@ class CsvToDatabaseForm(DynamicForm):
             'Column label for index column(s). If None is given '
             'and Dataframe Index is True, Index Names are used.'),
         validators=[Optional()],
-        widget=BS3TextFieldWidget(),
-        filters=[lambda x: x or None])
+        widget=BS3TextFieldWidget())


[incubator-superset] 03/08: fix: address issue #7458 (#7593)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit 7eebe612028f1d978e127e7efe99c4de4258545a
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Sat Jun 1 13:33:06 2019 -0700

    fix: address issue #7458 (#7593)
    
    
    (cherry picked from commit 1dc17f357cf5c94f663f7a338a7814d5f79452e9)
---
 superset/assets/src/visualizations/FilterBox/transformProps.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/superset/assets/src/visualizations/FilterBox/transformProps.js b/superset/assets/src/visualizations/FilterBox/transformProps.js
index 3b91719..54e1b1a 100644
--- a/superset/assets/src/visualizations/FilterBox/transformProps.js
+++ b/superset/assets/src/visualizations/FilterBox/transformProps.js
@@ -27,7 +27,6 @@ export default function transformProps(chartProps) {
   } = chartProps;
   const {
     dateFilter,
-    filterConfigs,
     instantFiltering,
     showDruidTimeGranularity,
     showDruidTimeOrigin,
@@ -35,6 +34,7 @@ export default function transformProps(chartProps) {
     showSqlaTimeGranularity,
   } = formData;
   const { verboseMap } = datasource;
+  const filterConfigs = formData.filterConfigs || [];
 
   const filtersFields = filterConfigs.map(flt => ({
     ...flt,


[incubator-superset] 02/08: [FAB] set AppBuilder to update_perms=False (#7561)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit c253f8964a145afc4d71cbec497319fa03265ce4
Author: Maxime Beauchemin <ma...@gmail.com>
AuthorDate: Sat Jun 1 10:19:49 2019 -0700

    [FAB] set AppBuilder to update_perms=False (#7561)
    
    * [FAB] set AppBuilder to update_perms=False
    
    Upon start, by default, FAB tries to go and update the permission list
    in the database based on the list of views, models and menu items that
    exist in the code.
    
    Really this should happen once per deployment/upgrade and
    not in module scope, so we have `superset init` for this.
    
    The intent was always to set to False by default, but I think we forgot
    to add this flag back in
    https://github.com/apache/incubator-superset/pull/7323
    
    * Add superset init to tox
    
    (cherry picked from commit eb4293654e8557a208a7a08b71ab22163c428362)
---
 superset/__init__.py | 1 +
 tox.ini              | 1 +
 2 files changed, 2 insertions(+)

diff --git a/superset/__init__.py b/superset/__init__.py
index 6971dc9..d03f28e 100644
--- a/superset/__init__.py
+++ b/superset/__init__.py
@@ -203,6 +203,7 @@ with app.app_context():
         base_template='superset/base.html',
         indexview=MyIndexView,
         security_manager_class=custom_sm,
+        update_perms=False,  # Run `superset init` to update FAB's perms
     )
 
 security_manager = appbuilder.sm
diff --git a/tox.ini b/tox.ini
index 5eb9db5..5cb4eb7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -46,6 +46,7 @@ require-code = true
 [testenv]
 commands =
     {toxinidir}/superset/bin/superset db upgrade
+    {toxinidir}/superset/bin/superset init
     nosetests tests/load_examples_test.py
     nosetests -e load_examples_test {posargs}
 deps =


[incubator-superset] 04/08: Update @superset-ui/legacy-preset-chart-nvd3 (#7701)

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michellet pushed a commit to branch release--0.33
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git

commit 2844c175d51afdae572e73fd8a2b59c4d34ef7ce
Author: Erik Ritter <er...@airbnb.com>
AuthorDate: Thu Jun 13 10:58:10 2019 -0700

    Update @superset-ui/legacy-preset-chart-nvd3 (#7701)
    
    
    (cherry picked from commit 0d122431b287b1a34f006d91717d1b4e09136869)
---
 superset/assets/package-lock.json | 326 ++++++++++++++++++++++++++++++++------
 superset/assets/package.json      |   2 +-
 2 files changed, 276 insertions(+), 52 deletions(-)

diff --git a/superset/assets/package-lock.json b/superset/assets/package-lock.json
index b95f192..c23d698 100644
--- a/superset/assets/package-lock.json
+++ b/superset/assets/package-lock.json
@@ -34,7 +34,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
       "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
-      "dev": true,
       "requires": {
         "@babel/highlight": "^7.0.0"
       }
@@ -43,7 +42,6 @@
       "version": "7.2.2",
       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.2.2.tgz",
       "integrity": "sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==",
-      "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "@babel/generator": "^7.2.2",
@@ -65,7 +63,6 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -74,7 +71,6 @@
           "version": "2.1.0",
           "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
           "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
-          "dev": true,
           "requires": {
             "minimist": "^1.2.0"
           }
@@ -82,8 +78,7 @@
         "ms": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
         }
       }
     },
@@ -91,7 +86,6 @@
       "version": "7.2.2",
       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.2.2.tgz",
       "integrity": "sha512-I4o675J/iS8k+P38dvJ3IBGqObLXyQLTxtrR4u9cSUJOURvafeEWb/pFMOTwtNrmq73mJzyF6ueTbO1BtN0Zeg==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.2.2",
         "jsesc": "^2.5.1",
@@ -103,8 +97,7 @@
         "jsesc": {
           "version": "2.5.2",
           "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-          "dev": true
+          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
         }
       }
     },
@@ -173,7 +166,6 @@
       "version": "7.1.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
       "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "dev": true,
       "requires": {
         "@babel/helper-get-function-arity": "^7.0.0",
         "@babel/template": "^7.1.0",
@@ -184,7 +176,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
       "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.0.0"
       }
@@ -387,7 +378,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
       "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.0.0"
       }
@@ -408,7 +398,6 @@
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.2.0.tgz",
       "integrity": "sha512-Fr07N+ea0dMcMN8nFpuK6dUIT7/ivt9yKQdEEnjVS83tG2pHwPi03gYmk/tyuwONnZ+sY+GFFPlWGgCtW1hF9A==",
-      "dev": true,
       "requires": {
         "@babel/template": "^7.1.2",
         "@babel/traverse": "^7.1.5",
@@ -419,7 +408,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
       "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
-      "dev": true,
       "requires": {
         "chalk": "^2.0.0",
         "esutils": "^2.0.2",
@@ -430,7 +418,6 @@
           "version": "3.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
           "requires": {
             "color-convert": "^1.9.0"
           }
@@ -439,7 +426,6 @@
           "version": "2.4.1",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
           "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-          "dev": true,
           "requires": {
             "ansi-styles": "^3.2.1",
             "escape-string-regexp": "^1.0.5",
@@ -450,7 +436,6 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -473,8 +458,7 @@
     "@babel/parser": {
       "version": "7.2.2",
       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.2.2.tgz",
-      "integrity": "sha512-UNTmQ5cSLDeBGBl+s7JeowkqIHgmFAGBnLDdIzFmUNSuS5JF0XBcN59jsh/vJO/YjfsBqMxhMjoFGmNExmf0FA==",
-      "dev": true
+      "integrity": "sha512-UNTmQ5cSLDeBGBl+s7JeowkqIHgmFAGBnLDdIzFmUNSuS5JF0XBcN59jsh/vJO/YjfsBqMxhMjoFGmNExmf0FA=="
     },
     "@babel/plugin-proposal-async-generator-functions": {
       "version": "7.2.0",
@@ -1209,7 +1193,6 @@
       "version": "7.2.2",
       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz",
       "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==",
-      "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "@babel/parser": "^7.2.2",
@@ -1220,7 +1203,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
           "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.0.0"
           }
@@ -1229,7 +1211,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
           "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -1240,7 +1221,6 @@
           "version": "3.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
           "requires": {
             "color-convert": "^1.9.0"
           }
@@ -1249,7 +1229,6 @@
           "version": "2.4.1",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
           "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-          "dev": true,
           "requires": {
             "ansi-styles": "^3.2.1",
             "escape-string-regexp": "^1.0.5",
@@ -1260,7 +1239,6 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -1271,7 +1249,6 @@
       "version": "7.2.2",
       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.2.2.tgz",
       "integrity": "sha512-E5Bn9FSwHpSkUhthw/XEuvFZxIgrqb9M8cX8j5EUQtrUG5DQUy6bFyl7G7iQ1D1Czudor+xkmp81JbLVVM0Sjg==",
-      "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "@babel/generator": "^7.2.2",
@@ -1288,7 +1265,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
           "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.0.0"
           }
@@ -1297,7 +1273,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
           "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -1308,7 +1283,6 @@
           "version": "3.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-          "dev": true,
           "requires": {
             "color-convert": "^1.9.0"
           }
@@ -1317,7 +1291,6 @@
           "version": "2.4.1",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
           "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
-          "dev": true,
           "requires": {
             "ansi-styles": "^3.2.1",
             "escape-string-regexp": "^1.0.5",
@@ -1328,7 +1301,6 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
           "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -1336,20 +1308,17 @@
         "globals": {
           "version": "11.9.0",
           "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz",
-          "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==",
-          "dev": true
+          "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg=="
         },
         "ms": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
-          "dev": true
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
         },
         "supports-color": {
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -2942,11 +2911,11 @@
       }
     },
     "@superset-ui/legacy-preset-chart-nvd3": {
-      "version": "0.10.11",
-      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.10.11.tgz",
-      "integrity": "sha512-xJesg+e1g8Og3u2A+MReu8kMYnkcrfLd/FapaLhFV3hEiU2u8UeuaBfKy2JUQXzsgr99E24FPg0Qvpg/zN9/YA==",
+      "version": "0.10.32",
+      "resolved": "https://registry.npmjs.org/@superset-ui/legacy-preset-chart-nvd3/-/legacy-preset-chart-nvd3-0.10.32.tgz",
+      "integrity": "sha512-2tc2ZL+PkMxqnnRbB3njVBbXvul8Q+C/NlylXj2jhdFbQxq+DaNj73KSCvIl2jAuaYyZNxbir0pT9ugibQQ1Yw==",
       "requires": {
-        "@data-ui/xy-chart": "^0.0.75",
+        "@data-ui/xy-chart": "^0.0.78",
         "d3": "^3.5.17",
         "d3-tip": "^0.9.1",
         "dompurify": "^1.0.3",
@@ -2957,6 +2926,267 @@
         "nvd3": "1.8.6",
         "prop-types": "^15.6.2",
         "urijs": "^1.18.10"
+      },
+      "dependencies": {
+        "@data-ui/shared": {
+          "version": "0.0.78",
+          "resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.78.tgz",
+          "integrity": "sha512-IetTiW89B7v1BqINN8+0uDnqqF06ulAcPivxgm0WeQOIVsgQdtOxTNfbaeC19reI1UTiF+xm5on0mN4F1At3XQ==",
+          "requires": {
+            "@data-ui/theme": "^0.0.78",
+            "@vx/event": "^0.0.165",
+            "@vx/group": "^0.0.165",
+            "@vx/shape": "^0.0.168",
+            "@vx/tooltip": "0.0.165",
+            "d3-array": "^1.2.1",
+            "prop-types": "^15.5.10"
+          },
+          "dependencies": {
+            "@vx/shape": {
+              "version": "0.0.168",
+              "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.168.tgz",
+              "integrity": "sha512-urKZkwSafMpPQ0wI/L5FJmufRiAR4UsgYUCKxROjfE1Cf4jWNlK6mlVIIASxCdHlh9CGBbIrRMdl5Yv5lzqhjA==",
+              "requires": {
+                "@vx/curve": "0.0.165",
+                "@vx/group": "0.0.165",
+                "@vx/point": "0.0.165",
+                "classnames": "^2.2.5",
+                "d3-path": "^1.0.5",
+                "d3-shape": "^1.2.0",
+                "prop-types": "^15.5.10"
+              }
+            }
+          }
+        },
+        "@data-ui/theme": {
+          "version": "0.0.78",
+          "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.78.tgz",
+          "integrity": "sha512-DyGqH2kIHONvTfg3E810PFSUPDBLgQtZUFOvAMDLrSsO9KClX4XchNzEsewQoKQK4MP/pdxuJuX/LCRglsGj6g=="
+        },
+        "@data-ui/xy-chart": {
+          "version": "0.0.78",
+          "resolved": "https://registry.npmjs.org/@data-ui/xy-chart/-/xy-chart-0.0.78.tgz",
+          "integrity": "sha512-/AhEApEcb9s5VZoC+fRYNZY8hEl0+c2TdGkZ2A1nEIc10NFRoyVqaqAEvQw2wI/h9kISQL2x1wztAAyab1S7rg==",
+          "requires": {
+            "@data-ui/shared": "^0.0.78",
+            "@data-ui/theme": "^0.0.78",
+            "@vx/axis": "^0.0.168",
+            "@vx/curve": "^0.0.165",
+            "@vx/event": "^0.0.165",
+            "@vx/glyph": "^0.0.165",
+            "@vx/gradient": "^0.0.165",
+            "@vx/grid": "^0.0.180",
+            "@vx/group": "^0.0.165",
+            "@vx/pattern": "^0.0.165",
+            "@vx/point": "^0.0.165",
+            "@vx/responsive": "^0.0.165",
+            "@vx/scale": "^0.0.165",
+            "@vx/shape": "^0.0.165",
+            "@vx/stats": "^0.0.165",
+            "@vx/text": "0.0.183",
+            "@vx/threshold": "0.0.170",
+            "@vx/tooltip": "^0.0.165",
+            "@vx/voronoi": "^0.0.165",
+            "d3-array": "^1.2.0",
+            "prop-types": "^15.5.10"
+          }
+        },
+        "@vx/axis": {
+          "version": "0.0.168",
+          "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.168.tgz",
+          "integrity": "sha512-/HAieKFXwa39x8mFQbKkuofacvhMLl6g8qOjBBIIvgXyPiXY8ZqQ/+7ZnvPjpf4qgtH4B+yIMEmu29cMGM/jKQ==",
+          "requires": {
+            "@vx/group": "0.0.165",
+            "@vx/point": "0.0.165",
+            "@vx/shape": "0.0.168",
+            "@vx/text": "0.0.165",
+            "classnames": "^2.2.5",
+            "prop-types": "^15.6.0"
+          },
+          "dependencies": {
+            "@vx/shape": {
+              "version": "0.0.168",
+              "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.168.tgz",
+              "integrity": "sha512-urKZkwSafMpPQ0wI/L5FJmufRiAR4UsgYUCKxROjfE1Cf4jWNlK6mlVIIASxCdHlh9CGBbIrRMdl5Yv5lzqhjA==",
+              "requires": {
+                "@vx/curve": "0.0.165",
+                "@vx/group": "0.0.165",
+                "@vx/point": "0.0.165",
+                "classnames": "^2.2.5",
+                "d3-path": "^1.0.5",
+                "d3-shape": "^1.2.0",
+                "prop-types": "^15.5.10"
+              }
+            },
+            "@vx/text": {
+              "version": "0.0.165",
+              "resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.165.tgz",
+              "integrity": "sha512-r8vvryhEHJVsMbQpX0OH0ow5+8xdIqcbCJ6wVB2H6NzLoXbSTxK0GfGzV6T8CMiWbPuZT0oVJWF54zQnOqxOIQ==",
+              "requires": {
+                "babel-plugin-lodash": "^3.3.2",
+                "classnames": "^2.2.5",
+                "lodash": "^4.17.4",
+                "reduce-css-calc": "^1.3.0"
+              }
+            }
+          }
+        },
+        "@vx/bounds": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz",
+          "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==",
+          "requires": {
+            "prop-types": "^15.5.10"
+          }
+        },
+        "@vx/curve": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.165.tgz",
+          "integrity": "sha512-fiQAGrKNGjJbL+eixUckJqIZDWXH/1NtIyyDbSz3J7ksk0QpYr5BgWcNJN76HLNt7wfcLwNzCHeNs4iVYyFGTg==",
+          "requires": {
+            "d3-shape": "^1.0.6"
+          }
+        },
+        "@vx/event": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.165.tgz",
+          "integrity": "sha512-FsQiw0f3s5DQB6aBQmBcoWk9e4q65LcDobHIyV8qrmpW2QgV2NvQFM1w0Q300ohpRMgJDzGk68HHHQgFOJvApw==",
+          "requires": {
+            "@vx/point": "0.0.165"
+          }
+        },
+        "@vx/glyph": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.165.tgz",
+          "integrity": "sha512-kccUm40e/VCtayxqvcwc2K2M6oNXO7IafwIfw1RRv6Fj4Iutto9ZpI+PGOf/zPnYVueoLnWBXT/HE7IRS+C2gw==",
+          "requires": {
+            "@vx/group": "0.0.165",
+            "classnames": "^2.2.5",
+            "d3-shape": "^1.2.0"
+          }
+        },
+        "@vx/gradient": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.165.tgz",
+          "integrity": "sha512-FjRXMTmcy7k0TWsfDzWWXw6T9WXKP+6LS/GRgnguq271pab/P+AdOJThsVxtBgUc8ZOAPbub3/2Gggz9d8tocg==",
+          "requires": {
+            "classnames": "^2.2.5",
+            "prop-types": "^15.5.7"
+          }
+        },
+        "@vx/grid": {
+          "version": "0.0.180",
+          "resolved": "https://registry.npmjs.org/@vx/grid/-/grid-0.0.180.tgz",
+          "integrity": "sha512-+ugS0c6GbwHr6pFU0znnOG3/zTwRRadvWwj3E4ZOHmKUSz6ZEN6JNo+rD3WSZckYwLis6UivmYfJ5cV6AM4ufg==",
+          "requires": {
+            "@vx/group": "0.0.170",
+            "@vx/point": "0.0.165",
+            "@vx/shape": "0.0.179",
+            "classnames": "^2.2.5",
+            "prop-types": "^15.6.2"
+          },
+          "dependencies": {
+            "@vx/group": {
+              "version": "0.0.170",
+              "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
+              "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==",
+              "requires": {
+                "classnames": "^2.2.5"
+              }
+            },
+            "@vx/shape": {
+              "version": "0.0.179",
+              "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.179.tgz",
+              "integrity": "sha512-YHVNx4xGpbjolkW3Lb5pEgJB0+u349vfnLI976DJlinY0hRNa4TZbWXOB4ywLIrYzQEXXPMUR8WtdubNxg6g0w==",
+              "requires": {
+                "@vx/curve": "0.0.165",
+                "@vx/group": "0.0.170",
+                "@vx/point": "0.0.165",
+                "classnames": "^2.2.5",
+                "d3-path": "^1.0.5",
+                "d3-shape": "^1.2.0",
+                "prop-types": "^15.5.10"
+              }
+            }
+          }
+        },
+        "@vx/group": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.165.tgz",
+          "integrity": "sha512-gi1DSg8AAaVRseyWiq8y4bzyvKiQIXT6vDUYBVRmv2LBcpHocBGaxNiNK0X602RgLG0XmNyRv6qSCWLOaBs3Mg==",
+          "requires": {
+            "classnames": "^2.2.5"
+          }
+        },
+        "@vx/pattern": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.165.tgz",
+          "integrity": "sha512-h5nmfcYlQYYzNhlhqaYUvVnkmGnC0yWv5yU1snjHweGmIHTovV3RAbKgVFAP7kB3i2rbEtC3O8WkJN++cZdLzA==",
+          "requires": {
+            "classnames": "^2.2.5",
+            "prop-types": "^15.5.10"
+          }
+        },
+        "@vx/point": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
+          "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA=="
+        },
+        "@vx/responsive": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.165.tgz",
+          "integrity": "sha512-b5PYEzsjgTGuH4qN2ujghq2uKQsPGBEtOAO1791WdA0j6rr0zbVsHVmJeEhvoOg0b3xhdNN1mXAzQr4K9lDaDw==",
+          "requires": {
+            "lodash": "^4.17.10",
+            "prop-types": "^15.6.1",
+            "resize-observer-polyfill": "1.5.0"
+          }
+        },
+        "@vx/scale": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.165.tgz",
+          "integrity": "sha512-5jSgXJDU6J/KWIyCbpjHqysPCddp7tG3LbTV7UmtB1Qleb4m4slShTVSE7+EKU+zgiQPDGm0+E2ht4cet+7F7A==",
+          "requires": {
+            "d3-scale": "^2.0.0"
+          }
+        },
+        "@vx/shape": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.165.tgz",
+          "integrity": "sha512-D9naH/glDtw8J8IcdumpRz1ihaoCAYMwFNh2KTv73HiTKrLQSXvIjwYFv9C0b8BCPNOXkDZS8s+AlgMSqGlZNQ==",
+          "requires": {
+            "@vx/curve": "0.0.165",
+            "@vx/group": "0.0.165",
+            "@vx/point": "0.0.165",
+            "classnames": "^2.2.5",
+            "d3-path": "^1.0.5",
+            "d3-shape": "^1.2.0",
+            "prop-types": "^15.5.10"
+          }
+        },
+        "@vx/text": {
+          "version": "0.0.183",
+          "resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.183.tgz",
+          "integrity": "sha512-SM97C6I2Oy3FdbjM0zb2oZ8xgPskQE3r0FdGHZgq6Dk1b3lYwuW3KqdXn598BRl3iL9jfSyR6vFN9z6NV0FFww==",
+          "requires": {
+            "@babel/core": "^7.0.0",
+            "babel-plugin-lodash": "^3.3.2",
+            "classnames": "^2.2.5",
+            "lodash": "^4.17.4",
+            "prop-types": "^15.6.2",
+            "reduce-css-calc": "^1.3.0"
+          }
+        },
+        "@vx/tooltip": {
+          "version": "0.0.165",
+          "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.165.tgz",
+          "integrity": "sha512-/x1NZc67QGQ4e/WNT7Ks5LYRyeLSqp8lG04gX5J6leUS0zscAVzo3aE5u65Qqbc0cnMyMPRZ2Qtb4klWTLg+eQ==",
+          "requires": {
+            "@vx/bounds": "0.0.165",
+            "classnames": "^2.2.5",
+            "prop-types": "^15.5.10"
+          }
+        }
       }
     },
     "@superset-ui/number-format": {
@@ -5871,7 +6101,6 @@
       "version": "1.9.3",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
@@ -5879,8 +6108,7 @@
     "color-name": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
     },
     "color-string": {
       "version": "1.5.3",
@@ -7597,8 +7825,7 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escodegen": {
       "version": "1.9.1",
@@ -10051,8 +10278,7 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -18720,8 +18946,7 @@
     "semver": {
       "version": "5.6.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
-      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
-      "dev": true
+      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
     },
     "send": {
       "version": "0.16.2",
@@ -20368,8 +20593,7 @@
     "trim-right": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
     },
     "trim-trailing-lines": {
       "version": "1.1.1",
diff --git a/superset/assets/package.json b/superset/assets/package.json
index 5c42520..961ef32 100644
--- a/superset/assets/package.json
+++ b/superset/assets/package.json
@@ -75,7 +75,7 @@
     "@superset-ui/legacy-plugin-chart-word-cloud": "^0.10.11",
     "@superset-ui/legacy-plugin-chart-world-map": "^0.10.11",
     "@superset-ui/legacy-preset-chart-big-number": "^0.10.11",
-    "@superset-ui/legacy-preset-chart-nvd3": "^0.10.11",
+    "@superset-ui/legacy-preset-chart-nvd3": "^0.10.32",
     "@superset-ui/number-format": "^0.11.3",
     "@superset-ui/time-format": "^0.11.3",
     "@superset-ui/translation": "^0.11.0",