Index: frontend/node_modules/eslint-module-utils/visit.js
===================================================================
--- frontend/node_modules/eslint-module-utils/visit.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint-module-utils/visit.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,30 @@
+'use strict';
+
+exports.__esModule = true;
+
+/** @type {import('./visit').default} */
+exports.default = function visit(node, keys, visitorSpec) {
+  if (!node || !keys) {
+    return;
+  }
+  const type = node.type;
+  const visitor = visitorSpec[type];
+  if (typeof visitor === 'function') {
+    visitor(node);
+  }
+  const childFields = keys[type];
+  if (!childFields) {
+    return;
+  }
+  childFields.forEach((fieldName) => {
+    // @ts-expect-error TS sucks with concat
+    [].concat(node[fieldName]).forEach((item) => {
+      visit(item, keys, visitorSpec);
+    });
+  });
+
+  const exit = visitorSpec[`${type}:Exit`];
+  if (typeof exit === 'function') {
+    exit(node);
+  }
+};
