You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by am...@apache.org on 2018/06/18 18:01:58 UTC

[couchdb-fauxton] branch master updated: Update eslint-react (#1090)

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

amaranhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/couchdb-fauxton.git


The following commit(s) were added to refs/heads/master by this push:
     new 9dd9f70  Update eslint-react (#1090)
9dd9f70 is described below

commit 9dd9f702b83312fef255c9b47eee6e0ba8f18e55
Author: Antonio Maranhao <30...@users.noreply.github.com>
AuthorDate: Mon Jun 18 14:01:55 2018 -0400

    Update eslint-react (#1090)
    
    * Update eslint-react
    
    * Update tests
---
 app/addons/activetasks/components.js               |   2 +-
 app/addons/components/components/apibar.js         |   4 +-
 app/addons/components/components/codeeditor.js     |   2 +-
 .../components/components/codeeditorpanel.js       |   2 +-
 app/addons/components/components/polling.js        |   2 +-
 app/addons/config/components.js                    |   2 +-
 app/addons/databases/components.js                 |   2 +-
 app/addons/documentation/components.js             |   2 +-
 .../documents/__tests__/index-results.test.js      |   4 +-
 .../documents/__tests__/query-options.test.js      |   4 +-
 app/addons/documents/doc-editor/components.js      |   2 +-
 .../index-editor/components/DesignDocSelector.js   |   2 +-
 .../index-editor/components/IndexEditor.js         |   3 +-
 .../index-editor/components/ReduceEditor.js        |   1 +
 .../components/queryoptions/MainFieldsView.js      |   2 +-
 .../components/queryoptions/QueryOptions.js        |   2 +-
 .../components/results/IndexResults.js             |   2 +-
 app/addons/documents/sidebar/sidebar.js            |   4 +-
 .../permissions/components/PermissionsSection.js   |   2 +-
 app/addons/replication/controller.js               |   2 +-
 package-lock.json                                  | 266 +++++++++++++--------
 package.json                                       |   4 +-
 22 files changed, 197 insertions(+), 121 deletions(-)

diff --git a/app/addons/activetasks/components.js b/app/addons/activetasks/components.js
index 7b94cc9..319141e 100644
--- a/app/addons/activetasks/components.js
+++ b/app/addons/activetasks/components.js
@@ -260,7 +260,7 @@ class ActiveTasksTableBody extends React.Component {
     };
   };
 
-  componentWillReceiveProps() {
+  UNSAFE_componentWillReceiveProps() {
     this.setState({
       filteredTable: activeTasksStore.getFilteredTable(this.props.collection)
     });
diff --git a/app/addons/components/components/apibar.js b/app/addons/components/components/apibar.js
index 9ad015d..971673f 100644
--- a/app/addons/components/components/apibar.js
+++ b/app/addons/components/components/apibar.js
@@ -20,7 +20,7 @@ export const JSONLink = ({endpoint}) => {
 
   return (
     <div className="faux__jsonlink">
-      <a data-bypass={true} className="faux__jsonlink-link" href={endpoint} target="_blank">
+      <a data-bypass={true} className="faux__jsonlink-link" href={endpoint} target="_blank" rel="noopener noreferrer">
         <span className="faux__jsonlink-link-brackets">{'{\u00a0}'}</span>
         <span>JSON</span>
       </a>
@@ -35,7 +35,7 @@ export const DocLink = ({docURL}) => {
 
   return (
     <div className="faux__doclink">
-      <a data-bypass="true" href={docURL} target="_blank" className="faux__doclink-link">
+      <a data-bypass="true" href={docURL} target="_blank" rel="noopener noreferrer" className="faux__doclink-link">
         <i className="icon fonticon-bookmark"></i>
       </a>
     </div>
diff --git a/app/addons/components/components/codeeditor.js b/app/addons/components/components/codeeditor.js
index b9f8bf8..4037f99 100644
--- a/app/addons/components/components/codeeditor.js
+++ b/app/addons/components/components/codeeditor.js
@@ -181,7 +181,7 @@ export class CodeEditor extends React.Component {
     this.editor.destroy();
   }
 
-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     this.setupAce(nextProps, false);
   }
 
diff --git a/app/addons/components/components/codeeditorpanel.js b/app/addons/components/components/codeeditorpanel.js
index 3304523..825138d 100644
--- a/app/addons/components/components/codeeditorpanel.js
+++ b/app/addons/components/components/codeeditorpanel.js
@@ -44,7 +44,7 @@ export class CodeEditorPanel extends React.Component {
     };
   };
 
-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     if (nextProps.defaultCode !== this.props.defaultCode) {
       this.setState({ code: nextProps.defaultCode });
     }
diff --git a/app/addons/components/components/polling.js b/app/addons/components/components/polling.js
index 513ebf5..b2ad95e 100644
--- a/app/addons/components/components/polling.js
+++ b/app/addons/components/components/polling.js
@@ -79,7 +79,7 @@ export class Polling extends React.Component {
     this.setPollingCounter(parseInt(e.target.value, 10));
   }
 
-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     if (this.props.startValue !== nextProps.startValue) {
       this.setPollingCounter(nextProps.startValue);
     }
diff --git a/app/addons/config/components.js b/app/addons/config/components.js
index 8dbabce..31302f4 100644
--- a/app/addons/config/components.js
+++ b/app/addons/config/components.js
@@ -166,7 +166,7 @@ class ConfigOptionValue extends React.Component {
     saving: this.props.saving
   };
 
-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     if (this.props.value !== nextProps.value) {
       this.setState({ saving: false });
     }
diff --git a/app/addons/databases/components.js b/app/addons/databases/components.js
index fc14d2a..f752c9f 100644
--- a/app/addons/databases/components.js
+++ b/app/addons/databases/components.js
@@ -314,7 +314,7 @@ class DatabasePagination extends React.Component {
     store.on('change', this.onChange, this);
   }
 
-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     this.setState(this.getStoreState(nextProps));
     const {store} = nextProps;
     store.on('change', this.onChange, this);
diff --git a/app/addons/documentation/components.js b/app/addons/documentation/components.js
index ba97682..1cde5d7 100644
--- a/app/addons/documentation/components.js
+++ b/app/addons/documentation/components.js
@@ -80,7 +80,7 @@ const DocumentationPage = ({links = docLinks}) => {
             <div className={"icon " + linkObject.iconClassName}> </div>
           </td>
           <td>
-            <a href={linkObject.link} target="_blank" data-bypass="true">{linkObject.title}</a>
+            <a href={linkObject.link} target="_blank" rel="noopener noreferrer" data-bypass="true">{linkObject.title}</a>
           </td>
         </tr>
       );
diff --git a/app/addons/documents/__tests__/index-results.test.js b/app/addons/documents/__tests__/index-results.test.js
index 7bd7ee6..72ac69d 100644
--- a/app/addons/documents/__tests__/index-results.test.js
+++ b/app/addons/documents/__tests__/index-results.test.js
@@ -58,7 +58,7 @@ describe('IndexResults', () => {
       fetchUrl={''}
     />);
 
-    wrapper.instance().componentWillUpdate({
+    wrapper.instance().UNSAFE_componentWillUpdate({
       ddocsOnly: true,
       fetchParams: {},
       queryOptionsParams: {},
@@ -83,7 +83,7 @@ describe('IndexResults', () => {
       fetchUrl={'view1'}
     />);
 
-    wrapper.instance().componentWillUpdate({
+    wrapper.instance().UNSAFE_componentWillUpdate({
       fetchParams: {},
       queryOptionsParams: {},
       fetchDocs: spy,
diff --git a/app/addons/documents/__tests__/query-options.test.js b/app/addons/documents/__tests__/query-options.test.js
index 10e9552..d62cd59 100644
--- a/app/addons/documents/__tests__/query-options.test.js
+++ b/app/addons/documents/__tests__/query-options.test.js
@@ -91,7 +91,7 @@ describe('QueryOptions', () => {
       {...props}
     />);
 
-    wrapper.instance().componentWillReceiveProps({
+    wrapper.instance().UNSAFE_componentWillReceiveProps({
       ddocsOnly: true
     });
     expect(spy.calledOnce).toBe(true);
@@ -116,7 +116,7 @@ describe('QueryOptions', () => {
       {...props}
     />);
 
-    wrapper.instance().componentWillReceiveProps({
+    wrapper.instance().UNSAFE_componentWillReceiveProps({
       ddocsOnly: false
     });
     expect(spy.calledOnce).toBe(true);
diff --git a/app/addons/documents/doc-editor/components.js b/app/addons/documents/doc-editor/components.js
index 3e3aba9..d5cf362 100644
--- a/app/addons/documents/doc-editor/components.js
+++ b/app/addons/documents/doc-editor/components.js
@@ -75,7 +75,7 @@ class DocEditorController extends React.Component {
     store.off('change', this.onChange);
   }
 
-  componentWillUpdate(nextProps, nextState) {
+  UNSAFE_componentWillUpdate(nextProps, nextState) {
     // Update the editor whenever a file is uploaded, a doc is cloned, or a new doc is loaded
     if (this.state.numFilesUploaded !== nextState.numFilesUploaded ||
         this.state.doc && this.state.doc.hasChanged() ||
diff --git a/app/addons/documents/index-editor/components/DesignDocSelector.js b/app/addons/documents/index-editor/components/DesignDocSelector.js
index fef9817..956978f 100644
--- a/app/addons/documents/index-editor/components/DesignDocSelector.js
+++ b/app/addons/documents/index-editor/components/DesignDocSelector.js
@@ -76,7 +76,7 @@ export default class DesignDocSelector extends Component {
       return null;
     }
     return (
-      <a className="help-link" data-bypass="true" href={this.props.docLink} target="_blank">
+      <a className="help-link" data-bypass="true" href={this.props.docLink} target="_blank" rel="noopener noreferrer">
         <i className="icon-question-sign" />
       </a>
     );
diff --git a/app/addons/documents/index-editor/components/IndexEditor.js b/app/addons/documents/index-editor/components/IndexEditor.js
index 0e0eece..884858d 100644
--- a/app/addons/documents/index-editor/components/IndexEditor.js
+++ b/app/addons/documents/index-editor/components/IndexEditor.js
@@ -134,7 +134,8 @@ export default class IndexEditor extends Component {
                 className="help-link"
                 data-bypass="true"
                 href={getDocUrl('VIEW_FUNCS')}
-                target="_blank">
+                target="_blank"
+                rel="noopener noreferrer">
                 <i className="icon-question-sign"></i>
               </a>
             </label>
diff --git a/app/addons/documents/index-editor/components/ReduceEditor.js b/app/addons/documents/index-editor/components/ReduceEditor.js
index 3b4a4c1..1c13600 100644
--- a/app/addons/documents/index-editor/components/ReduceEditor.js
+++ b/app/addons/documents/index-editor/components/ReduceEditor.js
@@ -105,6 +105,7 @@ export default class ReduceEditor extends Component {
               data-bypass="true"
               href={getDocUrl('REDUCE_FUNCS')}
               target="_blank"
+              rel="noopener noreferrer"
             >
               <i className="icon-question-sign"></i>
             </a>
diff --git a/app/addons/documents/index-results/components/queryoptions/MainFieldsView.js b/app/addons/documents/index-results/components/queryoptions/MainFieldsView.js
index 36caee7..a7873e4 100644
--- a/app/addons/documents/index-results/components/queryoptions/MainFieldsView.js
+++ b/app/addons/documents/index-results/components/queryoptions/MainFieldsView.js
@@ -99,7 +99,7 @@ export default class MainFieldsView extends React.Component {
       <div className="query-group" id="query-options-main-fields">
         <span className="add-on">
           Query Options
-          <a className="help-link" href={this.props.docURL} target="_blank" data-bypass="true">
+          <a className="help-link" href={this.props.docURL} target="_blank" rel="noopener noreferrer" data-bypass="true">
             <i className="icon-question-sign"/>
           </a>
         </span>
diff --git a/app/addons/documents/index-results/components/queryoptions/QueryOptions.js b/app/addons/documents/index-results/components/queryoptions/QueryOptions.js
index 8b65e46..bbcab32 100644
--- a/app/addons/documents/index-results/components/queryoptions/QueryOptions.js
+++ b/app/addons/documents/index-results/components/queryoptions/QueryOptions.js
@@ -36,7 +36,7 @@ export default class QueryOptions extends React.Component {
     }
   }
 
-  componentWillReceiveProps (nextProps) {
+  UNSAFE_componentWillReceiveProps (nextProps) {
     const {
       ddocsOnly,
       queryOptionsApplyFilterOnlyDdocs,
diff --git a/app/addons/documents/index-results/components/results/IndexResults.js b/app/addons/documents/index-results/components/results/IndexResults.js
index 90f48c3..484d379 100644
--- a/app/addons/documents/index-results/components/results/IndexResults.js
+++ b/app/addons/documents/index-results/components/results/IndexResults.js
@@ -34,7 +34,7 @@ export default class IndexResults extends React.Component {
     }
   }
 
-  componentWillUpdate (nextProps) {
+  UNSAFE_componentWillUpdate (nextProps) {
     const {
       fetchDocs,
       fetchParams,
diff --git a/app/addons/documents/sidebar/sidebar.js b/app/addons/documents/sidebar/sidebar.js
index c8e1fe4..aa5576e 100644
--- a/app/addons/documents/sidebar/sidebar.js
+++ b/app/addons/documents/sidebar/sidebar.js
@@ -256,7 +256,7 @@ class DesignDoc extends React.Component {
     updatedSidebarListTypes: this.props.sidebarListTypes
   };
 
-  componentWillMount() {
+  UNSAFE_componentWillMount() {
     if (_.isEmpty(this.state.updatedSidebarListTypes) ||
       (_.has(this.state.updatedSidebarListTypes[0], 'selector') && this.state.updatedSidebarListTypes[0].selector !== 'views')) {
 
@@ -375,7 +375,7 @@ class DesignDoc extends React.Component {
 }
 
 class DesignDocList extends React.Component {
-  componentWillMount() {
+  UNSAFE_componentWillMount() {
     const list = FauxtonAPI.getExtensions('sidebar:list');
     this.sidebarListTypes = _.isUndefined(list) ? [] : list;
   }
diff --git a/app/addons/permissions/components/PermissionsSection.js b/app/addons/permissions/components/PermissionsSection.js
index 2ecd4a8..da24bb6 100644
--- a/app/addons/permissions/components/PermissionsSection.js
+++ b/app/addons/permissions/components/PermissionsSection.js
@@ -117,7 +117,7 @@ class PermissionsSection extends React.Component {
           <h3>{section}</h3>
           <p className="help">
             {this.getHelp()}
-            <a className="help-link" data-bypass="true" href={getDocUrl('DB_PERMISSION')} target="_blank">
+            <a className="help-link" data-bypass="true" href={getDocUrl('DB_PERMISSION')} target="_blank" rel="noopener noreferrer">
               <i className="icon-question-sign"></i>
             </a>
           </p>
diff --git a/app/addons/replication/controller.js b/app/addons/replication/controller.js
index a65febe..cf948d1 100644
--- a/app/addons/replication/controller.js
+++ b/app/addons/replication/controller.js
@@ -48,7 +48,7 @@ export default class ReplicationController extends React.Component {
     this.loadReplicationInfo(this.props, {});
   }
 
-  componentWillReceiveProps (nextProps) {
+  UNSAFE_componentWillReceiveProps (nextProps) {
     this.loadReplicationStateFrom(nextProps, this.props);
     if (this.props.tabSection !== 'new replication' && nextProps.tabSection === 'new replication') {
       this.props.clearReplicationForm();
diff --git a/package-lock.json b/package-lock.json
index 813f9cd..2eea1fb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,70 +5,99 @@
   "requires": true,
   "dependencies": {
     "@babel/code-frame": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.31.tgz",
-      "integrity": "sha1-Rz0CHsxXOizOHAfVtQnVIV9GujU=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz",
+      "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==",
       "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^3.0.0"
+        "@babel/highlight": "7.0.0-beta.44"
+      }
+    },
+    "@babel/generator": {
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz",
+      "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==",
+      "requires": {
+        "@babel/types": "7.0.0-beta.44",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.2.0",
+        "source-map": "^0.5.0",
+        "trim-right": "^1.0.1"
       },
       "dependencies": {
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+        "lodash": {
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
         }
       }
     },
     "@babel/helper-function-name": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.31.tgz",
-      "integrity": "sha1-r+Y615kgmYk0ixEJtE/rZqokX1c=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz",
+      "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==",
       "requires": {
-        "@babel/helper-get-function-arity": "7.0.0-beta.31",
-        "@babel/template": "7.0.0-beta.31",
-        "@babel/traverse": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31"
+        "@babel/helper-get-function-arity": "7.0.0-beta.44",
+        "@babel/template": "7.0.0-beta.44",
+        "@babel/types": "7.0.0-beta.44"
       }
     },
     "@babel/helper-get-function-arity": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.31.tgz",
-      "integrity": "sha1-EXbXklJ0EhjgrshyraB++ys3pJM=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz",
+      "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==",
+      "requires": {
+        "@babel/types": "7.0.0-beta.44"
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz",
+      "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==",
+      "requires": {
+        "@babel/types": "7.0.0-beta.44"
+      }
+    },
+    "@babel/highlight": {
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz",
+      "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==",
       "requires": {
-        "@babel/types": "7.0.0-beta.31"
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^3.0.0"
       }
     },
     "@babel/template": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.31.tgz",
-      "integrity": "sha1-V3uyk4n2xJfD59AUYX59ZxP2i9o=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz",
+      "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==",
       "requires": {
-        "@babel/code-frame": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "babylon": "7.0.0-beta.31",
+        "@babel/code-frame": "7.0.0-beta.44",
+        "@babel/types": "7.0.0-beta.44",
+        "babylon": "7.0.0-beta.44",
         "lodash": "^4.2.0"
       },
       "dependencies": {
         "lodash": {
-          "version": "4.17.5",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-          "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
         }
       }
     },
     "@babel/traverse": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.31.tgz",
-      "integrity": "sha1-2zmUma10rv2gFPDBAyGrJVE0sd8=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz",
+      "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==",
       "requires": {
-        "@babel/code-frame": "7.0.0-beta.31",
-        "@babel/helper-function-name": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "babylon": "7.0.0-beta.31",
-        "debug": "^3.0.1",
-        "globals": "^10.0.0",
+        "@babel/code-frame": "7.0.0-beta.44",
+        "@babel/generator": "7.0.0-beta.44",
+        "@babel/helper-function-name": "7.0.0-beta.44",
+        "@babel/helper-split-export-declaration": "7.0.0-beta.44",
+        "@babel/types": "7.0.0-beta.44",
+        "babylon": "7.0.0-beta.44",
+        "debug": "^3.1.0",
+        "globals": "^11.1.0",
         "invariant": "^2.2.0",
         "lodash": "^4.2.0"
       },
@@ -76,27 +105,22 @@
         "debug": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
           "requires": {
             "ms": "2.0.0"
           }
         },
         "lodash": {
-          "version": "4.17.5",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-          "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
         }
       }
     },
     "@babel/types": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.31.tgz",
-      "integrity": "sha1-QsnIZ4T2dMFz+yGILKlkMzQCneQ=",
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz",
+      "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==",
       "requires": {
         "esutils": "^2.0.2",
         "lodash": "^4.2.0",
@@ -104,9 +128,9 @@
       },
       "dependencies": {
         "lodash": {
-          "version": "4.17.5",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
-          "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw=="
+          "version": "4.17.10",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
+          "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
         }
       }
     },
@@ -126,8 +150,8 @@
       "dev": true
     },
     "@webcomponents/url": {
-      "version": "git+https://github.com/webcomponents/URL.git#21758445ee1aaf8df372fb103bf32d30c6c912ab",
-      "from": "@webcomponents/url@git+https://github.com/webcomponents/URL.git#21758445ee1aaf8df372fb103bf32d30c6c912ab"
+      "version": "git+https://github.com/webcomponents/URL.git#dd6dd6baec8f0556124d181ea27675eba0dde667",
+      "from": "git+https://github.com/webcomponents/URL.git"
     },
     "abbrev": {
       "version": "1.1.1",
@@ -2108,14 +2132,14 @@
       }
     },
     "babel-eslint": {
-      "version": "8.1.2",
-      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.1.2.tgz",
-      "integrity": "sha1-o5IwsMIOy6oZo11WM7+bnKLIEW8=",
+      "version": "8.2.3",
+      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.3.tgz",
+      "integrity": "sha512-0HeSTtaXg/Em7FCUWxwOT+KeFSO1O7LuRuzhk7g+1BjwdlQGlHq4OyMi3GqGxrNfEq8jEi6Hmt5ylEQUhurgiQ==",
       "requires": {
-        "@babel/code-frame": "7.0.0-beta.31",
-        "@babel/traverse": "7.0.0-beta.31",
-        "@babel/types": "7.0.0-beta.31",
-        "babylon": "7.0.0-beta.31",
+        "@babel/code-frame": "7.0.0-beta.44",
+        "@babel/traverse": "7.0.0-beta.44",
+        "@babel/types": "7.0.0-beta.44",
+        "babylon": "7.0.0-beta.44",
         "eslint-scope": "~3.7.1",
         "eslint-visitor-keys": "^1.0.0"
       }
@@ -4294,9 +4318,9 @@
       }
     },
     "babylon": {
-      "version": "7.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.31.tgz",
-      "integrity": "sha1-fsEPgeDkVv0PhVrWD6MMKsRUKD8="
+      "version": "7.0.0-beta.44",
+      "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz",
+      "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g=="
     },
     "backbone": {
       "version": "1.3.3",
@@ -4555,7 +4579,8 @@
       "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
     },
     "coffee-script": {
-      "version": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
+      "version": "1.12.7",
+      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
       "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
     },
     "color-convert": {
@@ -4580,7 +4605,8 @@
       }
     },
     "commander": {
-      "version": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
       "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ=="
     },
     "commoner": {
@@ -4612,7 +4638,8 @@
           },
           "dependencies": {
             "inflight": {
-              "version": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+              "version": "1.0.6",
+              "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
               "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
               "requires": {
                 "once": "^1.3.0",
@@ -4620,24 +4647,28 @@
               }
             },
             "path-is-absolute": {
-              "version": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
               "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="
             }
           }
         },
         "inherits": {
-          "version": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
           "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
         },
         "minimatch": {
-          "version": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
           "requires": {
             "brace-expansion": "^1.1.7"
           }
         },
         "once": {
-          "version": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
           "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
           "requires": {
             "wrappy": "1"
@@ -4668,7 +4699,8 @@
       }
     },
     "connect": {
-      "version": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz",
+      "version": "3.6.5",
+      "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz",
       "integrity": "sha512-B+WTJ0bDgjQugnbNF7fWGvwEgTj9Isdk3Y7yTZlgCuVe+hpl/do8frEMeimx7sRMPW3oZA+EsC9uDZL8MaaAwQ==",
       "requires": {
         "debug": "2.6.9",
@@ -5996,7 +6028,8 @@
       }
     },
     "defined": {
-      "version": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
       "integrity": "sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ=="
     },
     "degenerator": {
@@ -6935,14 +6968,34 @@
       }
     },
     "eslint-plugin-react": {
-      "version": "7.7.0",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz",
-      "integrity": "sha1-9gbHGdvYoaKz0lwWKZgTh4zKAWA=",
+      "version": "7.9.1",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.9.1.tgz",
+      "integrity": "sha512-uvq+2ZkiqzjwF+pMZ8xqIC3pChV4KviPvvPIyQOvKWnjtvyW3iGfHIRqVumw05L3itby0QGmA4VdBA9m1OdMmg==",
       "requires": {
-        "doctrine": "^2.0.2",
-        "has": "^1.0.1",
+        "doctrine": "^2.1.0",
+        "has": "^1.0.2",
         "jsx-ast-utils": "^2.0.1",
-        "prop-types": "^15.6.0"
+        "prop-types": "^15.6.1"
+      },
+      "dependencies": {
+        "has": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+          "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+          "requires": {
+            "function-bind": "^1.1.1"
+          }
+        },
+        "prop-types": {
+          "version": "15.6.1",
+          "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz",
+          "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==",
+          "requires": {
+            "fbjs": "^0.8.16",
+            "loose-envify": "^1.3.1",
+            "object-assign": "^4.1.1"
+          }
+        }
       }
     },
     "eslint-scope": {
@@ -8030,9 +8083,9 @@
       }
     },
     "globals": {
-      "version": "10.4.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-10.4.0.tgz",
-      "integrity": "sha1-XEdziLEoqeTFxdAceirKaMaLLac="
+      "version": "11.5.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz",
+      "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ=="
     },
     "globby": {
       "version": "5.0.0",
@@ -8048,7 +8101,8 @@
       }
     },
     "graceful-fs": {
-      "version": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+      "version": "4.1.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
       "integrity": "sha512-9x6DLUuW+ROFdMTII9ec9t/FK8va6kYcC8/LggumssLM8kNv7IdFl3VrNUqgir2tJuBVxBga1QBoRziZacO5Zg=="
     },
     "graceful-readlink": {
@@ -9286,7 +9340,8 @@
           "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk="
         },
         "debug": {
-          "version": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "requires": {
             "ms": "2.0.0"
@@ -12233,7 +12288,8 @@
       }
     },
     "iconv-lite": {
-      "version": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+      "version": "0.4.19",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
       "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
     },
     "ignore": {
@@ -14853,6 +14909,11 @@
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
       "optional": true
     },
+    "jsesc": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
+      "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4="
+    },
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -15005,7 +15066,8 @@
           },
           "dependencies": {
             "amdefine": {
-              "version": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
               "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg=="
             }
           }
@@ -18036,7 +18098,8 @@
       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
     },
     "private": {
-      "version": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz",
       "integrity": "sha512-YmFOCNzqPkis1UxGH6pr8zN4DLoFNcJPvrD+ZLr7aThaOpaHufbWy+UhCa6PM0XszYIWkcJZUg40eKHR5+w+8w=="
     },
     "process-nextick-args": {
@@ -18193,7 +18256,8 @@
       "optional": true
     },
     "q": {
-      "version": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz",
       "integrity": "sha512-VVMcd+HnuWZalHPycK7CsbVJ+sSrrrnCvHcW38YJVK9Tywnb5DUWJjONi81bLUj7aqDjIXnePxBl5t1r/F/ncg=="
     },
     "qs": {
@@ -18495,20 +18559,23 @@
           },
           "dependencies": {
             "promise": {
-              "version": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+              "version": "7.3.1",
+              "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
               "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
               "requires": {
                 "asap": "~2.0.3"
               }
             },
             "ua-parser-js": {
-              "version": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz",
+              "version": "0.7.14",
+              "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz",
               "integrity": "sha512-jYmeW211A1Q4WOVXQ1k63Dl9q599kOmhe8w65xnn5/Ta5favViOvOuhaj9VQInkxhPpCHI+SoE/IG9Zwai0+Sg=="
             }
           }
         },
         "loose-envify": {
-          "version": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+          "version": "1.3.1",
+          "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
           "integrity": "sha512-iG/U770U9HaHmy0u+fSyxSIclZ3d9WPFtGjV2drWW0SthBnQ1Fa/SCKIaGLAVwYzrBGEPx9gen047er+MCUgnQ==",
           "requires": {
             "js-tokens": "^3.0.0"
@@ -19389,7 +19456,8 @@
       }
     },
     "source-map": {
-      "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
       "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
     },
     "sprintf-js": {
@@ -19575,7 +19643,8 @@
       "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
     },
     "through": {
-      "version": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
       "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
     },
     "thunkify": {
@@ -19606,6 +19675,11 @@
         "punycode": "^1.4.1"
       }
     },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+    },
     "tunnel-agent": {
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
@@ -19759,7 +19833,7 @@
     },
     "visualizeRevTree": {
       "version": "git+https://github.com/neojski/visualizeRevTree.git#e90e372f381508c9d2c305bd74b84a032005c77d",
-      "from": "visualizeRevTree@git+https://github.com/neojski/visualizeRevTree.git#e90e372f381508c9d2c305bd74b84a032005c77d"
+      "from": "git+https://github.com/neojski/visualizeRevTree.git#gh-pages"
     },
     "webpack": {
       "version": "2.2.1",
diff --git a/package.json b/package.json
index 5843365..7ae0119 100644
--- a/package.json
+++ b/package.json
@@ -37,7 +37,7 @@
     "babel": "^6.3.26",
     "babel-cli": "^6.22.2",
     "babel-core": "^6.22.1",
-    "babel-eslint": "~8.1.2",
+    "babel-eslint": "~8.2.0",
     "babel-loader": "^6.2.9",
     "babel-plugin-array-includes": "^2.0.3",
     "babel-plugin-transform-async-to-generator": "^6.24.1",
@@ -62,7 +62,7 @@
     "d3": "^3.4.11",
     "eslint": "^4.19.0",
     "eslint-loader": "^1.3.0",
-    "eslint-plugin-react": "^7.5.1",
+    "eslint-plugin-react": "^7.9.1",
     "exports-loader": "^0.6.2",
     "expose-loader": "0.7.1",
     "express": "^4.14.1",

-- 
To stop receiving notification emails like this one, please contact
amaranhao@apache.org.