Index: imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.cjs
===================================================================
--- imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.cjs	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.cjs	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -63,15 +63,11 @@
   window.$RefreshSig$ = prevRefreshSig;
 }`;
-const sharedFooter = (id) => `
+const sharedFooter = `
 if (import.meta.hot && !inWebWorker) {
   RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
-    RefreshRuntime.registerExportsForReactRefresh(${JSON.stringify(
-  id
-)}, currentExports);
+    RefreshRuntime.registerExportsForReactRefresh(__SOURCE__, currentExports);
     import.meta.hot.accept((nextExports) => {
       if (!nextExports) return;
-      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(${JSON.stringify(
-  id
-)}, currentExports, nextExports);
+      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(currentExports, nextExports);
       if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
     });
@@ -79,8 +75,8 @@
 }`;
 function addRefreshWrapper(code, id) {
-  return sharedHeader + functionHeader.replace("__SOURCE__", JSON.stringify(id)) + code + functionFooter + sharedFooter(id);
+  return sharedHeader + functionHeader.replace("__SOURCE__", JSON.stringify(id)) + code + functionFooter + sharedFooter.replace("__SOURCE__", JSON.stringify(id));
 }
 function addClassComponentRefreshWrapper(code, id) {
-  return sharedHeader + code + sharedFooter(id);
+  return sharedHeader + code + sharedFooter.replace("__SOURCE__", JSON.stringify(id));
 }
 
@@ -199,5 +195,5 @@
         // This crates issues the react compiler because the re-order is too important
         // People should use @babel/plugin-transform-react-jsx-development to get back good line numbers
-        retainLines: getReactCompilerPlugin(plugins) != null ? false : !isProduction && isJSX && opts.jsxRuntime !== "classic",
+        retainLines: hasCompiler(plugins) ? false : !isProduction && isJSX && opts.jsxRuntime !== "classic",
         parserOpts: {
           ...babelOptions.parserOpts,
@@ -208,6 +204,4 @@
         generatorOpts: {
           ...babelOptions.generatorOpts,
-          // import attributes parsing available without plugin since 7.26
-          importAttributesKeyword: "with",
           decoratorsBeforeExport: true
         },
@@ -228,15 +222,8 @@
     }
   };
-  const dependencies = [
-    "react",
-    "react-dom",
-    jsxImportDevRuntime,
-    jsxImportRuntime
-  ];
+  const dependencies = ["react", jsxImportDevRuntime, jsxImportRuntime];
   const staticBabelPlugins = typeof opts.babel === "object" ? opts.babel?.plugins ?? [] : [];
