From f05f0be55ff51ddc0cd31e97127b957f03dcb652 Mon Sep 17 00:00:00 2001 From: Stephen Zhou Date: Fri, 6 Mar 2026 14:54:24 +0800 Subject: [PATCH] chore: use react-grab to replace code-inspector-plugin (#33078) --- .../components/devtools/react-grab/loader.tsx | 17 ++ web/app/layout.tsx | 2 + web/eslint.config.mjs | 2 +- web/next.config.ts | 20 +- web/package.json | 2 - web/{eslint-rules => plugins/eslint}/index.js | 0 .../eslint}/namespaces.js | 0 .../eslint}/rules/consistent-placeholders.js | 0 .../eslint}/rules/no-as-any-in-t.js | 0 .../eslint}/rules/no-extra-keys.js | 0 .../rules/no-legacy-namespace-prefix.js | 0 .../eslint}/rules/require-ns-option.js | 0 web/{eslint-rules => plugins/eslint}/utils.js | 0 web/plugins/vite/custom-i18n-hmr.ts | 80 +++++ web/plugins/vite/react-grab-open-file.ts | 92 ++++++ web/plugins/vite/utils.ts | 20 ++ web/pnpm-lock.yaml | 276 ++---------------- web/vite.config.ts | 166 +---------- 18 files changed, 250 insertions(+), 427 deletions(-) create mode 100644 web/app/components/devtools/react-grab/loader.tsx rename web/{eslint-rules => plugins/eslint}/index.js (100%) rename web/{eslint-rules => plugins/eslint}/namespaces.js (100%) rename web/{eslint-rules => plugins/eslint}/rules/consistent-placeholders.js (100%) rename web/{eslint-rules => plugins/eslint}/rules/no-as-any-in-t.js (100%) rename web/{eslint-rules => plugins/eslint}/rules/no-extra-keys.js (100%) rename web/{eslint-rules => plugins/eslint}/rules/no-legacy-namespace-prefix.js (100%) rename web/{eslint-rules => plugins/eslint}/rules/require-ns-option.js (100%) rename web/{eslint-rules => plugins/eslint}/utils.js (100%) create mode 100644 web/plugins/vite/custom-i18n-hmr.ts create mode 100644 web/plugins/vite/react-grab-open-file.ts create mode 100644 web/plugins/vite/utils.ts diff --git a/web/app/components/devtools/react-grab/loader.tsx b/web/app/components/devtools/react-grab/loader.tsx new file mode 100644 index 0000000000..3a1ecc6be8 --- /dev/null +++ b/web/app/components/devtools/react-grab/loader.tsx @@ -0,0 +1,17 @@ +import Script from 'next/script' +import { IS_DEV } from '@/config' + +export function ReactGrabLoader() { + if (!IS_DEV) + return null + + return ( + <> +