From 9c208527e8b3678289c0767a8862777949392eb8 Mon Sep 17 00:00:00 2001
From: Chris Beer <cabeer@stanford.edu>
Date: Thu, 10 Jun 2021 09:36:42 -0700
Subject: [PATCH] Bump some more dev deps (#3418)

---
 __tests__/src/components/ManifestForm.test.js |  9 ++++++---
 package.json                                  | 15 +++++++--------
 src/components/ManifestForm.js                | 18 ++++--------------
 3 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/__tests__/src/components/ManifestForm.test.js b/__tests__/src/components/ManifestForm.test.js
index cb4bb113a..4d170be7a 100644
--- a/__tests__/src/components/ManifestForm.test.js
+++ b/__tests__/src/components/ManifestForm.test.js
@@ -14,11 +14,14 @@ function createWrapper(props) {
 }
 
 describe('ManifestForm', () => {
-  it('renders', () => {
+  it('renders nothing if it is not open', () => {
     const wrapper = createWrapper({ addResourcesOpen: false });
+    expect(wrapper.find('ForwardRef(TextField)[label="addManifestUrl"]').length).toBe(0);
+  });
+
+  it('renders the form fields', () => {
+    const wrapper = createWrapper({ addResourcesOpen: true });
     expect(wrapper.find('ForwardRef(TextField)[label="addManifestUrl"]').length).toBe(1);
-    wrapper.setProps({ addResourcesOpen: true });
-    expect(wrapper.find('ForwardRef(TextField)[label="addManifestUrl"] input').instance()).toEqual(document.activeElement);
     expect(wrapper.find('button[type="submit"]').length).toBe(1);
   });
 
diff --git a/package.json b/package.json
index d08624352..72927d10e 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
     "build:watch": "webpack --watch --mode=development",
     "prepublishOnly": "npm run clean && npm run build:es && npm run build:cjs && npm run build",
     "size": "bundlewatch --config bundlewatch.config.json",
-    "start": "NODE_ENV=development webpack-dev-server --open"
+    "start": "NODE_ENV=development webpack serve --open"
   },
   "license": "Apache-2.0",
   "contributors": [
@@ -86,14 +86,14 @@
     "@babel/plugin-transform-runtime": "^7.10.3",
     "@babel/preset-env": "^7.10.3",
     "@babel/preset-react": "^7.10.1",
-    "@pmmmwh/react-refresh-webpack-plugin": "^0.3.3",
+    "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
     "@typescript-eslint/eslint-plugin": "^4.21.0",
     "@typescript-eslint/parser": "^4.21.0",
     "babel-eslint": "^10.1.0",
     "babel-jest": "^26.0.1",
     "babel-loader": "^8.0.6",
     "babel-plugin-lodash": "^3.3.4",
-    "babel-plugin-macros": "^2.8.0",
+    "babel-plugin-macros": "^3.0.1",
     "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
     "bundlewatch": "^0.3.2",
     "chalk": "^4.1.0",
@@ -116,19 +116,18 @@
     "jest": "^26.0.1",
     "jest-fetch-mock": "^3.0.0",
     "jest-puppeteer": "^5.0.2",
-    "jsdom": "15.1.1",
-    "puppeteer": "^4.0.0",
+    "jsdom": "^16.5.3",
+    "puppeteer": "^9.0.0",
     "react": "^16.8.6",
     "react-dom": "^16.8.6",
     "react-refresh": "^0.8.3",
     "redux-mock-store": "^1.5.1",
     "redux-saga-test-plan": "^4.0.0-rc.3",
-    "supertest": "^4.0.2",
-    "terser-webpack-plugin": "^3.0.6",
+    "terser-webpack-plugin": "^4.0.0",
     "unfetch": "^4.1.0",
     "url-polyfill": "^1.1.7",
     "webpack": "^4.43.0",
-    "webpack-cli": "^3.3.5",
+    "webpack-cli": "^4.6.0",
     "webpack-dev-server": "^3.11.0"
   },
   "peerDependencies": {
diff --git a/src/components/ManifestForm.js b/src/components/ManifestForm.js
index c4e03ec51..19702f071 100644
--- a/src/components/ManifestForm.js
+++ b/src/components/ManifestForm.js
@@ -18,24 +18,11 @@ export class ManifestForm extends Component {
       formValue: '',
     };
 
-    this.inputRef = React.createRef();
     this.formSubmit = this.formSubmit.bind(this);
     this.handleCancel = this.handleCancel.bind(this);
     this.handleInputChange = this.handleInputChange.bind(this);
   }
 
-  /**
-   *
-   * @param {*} prevProps
-   * @param {*} prevState
-   */
-  componentDidUpdate() {
-    const { addResourcesOpen } = this.props;
-    if (this.inputRef && this.inputRef.current && addResourcesOpen) {
-      this.inputRef.current.focus();
-    }
-  }
-
   /**
    * Reset the form state
    */
@@ -80,16 +67,19 @@ export class ManifestForm extends Component {
   render() {
     const { formValue } = this.state;
     const {
+      addResourcesOpen,
       classes,
       onCancel,
       t,
     } = this.props;
+    if (!addResourcesOpen) return null;
+
     return (
       <form onSubmit={this.formSubmit}>
         <Grid container spacing={2}>
           <Grid item xs={12} sm={8} md={9}>
             <TextField
-              inputRef={this.inputRef}
+              autoFocus
               fullWidth
               value={formValue}
               id="manifestURL"
-- 
GitLab