{"repo":"NousResearch/hermes-agent","public_id":"4464","display_label":"Deprecated npm dependencies audit and migration","summary":"These issues and PRs concern deprecated npm packages across desktop and TUI projects, including rcedit, glob, inflight, Babel plugins, and electron-builder, along with efforts to migrate or remove them.","subsystem":"apps/desktop","counts":{"members":14,"open_issues":4,"open_issues_distinct":4,"open_prs":0,"closed_issues":7,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":28269},"resolution":{"state":"partially_resolved","by":"pr-28269"},"freshness":{"state":"verified","last_verified_at":"2026-05-21T14:21:32+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.09538461538461539},"fix_edges":[{"issue_number":27594,"pr_number":28269,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":27595,"pr_number":28269,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":4464,"title":"Update deprecated npm dependencies","url":null,"state":"open"},{"kind":"issue","number":27594,"title":"npm: deprecated dependency inflight@1.0.6 (leaks memory, used via glob → @babel/cli)","url":null,"state":"closed"},{"kind":"issue","number":27595,"title":"npm: deprecated dependency glob@7.2.3 (security vulnerabilities, used via @babel/cli)","url":null,"state":"closed"},{"kind":"issue","number":27596,"title":"npm: deprecated @babel/plugin-proposal-private-methods@7.18.6 (no longer maintained, used via eslint-plugin-react-compiler)","url":null,"state":"closed"},{"kind":"issue","number":29322,"title":"[Bug]: Deprecation and security warnings (glob, inflight) during hermes update","url":null,"state":"closed"},{"kind":"issue","number":31818,"title":"npm install warns about deprecated @babel/plugin-proposal-private-methods","url":null,"state":"closed"},{"kind":"issue","number":45375,"title":"electron-builder@26.8.1 pulls in deprecated inflight, rimraf@2, glob@7 — upgrade to 26.15.3","url":null,"state":"open"},{"kind":"issue","number":45376,"title":"Direct dependency rcedit@5.0.2 is deprecated — migrate to @electron/rcedit","url":null,"state":"open"},{"kind":"issue","number":55448,"title":"[Bug]: 升级hermes 出现错误提示","url":null,"state":"closed"},{"kind":"issue","number":55735,"title":"Deprecated rcedit@5.0.2 in apps/desktop devDependencies","url":null,"state":"closed"},{"kind":"issue","number":66190,"title":"[Feature]: desktop install uses deprecated components","url":null,"state":"open"},{"kind":"pr","number":28269,"title":"chore(tui): remove unused Babel build deps","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["nix/tui.nix","ui-tui/babel.compiler.config.cjs","ui-tui/package.json"],"fix_hunks":[{"file":"nix/tui.nix","hunks":["@@ -4,7 +4,7 @@ let\n   src = ../ui-tui;\n   npmDeps = pkgs.fetchNpmDeps {\n     inherit src;\n-    hash = \"sha256-dNL/J4tyQQ7Ji3xfIE5b5Jdi6rQyCFjqYpzLYftJVdc=\";\n+    hash = \"sha256-F6/MzZOWc0zhW9mIfnaY+PrllPvJcsA/OdFdEM+NpLY=\";\n   };\n \n   npm = hermesNpmLib.mkNpmPassthru { folder = \"ui-tui\"; attr = \"tui\"; pname = \"hermes-tui\"; };"]},{"file":"/dev/null","hunks":["@@ -1,15 +0,0 @@\n-module.exports = {\n-  assumptions: {\n-    setPublicClassFields: true\n-  },\n-  plugins: [\n-    [\n-      'babel-plugin-react-compiler',\n-      {\n-        target: '19',\n-        sources: filename => Boolean(filename && !filename.includes('node_modules'))\n-      }\n-    ]\n-  ],\n-  babelrc: false\n-}"]},{"file":"ui-tui/package-lock.json","hunks":["@@ -17,15 +17,11 @@\n         \"unicode-animations\": \"^1.0.3\"\n       },\n       \"devDependencies\": {\n-        \"@babel/cli\": \"^7.28.6\",\n-        \"@babel/core\": \"^7.29.0\",\n-        \"@babel/plugin-syntax-jsx\": \"^7.28.6\",\n         \"@eslint/js\": \"^9\",\n         \"@types/node\": \"^25.5.0\",\n         \"@types/react\": \"^19.2.14\",\n         \"@typescript-eslint/eslint-plugin\": \"^8\",\n         \"@typescript-eslint/parser\": \"^8\",\n-        \"babel-plugin-react-compiler\": \"^1.0.0\",\n         \"esbuild\": \"~0.27.0\",\n         \"eslint\": \"^9\",\n         \"eslint-plugin-perfectionist\": \"^5\",","@@ -65,36 +61,6 @@\n         \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n       }\n     },\n-    \"node_modules/@babel/cli\": {\n-      \"version\": \"7.28.6\",\n-      \"resolved\": \"https://registry.npmjs.org/@babel/cli/-/cli-7.28.6.tgz\",\n-      \"integrity\": \"sha512-6EUNcuBbNkj08Oj4gAZ+BUU8yLCgKzgVX4gaTh09Ya2C8ICM4P+G30g4m3akRxSYAp3A/gnWchrNst7px4/nUQ==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"dependencies\": {\n-        \"@jridgewell/trace-mapping\": \"^0.3.28\",\n-        \"commander\": \"^6.2.0\",\n-        \"convert-source-map\": \"^2.0.0\",\n-        \"fs-readdir-recursive\": \"^1.1.0\",\n-        \"glob\": \"^7.2.0\",\n-        \"make-dir\": \"^2.1.0\",\n-        \"slash\": \"^2.0.0\"\n-      },\n-      \"bin\": {\n-        \"babel\": \"bin/babel.js\",\n-        \"babel-external-helpers\": \"bin/babel-external-helpers.js\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=6.9.0\"\n-      },\n-      \"optionalDependencies\": {\n-        \"@nicolo-ribaudo/chokidar-2\": \"2.1.8-no-fsevents.3\",\n-        \"chokidar\": \"^3.6.0\"\n-      },\n-      \"peerDependencies\": {\n-        \"@babel/core\": \"^7.0.0-0\"\n-      }\n-    },\n     \"node_modules/@babel/code-frame\": {\n       \"version\": \"7.29.0\",\n       \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz\",","@@ -439,22 +405,6 @@\n         \"@babel/core\": \"^7.0.0-0\"\n       }\n     },\n-    \"node_modules/@babel/plugin-syntax-jsx\": {\n-      \"version\": \"7.28.6\",\n-      \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz\",\n-      \"integrity\": \"sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"dependencies\": {\n-        \"@babel/helper-plugin-utils\": \"^7.28.6\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=6.9.0\"\n-      },\n-      \"peerDependencies\": {\n-        \"@babel/core\": \"^7.0.0-0\"\n-      }\n-    },\n     \"node_modules/@babel/template\": {\n       \"version\": \"7.28.6\",\n       \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz\",","@@ -1341,14 +1291,6 @@\n         \"@emnapi/runtime\": \"^1.7.1\"\n       }\n     },\n-    \"node_modules/@nicolo-ribaudo/chokidar-2\": {\n-      \"version\": \"2.1.8-no-fsevents.3\",\n-      \"resolved\": \"https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz\",\n-      \"integrity\": \"sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true\n-    },\n     \"node_modules/@oxc-project/types\": {\n       \"version\": \"0.124.0\",\n       \"resolved\": \"https://registry.npmjs.org/@oxc-project/types/-/types-0.124.0.tgz\",","@@ -2145,35 +2087,6 @@\n         \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n       }\n     },\n-    \"node_modules/anymatch\": {\n-      \"version\": \"3.1.3\",\n-      \"resolved\": \"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz\",\n-      \"integrity\": \"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"normalize-path\": \"^3.0.0\",\n-        \"picomatch\": \"^2.0.4\"\n-      },\n-      \"engines\": {\n-        \"node\": \">= 8\"\n-      }\n-    },\n-    \"node_modules/anymatch/node_modules/picomatch\": {\n-      \"version\": \"2.3.2\",\n-      \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz\",\n-      \"integrity\": \"sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"engines\": {\n-        \"node\": \">=8.6\"\n-      },\n-      \"funding\": {\n-        \"url\": \"https://github.com/sponsors/jonschlinkert\"\n-      }\n-    },\n     \"node_modules/argparse\": {\n       \"version\": \"2.0.1\",\n       \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",","@@ -2367,16 +2280,6 @@\n         \"url\": \"https://github.com/sponsors/ljharb\"\n       }\n     },\n-    \"node_modules/babel-plugin-react-compiler\": {\n-      \"version\": \"1.0.0\",\n-      \"resolved\": \"https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz\",\n-      \"integrity\": \"sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"dependencies\": {\n-        \"@babel/types\": \"^7.26.0\"\n-      }\n-    },\n     \"node_modules/balanced-match\": {\n       \"version\": \"4.0.4\",\n       \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz\",","@@ -2409,20 +2312,6 @@\n         \"require-from-string\": \"^2.0.2\"\n       }\n     },\n-    \"node_modules/binary-extensions\": {\n-      \"version\": \"2.3.0\",\n-      \"resolved\": \"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz\",\n-      \"integrity\": \"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"engines\": {\n-        \"node\": \">=8\"\n-      },\n-      \"funding\": {\n-        \"url\": \"https://github.com/sponsors/sindresorhus\"\n-      }\n-    },\n     \"node_modules/brace-expansion\": {\n       \"version\": \"5.0.5\",\n       \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz\",","@@ -2436,20 +2325,6 @@\n         \"node\": \"18 || 20 || >=22\"\n       }\n     },\n-    \"node_modules/braces\": {\n-      \"version\": \"3.0.3\",\n-      \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n-      \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"fill-range\": \"^7.1.1\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=8\"\n-      }\n-    },\n     \"node_modules/browserslist\": {\n       \"version\": \"4.28.2\",\n       \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz\",","@@ -2592,46 +2467,6 @@\n         \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n       }\n     },\n-    \"node_modules/chokidar\": {\n-      \"version\": \"3.6.0\",\n-      \"resolved\": \"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz\",\n-      \"integrity\": \"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"anymatch\": \"~3.1.2\",\n-        \"braces\": \"~3.0.2\",\n-        \"glob-parent\": \"~5.1.2\",\n-        \"is-binary-path\": \"~2.1.0\",\n-        \"is-glob\": \"~4.0.1\",\n-        \"normalize-path\": \"~3.0.0\",\n-        \"readdirp\": \"~3.6.0\"\n-      },\n-      \"engines\": {\n-        \"node\": \">= 8.10.0\"\n-      },\n-      \"funding\": {\n-        \"url\": \"https://paulmillr.com/funding/\"\n-      },\n-      \"optionalDependencies\": {\n-        \"fsevents\": \"~2.3.2\"\n-      }\n-    },\n-    \"node_modules/chokidar/node_modules/glob-parent\": {\n-      \"version\": \"5.1.2\",\n-      \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n-      \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"is-glob\": \"^4.0.1\"\n-      },\n-      \"engines\": {\n-        \"node\": \">= 6\"\n-      }\n-    },\n     \"node_modules/cli-boxes\": {\n       \"version\": \"3.0.0\",\n       \"resolved\": \"https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz\",","@@ -2707,16 +2542,6 @@\n       \"dev\": true,\n       \"license\": \"MIT\"\n     },\n-    \"node_modules/commander\": {\n-      \"version\": \"6.2.1\",\n-      \"resolved\": \"https://registry.npmjs.org/commander/-/commander-6.2.1.tgz\",\n-      \"integrity\": \"sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"engines\": {\n-        \"node\": \">= 6\"\n-      }\n-    },\n     \"node_modules/concat-map\": {\n       \"version\": \"0.0.1\",\n       \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",","@@ -3663,20 +3488,6 @@\n         \"node\": \">=16.0.0\"\n       }\n     },\n-    \"node_modules/fill-range\": {\n-      \"version\": \"7.1.1\",\n-      \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n-      \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"to-regex-range\": \"^5.0.1\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=8\"\n-      }\n-    },\n     \"node_modules/find-up\": {\n       \"version\": \"5.0.0\",\n       \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",","@@ -3731,20 +3542,6 @@\n         \"url\": \"https://github.com/sponsors/ljharb\"\n       }\n     },\n-    \"node_modules/fs-readdir-recursive\": {\n-      \"version\": \"1.1.0\",\n-      \"resolved\": \"https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz\",\n-      \"integrity\": \"sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\"\n-    },\n-    \"node_modules/fs.realpath\": {\n-      \"version\": \"1.0.0\",\n-      \"resolved\": \"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz\",\n-      \"integrity\": \"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\"\n-    },\n     \"node_modules/fsevents\": {\n       \"version\": \"2.3.3\",\n       \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",","@@ -3903,28 +3700,6 @@\n         \"url\": \"https://github.com/privatenumber/get-tsconfig?sponsor=1\"\n       }\n     },\n-    \"node_modules/glob\": {\n-      \"version\": \"7.2.3\",\n-      \"resolved\": \"https://registry.npmjs.org/glob/-/glob-7.2.3.tgz\",\n-      \"integrity\": \"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==\",\n-      \"deprecated\": \"Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting [redacted:email]\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"dependencies\": {\n-        \"fs.realpath\": \"^1.0.0\",\n-        \"inflight\": \"^1.0.4\",\n-        \"inherits\": \"2\",\n-        \"minimatch\": \"^3.1.1\",\n-        \"once\": \"^1.3.0\",\n-        \"path-is-absolute\": \"^1.0.0\"\n-      },\n-      \"engines\": {\n-        \"node\": \"*\"\n-      },\n-      \"funding\": {\n-        \"url\": \"https://github.com/sponsors/isaacs\"\n-      }\n-    },\n     \"node_modules/glob-parent\": {\n       \"version\": \"6.0.2\",\n       \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",","@@ -3938,37 +3713,6 @@\n         \"node\": \">=10.13.0\"\n       }\n     },\n-    \"node_modules/glob/node_modules/balanced-match\": {\n-      \"version\": \"1.0.2\",\n-      \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n-      \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\"\n-    },\n-    \"node_modules/glob/node_modules/brace-expansion\": {\n-      \"version\": \"1.1.14\",\n-      \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz\",\n-      \"integrity\": \"sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"dependencies\": {\n-        \"balanced-match\": \"^1.0.0\",\n-        \"concat-map\": \"0.0.1\"\n-      }\n-    },\n-    \"node_modules/glob/node_modules/minimatch\": {\n-      \"version\": \"3.1.5\",\n-      \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz\",\n-      \"integrity\": \"sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"dependencies\": {\n-        \"brace-expansion\": \"^1.1.7\"\n-      },\n-      \"engines\": {\n-        \"node\": \"*\"\n-      }\n-    },\n     \"node_modules/globals\": {\n       \"version\": \"16.5.0\",\n       \"resolved\": \"https://registry.npmjs.org/globals/-/globals-16.5.0.tgz\",","@@ -4171,25 +3915,6 @@\n         \"url\": \"https://github.com/sponsors/sindresorhus\"\n       }\n     },\n-    \"node_modules/inflight\": {\n-      \"version\": \"1.0.6\",\n-      \"resolved\": \"https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz\",\n-      \"integrity\": \"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==\",\n-      \"deprecated\": \"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"dependencies\": {\n-        \"once\": \"^1.3.0\",\n-        \"wrappy\": \"1\"\n-      }\n-    },\n-    \"node_modules/inherits\": {\n-      \"version\": \"2.0.4\",\n-      \"resolved\": \"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz\",\n-      \"integrity\": \"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\"\n-    },\n     \"node_modules/ink\": {\n       \"version\": \"6.8.0\",\n       \"resolved\": \"https://registry.npmjs.org/ink/-/ink-6.8.0.tgz\",","@@ -4373,20 +4098,6 @@\n         \"url\": \"https://github.com/sponsors/ljharb\"\n       }\n     },\n-    \"node_modules/is-binary-path\": {\n-      \"version\": \"2.1.0\",\n-      \"resolved\": \"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz\",\n-      \"integrity\": \"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"binary-extensions\": \"^2.0.0\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=8\"\n-      }\n-    },\n     \"node_modules/is-boolean-object\": {\n       \"version\": \"1.2.2\",\n       \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz\",","@@ -4583,17 +4294,6 @@\n         \"url\": \"https://github.com/sponsors/ljharb\"\n       }\n     },\n-    \"node_modules/is-number\": {\n-      \"version\": \"7.0.0\",\n-      \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n-      \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"engines\": {\n-        \"node\": \">=0.12.0\"\n-      }\n-    },\n     \"node_modules/is-number-object\": {\n       \"version\": \"1.1.1\",\n       \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz\",","@@ -5224,30 +4924,6 @@\n         \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n       }\n     },\n-    \"node_modules/make-dir\": {\n-      \"version\": \"2.1.0\",\n-      \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz\",\n-      \"integrity\": \"sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"dependencies\": {\n-        \"pify\": \"^4.0.1\",\n-        \"semver\": \"^5.6.0\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=6\"\n-      }\n-    },\n-    \"node_modules/make-dir/node_modules/semver\": {\n-      \"version\": \"5.7.2\",\n-      \"resolved\": \"https://registry.npmjs.org/semver/-/semver-5.7.2.tgz\",\n-      \"integrity\": \"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"bin\": {\n-        \"semver\": \"bin/semver\"\n-      }\n-    },\n     \"node_modules/math-intrinsics\": {\n       \"version\": \"1.1.0\",\n       \"resolved\": \"https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz\",","@@ -5377,17 +5053,6 @@\n       \"dev\": true,\n       \"license\": \"MIT\"\n     },\n-    \"node_modules/normalize-path\": {\n-      \"version\": \"3.0.0\",\n-      \"resolved\": \"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz\",\n-      \"integrity\": \"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"engines\": {\n-        \"node\": \">=0.10.0\"\n-      }\n-    },\n     \"node_modules/object-assign\": {\n       \"version\": \"4.1.1\",\n       \"resolved\": \"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz\",","@@ -5507,16 +5172,6 @@\n       ],\n       \"license\": \"MIT\"\n     },\n-    \"node_modules/once\": {\n-      \"version\": \"1.4.0\",\n-      \"resolved\": \"https://registry.npmjs.org/once/-/once-1.4.0.tgz\",\n-      \"integrity\": \"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\",\n-      \"dependencies\": {\n-        \"wrappy\": \"1\"\n-      }\n-    },\n     \"node_modules/onetime\": {\n       \"version\": \"5.1.2\",\n       \"resolved\": \"https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz\",","@@ -5632,16 +5287,6 @@\n         \"node\": \">=8\"\n       }\n     },\n-    \"node_modules/path-is-absolute\": {\n-      \"version\": \"1.0.1\",\n-      \"resolved\": \"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz\",\n-      \"integrity\": \"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"engines\": {\n-        \"node\": \">=0.10.0\"\n-      }\n-    },\n     \"node_modules/path-key\": {\n       \"version\": \"3.1.1\",\n       \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",","@@ -5686,16 +5331,6 @@\n         \"url\": \"https://github.com/sponsors/jonschlinkert\"\n       }\n     },\n-    \"node_modules/pify\": {\n-      \"version\": \"4.0.1\",\n-      \"resolved\": \"https://registry.npmjs.org/pify/-/pify-4.0.1.tgz\",\n-      \"integrity\": \"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"engines\": {\n-        \"node\": \">=6\"\n-      }\n-    },\n     \"node_modules/possible-typed-array-names\": {\n       \"version\": \"1.1.0\",\n       \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz\",","@@ -5814,34 +5449,6 @@\n         \"react\": \"^19.2.0\"\n       }\n     },\n-    \"node_modules/readdirp\": {\n-      \"version\": \"3.6.0\",\n-      \"resolved\": \"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz\",\n-      \"integrity\": \"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"picomatch\": \"^2.2.1\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=8.10.0\"\n-      }\n-    },\n-    \"node_modules/readdirp/node_modules/picomatch\": {\n-      \"version\": \"2.3.2\",\n-      \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz\",\n-      \"integrity\": \"sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"engines\": {\n-        \"node\": \">=8.6\"\n-      },\n-      \"funding\": {\n-        \"url\": \"https://github.com/sponsors/jonschlinkert\"\n-      }\n-    },\n     \"node_modules/reflect.getprototypeof\": {\n       \"version\": \"1.0.10\",\n       \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz\",","@@ -6223,16 +5830,6 @@\n       \"integrity\": \"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==\",\n       \"license\": \"ISC\"\n     },\n-    \"node_modules/slash\": {\n-      \"version\": \"2.0.0\",\n-      \"resolved\": \"https://registry.npmjs.org/slash/-/slash-2.0.0.tgz\",\n-      \"integrity\": \"sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"engines\": {\n-        \"node\": \">=6\"\n-      }\n-    },\n     \"node_modules/slice-ansi\": {\n       \"version\": \"8.0.0\",\n       \"resolved\": \"https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz\",","@@ -6571,20 +6168,6 @@\n         \"node\": \">=14.0.0\"\n       }\n     },\n-    \"node_modules/to-regex-range\": {\n-      \"version\": \"5.0.1\",\n-      \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n-      \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n-      \"dev\": true,\n-      \"license\": \"MIT\",\n-      \"optional\": true,\n-      \"dependencies\": {\n-        \"is-number\": \"^7.0.0\"\n-      },\n-      \"engines\": {\n-        \"node\": \">=8.0\"\n-      }\n-    },\n     \"node_modules/ts-api-utils\": {\n       \"version\": \"2.5.0\",\n       \"resolved\": \"https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz\",","@@ -7202,13 +6785,6 @@\n         \"url\": \"https://github.com/sponsors/sindresorhus\"\n       }\n     },\n-    \"node_modules/wrappy\": {\n-      \"version\": \"1.0.2\",\n-      \"resolved\": \"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz\",\n-      \"integrity\": \"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==\",\n-      \"dev\": true,\n-      \"license\": \"ISC\"\n-    },\n     \"node_modules/ws\": {\n       \"version\": \"8.20.1\",\n       \"resolved\": \"https://registry.npmjs.org/ws/-/ws-8.20.1.tgz\","]},{"file":"ui-tui/package.json","hunks":["@@ -25,15 +25,11 @@\n     \"unicode-animations\": \"^1.0.3\"\n   },\n   \"devDependencies\": {\n-    \"@babel/cli\": \"^7.28.6\",\n-    \"@babel/core\": \"^7.29.0\",\n-    \"@babel/plugin-syntax-jsx\": \"^7.28.6\",\n     \"@eslint/js\": \"^9\",\n     \"@types/node\": \"^25.5.0\",\n     \"@types/react\": \"^19.2.14\",\n     \"@typescript-eslint/eslint-plugin\": \"^8\",\n     \"@typescript-eslint/parser\": \"^8\",\n-    \"babel-plugin-react-compiler\": \"^1.0.0\",\n     \"esbuild\": \"~0.27.0\",\n     \"eslint\": \"^9\",\n     \"eslint-plugin-perfectionist\": \"^5\",\n"]}]},{"kind":"pr","number":45427,"title":"fix(desktop): upgrade electron-builder to 26.15.3","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":45428,"title":"fix(desktop): migrate rcedit to @electron/rcedit","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#42808","number":42808}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}