-  const reactCompilerPlugin = getReactCompilerPlugin(staticBabelPlugins);
-  if (reactCompilerPlugin != null) {
-    const reactCompilerRuntimeModule = getReactCompilerRuntimeModule(reactCompilerPlugin);
-    dependencies.push(reactCompilerRuntimeModule);
+  if (hasCompilerWithDefaultRuntime(staticBabelPlugins)) {
+    dependencies.push("react/compiler-runtime");
   }
   const viteReactRefresh = {
@@ -280,7 +267,4 @@
     onwarn(warning, defaultHandler) {
       if (warning.code === "MODULE_LEVEL_DIRECTIVE" && warning.message.includes("use client")) {
-        return;
-      }
-      if (warning.code === "SOURCEMAP_ERROR" && warning.message.includes("resolve original location") && warning.pos === 0) {
         return;
       }
@@ -323,19 +307,13 @@
   return value !== void 0;
 }
-function getReactCompilerPlugin(plugins) {
-  return plugins.find(
+function hasCompiler(plugins) {
+  return plugins.some(
     (p) => p === "babel-plugin-react-compiler" || Array.isArray(p) && p[0] === "babel-plugin-react-compiler"
   );
 }
-function getReactCompilerRuntimeModule(plugin) {
-  let moduleName = "react/compiler-runtime";
-  if (Array.isArray(plugin)) {
-    if (plugin[1]?.target === "17" || plugin[1]?.target === "18") {
-      moduleName = "react-compiler-runtime";
-    } else if (typeof plugin[1]?.runtimeModule === "string") {
-      moduleName = plugin[1]?.runtimeModule;
-    }
-  }
-  return moduleName;
+function hasCompilerWithDefaultRuntime(plugins) {
+  return plugins.some(
+    (p) => p === "babel-plugin-react-compiler" || Array.isArray(p) && p[0] === "babel-plugin-react-compiler" && p[1]?.runtimeModule === void 0
+  );
 }
 
Index: imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.mjs
===================================================================
--- imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.mjs	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/@vitejs/plugin-react/dist/index.mjs	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -55,15 +55,11 @@
   window.$RefreshSig$ = prevRefreshSig;
 }`;
-const sharedFooter = (id) => `
+const sharedFooter = `
 if (import.meta.hot && !inWebWorker) {
   RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
-    RefreshRuntime.registerExportsForReactRefresh(${JSON.stringify(
-  id
-)}, currentExports);
+    RefreshRuntime.registerExportsForReactRefresh(__SOURCE__, currentExports);
     import.meta.hot.accept((nextExports) => {
       if (!nextExports) return;
-      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(${JSON.stringify(
-  id
-)}, currentExports, nextExports);
+      const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate(currentExports, nextExports);
       if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
     });
@@ -71,8 +67,8 @@
 }`;
 function addRefreshWrapper(code, id) {
-  return sharedHeader + functionHeader.replace("__SOURCE__", JSON.stringify(id)) + code + functionFooter + sharedFooter(id);
+  return sharedHeader + functionHeader.replace("__SOURCE__", JSON.stringify(id)) + code + functionFooter + sharedFooter.replace("__SOURCE__", JSON.stringify(id));
 }
 function addClassComponentRefreshWrapper(code, id) {
-  return sharedHeader + code + sharedFooter(id);
+  return sharedHeader + code + sharedFooter.replace("__SOURCE__", JSON.stringify(id));
 }
 
@@ -191,5 +187,5 @@
         // This crates issues the react compiler because the re-order is too important
         // People should use @babel/plugin-transform-react-jsx-development to get back good line numbers
-        retainLines: getReactCompilerPlugin(plugins) != null ? false : !isProduction && isJSX && opts.jsxRuntime !== "classic",
+        retainLines: hasCompiler(plugins) ? false : !isProduction && isJSX && opts.jsxRuntime !== "classic",
         parserOpts: {
           ...babelOptions.parserOpts,
@@ -200,6 +196,4 @@
         generatorOpts: {
           ...babelOptions.generatorOpts,
-          // import attributes parsing available without plugin since 7.26
-          importAttributesKeyword: "with",
           decoratorsBeforeExport: true
         },
@@ -220,15 +214,8 @@
     }
   };
-  const dependencies = [
-    "react",
-    "react-dom",
-    jsxImportDevRuntime,
-    jsxImportRuntime
-  ];
+  const dependencies = ["react", jsxImportDevRuntime, jsxImportRuntime];
   const staticBabelPlugins = typeof opts.babel === "object" ? opts.babel?.plugins ?? [] : [];
-  const reactCompilerPlugin = getReactCompilerPlugin(staticBabelPlugins);
-  if (reactCompilerPlugin != null) {
-    const reactCompilerRuntimeModule = getReactCompilerRuntimeModule(reactCompilerPlugin);
-    dependencies.push(reactCompilerRuntimeModule);
+  if (hasCompilerWithDefaultRuntime(staticBabelPlugins)) {
+    dependencies.push("react/compiler-runtime");
   }
   const viteReactRefresh = {
@@ -272,7 +259,4 @@
     onwarn(warning, defaultHandler) {
       if (warning.code === "MODULE_LEVEL_DIRECTIVE" && warning.message.includes("use client")) {
-        return;
-      }
-      if (warning.code === "SOURCEMAP_ERROR" && warning.message.includes("resolve original location") && warning.pos === 0) {
         return;
       }
@@ -315,19 +299,13 @@
   return value !== void 0;
 }
-function getReactCompilerPlugin(plugins) {
-  return plugins.find(
+function hasCompiler(plugins) {
+  return plugins.some(
     (p) => p === "babel-plugin-react-compiler" || Array.isArray(p) && p[0] === "babel-plugin-react-compiler"
   );
 }
-function getReactCompilerRuntimeModule(plugin) {
-  let moduleName = "react/compiler-runtime";
-  if (Array.isArray(plugin)) {
-    if (plugin[1]?.target === "17" || plugin[1]?.target === "18") {
-      moduleName = "react-compiler-runtime";
-    } else if (typeof plugin[1]?.runtimeModule === "string") {
-      moduleName = plugin[1]?.runtimeModule;
-    }
-  }
-  return moduleName;
+function hasCompilerWithDefaultRuntime(plugins) {
+  return plugins.some(
+    (p) => p === "babel-plugin-react-compiler" || Array.isArray(p) && p[0] === "babel-plugin-react-compiler" && p[1]?.runtimeModule === void 0
+  );
 }
 
Index: imaps-frontend/node_modules/@vitejs/plugin-react/dist/refreshUtils.js
===================================================================
--- imaps-frontend/node_modules/@vitejs/plugin-react/dist/refreshUtils.js	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/@vitejs/plugin-react/dist/refreshUtils.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,12 +8,5 @@
 
 /* eslint-disable no-undef */
-const hooks = []
-window.__registerBeforePerformReactRefresh = (cb) => {
-  hooks.push(cb)
-}
-const enqueueUpdate = debounce(async () => {
-  if (hooks.length) await Promise.all(hooks.map((cb) => cb()))
-  exports.performReactRefresh()
-}, 16)
+const enqueueUpdate = debounce(exports.performReactRefresh, 16)
 
 // Taken from https://github.com/pmmmwh/react-refresh-webpack-plugin/blob/main/lib/runtime/RefreshUtils.js#L141
@@ -33,22 +26,9 @@
 }
 
-function validateRefreshBoundaryAndEnqueueUpdate(id, prevExports, nextExports) {
-  const ignoredExports = window.__getReactRefreshIgnoredExports?.({ id }) ?? []
-  if (
-    predicateOnExport(
-      ignoredExports,
-      prevExports,
-      (key) => key in nextExports,
-    ) !== true
-  ) {
+function validateRefreshBoundaryAndEnqueueUpdate(prevExports, nextExports) {
+  if (!predicateOnExport(prevExports, (key) => key in nextExports)) {
     return 'Could not Fast Refresh (export removed)'
   }
-  if (
-    predicateOnExport(
-      ignoredExports,
-      nextExports,
-      (key) => key in prevExports,
-    ) !== true
-  ) {
+  if (!predicateOnExport(nextExports, (key) => key in prevExports)) {
     return 'Could not Fast Refresh (new export)'
   }
@@ -56,5 +36,4 @@
   let hasExports = false
   const allExportsAreComponentsOrUnchanged = predicateOnExport(
-    ignoredExports,
     nextExports,
     (key, value) => {
@@ -64,18 +43,17 @@
     },
   )
-  if (hasExports && allExportsAreComponentsOrUnchanged === true) {
+  if (hasExports && allExportsAreComponentsOrUnchanged) {
     enqueueUpdate()
   } else {
-    return `Could not Fast Refresh ("${allExportsAreComponentsOrUnchanged}" export is incompatible). Learn more at https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#consistent-components-exports`
+    return 'Could not Fast Refresh. Learn more at https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#consistent-components-exports'
   }
 }
 
-function predicateOnExport(ignoredExports, moduleExports, predicate) {
+function predicateOnExport(moduleExports, predicate) {
   for (const key in moduleExports) {
     if (key === '__esModule') continue
-    if (ignoredExports.includes(key)) continue
     const desc = Object.getOwnPropertyDescriptor(moduleExports, key)
-    if (desc && desc.get) return key
-    if (!predicate(key, moduleExports[key])) return key
+    if (desc && desc.get) return false
+    if (!predicate(key, moduleExports[key])) return false
   }
   return true
Index: imaps-frontend/node_modules/@vitejs/plugin-react/package.json
===================================================================
--- imaps-frontend/node_modules/@vitejs/plugin-react/package.json	(revision 0c6b92add4cfaedcb91bcd37b45849f142f7d152)
+++ imaps-frontend/node_modules/@vitejs/plugin-react/package.json	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 {
   "name": "@vitejs/plugin-react",
-  "version": "4.3.4",
+  "version": "4.3.1",
   "license": "MIT",
   "author": "Evan You",
@@ -39,12 +39,12 @@
   "homepage": "https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme",
   "dependencies": {
-    "@babel/core": "^7.26.0",
-    "@babel/plugin-transform-react-jsx-self": "^7.25.9",
-    "@babel/plugin-transform-react-jsx-source": "^7.25.9",
+    "@babel/core": "^7.24.5",
+    "@babel/plugin-transform-react-jsx-self": "^7.24.5",
+    "@babel/plugin-transform-react-jsx-source": "^7.24.1",
     "@types/babel__core": "^7.20.5",
     "react-refresh": "^0.14.2"
   },
   "peerDependencies": {
-    "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
+    "vite": "^4.2.0 || ^5.0.0"
   },
   "devDependencies": {
