Update ESLint-related packages

R=jacktfranklin@chromium.org

No-Presubmit: True
Bug: none
Change-Id: I52dc24b12e350787085c5e3d131cface7ea87142
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3060705
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
diff --git a/node_modules/eslint-module-utils/moduleVisitor.js b/node_modules/eslint-module-utils/moduleVisitor.js
index bc8c91b..6926998 100644
--- a/node_modules/eslint-module-utils/moduleVisitor.js
+++ b/node_modules/eslint-module-utils/moduleVisitor.js
@@ -1,5 +1,5 @@
-'use strict'
-exports.__esModule = true
+'use strict';
+exports.__esModule = true;
 
 /**
  * Returns an object of node visitors that will call
@@ -12,95 +12,103 @@
  */
 exports.default = function visitModules(visitor, options) {
   // if esmodule is not explicitly disabled, it is assumed to be enabled
-  options = Object.assign({ esmodule: true }, options)
+  options = Object.assign({ esmodule: true }, options);
 
-  let ignoreRegExps = []
+  let ignoreRegExps = [];
   if (options.ignore != null) {
-    ignoreRegExps = options.ignore.map(p => new RegExp(p))
+    ignoreRegExps = options.ignore.map(p => new RegExp(p));
   }
 
   function checkSourceValue(source, importer) {
-    if (source == null) return //?
+    if (source == null) return; //?
 
     // handle ignore
-    if (ignoreRegExps.some(re => re.test(source.value))) return
+    if (ignoreRegExps.some(re => re.test(source.value))) return;
 
     // fire visitor
-    visitor(source, importer)
+    visitor(source, importer);
   }
 
   // for import-y declarations
   function checkSource(node) {
-    checkSourceValue(node.source, node)
+    checkSourceValue(node.source, node);
   }
 
   // for esmodule dynamic `import()` calls
   function checkImportCall(node) {
-    if (node.callee.type !== 'Import') return
-    if (node.arguments.length !== 1) return
+    let modulePath;
+    // refs https://github.com/estree/estree/blob/master/es2020.md#importexpression
+    if (node.type === 'ImportExpression') {
+      modulePath = node.source;
+    } else if (node.type === 'CallExpression') {
+      if (node.callee.type !== 'Import') return;
+      if (node.arguments.length !== 1) return;
 
-    const modulePath = node.arguments[0]
-    if (modulePath.type !== 'Literal') return
-    if (typeof modulePath.value !== 'string') return
+      modulePath = node.arguments[0];
+    }
 
-    checkSourceValue(modulePath, node)
+    if (modulePath.type !== 'Literal') return;
+    if (typeof modulePath.value !== 'string') return;
+
+    checkSourceValue(modulePath, node);
   }
 
   // for CommonJS `require` calls
   // adapted from @mctep: http://git.io/v4rAu
   function checkCommon(call) {
-    if (call.callee.type !== 'Identifier') return
-    if (call.callee.name !== 'require') return
-    if (call.arguments.length !== 1) return
+    if (call.callee.type !== 'Identifier') return;
+    if (call.callee.name !== 'require') return;
+    if (call.arguments.length !== 1) return;
 
-    const modulePath = call.arguments[0]
-    if (modulePath.type !== 'Literal') return
-    if (typeof modulePath.value !== 'string') return
+    const modulePath = call.arguments[0];
+    if (modulePath.type !== 'Literal') return;
+    if (typeof modulePath.value !== 'string') return;
 
-    checkSourceValue(modulePath, call)
+    checkSourceValue(modulePath, call);
   }
 
   function checkAMD(call) {
-    if (call.callee.type !== 'Identifier') return
+    if (call.callee.type !== 'Identifier') return;
     if (call.callee.name !== 'require' &&
-        call.callee.name !== 'define') return
-    if (call.arguments.length !== 2) return
+        call.callee.name !== 'define') return;
+    if (call.arguments.length !== 2) return;
 
-    const modules = call.arguments[0]
-    if (modules.type !== 'ArrayExpression') return
+    const modules = call.arguments[0];
+    if (modules.type !== 'ArrayExpression') return;
 
-    for (let element of modules.elements) {
-      if (element.type !== 'Literal') continue
-      if (typeof element.value !== 'string') continue
+    for (const element of modules.elements) {
+      if (element.type !== 'Literal') continue;
+      if (typeof element.value !== 'string') continue;
 
       if (element.value === 'require' ||
-          element.value === 'exports') continue // magic modules: http://git.io/vByan
+          element.value === 'exports') continue; // magic modules: http://git.io/vByan
 
-      checkSourceValue(element, element)
+      checkSourceValue(element, element);
     }
   }
 
-  const visitors = {}
+  const visitors = {};
   if (options.esmodule) {
     Object.assign(visitors, {
       'ImportDeclaration': checkSource,
       'ExportNamedDeclaration': checkSource,
       'ExportAllDeclaration': checkSource,
       'CallExpression': checkImportCall,
-    })
+      'ImportExpression': checkImportCall,
+    });
   }
 
   if (options.commonjs || options.amd) {
-    const currentCallExpression = visitors['CallExpression']
+    const currentCallExpression = visitors['CallExpression'];
     visitors['CallExpression'] = function (call) {
-      if (currentCallExpression) currentCallExpression(call)
-      if (options.commonjs) checkCommon(call)
-      if (options.amd) checkAMD(call)
-    }
+      if (currentCallExpression) currentCallExpression(call);
+      if (options.commonjs) checkCommon(call);
+      if (options.amd) checkAMD(call);
+    };
   }
 
-  return visitors
-}
+  return visitors;
+};
 
 /**
  * make an options schema for the module visitor, optionally
@@ -121,21 +129,21 @@
       },
     },
     'additionalProperties': false,
-  }
+  };
 
   if (additionalProperties){
-    for (let key in additionalProperties) {
-      base.properties[key] = additionalProperties[key]
+    for (const key in additionalProperties) {
+      base.properties[key] = additionalProperties[key];
     }
   }
 
-  return base
+  return base;
 }
-exports.makeOptionsSchema = makeOptionsSchema
+exports.makeOptionsSchema = makeOptionsSchema;
 
 /**
  * json schema object for options parameter. can be used to build
  * rule options schema object.
  * @type {Object}
  */
-exports.optionsSchema = makeOptionsSchema()
+exports.optionsSchema = makeOptionsSchema();