From 583e891619867bf6f7c70faeedb958df08475976 Mon Sep 17 00:00:00 2001 From: logan Date: Sat, 23 May 2026 15:07:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20CodeMirror=E5=A4=9A=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E5=86=B2=E7=AA=81=20=E2=80=94=20=E7=A7=BB=E9=99=A4@codemirror/?= =?UTF-8?q?rectangular-selection@0.19.x=E5=92=8Ccodemirror=E5=85=83?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因: @codemirror/rectangular-selection@0.19.2 引入 @codemirror/state@0.19.9 (旧版) 与主依赖 @codemirror/state@6.6.0 冲突,导致 instanceof 检查失败 修复: - npm uninstall @codemirror/rectangular-selection (已合并到 @codemirror/view) - npm uninstall codemirror (元包,无代码引用) - SqlEditor.tsx 移除 rectangularSelection import 和调用 - 后端测试 843/843 通过 --- frontend/package-lock.json | 77 --------------------------- frontend/package.json | 2 - frontend/src/components/SqlEditor.tsx | 3 +- 3 files changed, 1 insertion(+), 81 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 320bc81..bb23587 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13,7 +13,6 @@ "@codemirror/lang-sql": "^6.10.0", "@codemirror/language": "^6.12.3", "@codemirror/lint": "^6.9.6", - "@codemirror/rectangular-selection": "^0.19.2", "@codemirror/search": "^6.7.0", "@codemirror/state": "^6.6.0", "@codemirror/theme-one-dark": "^6.1.3", @@ -51,7 +50,6 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", - "codemirror": "^6.0.2", "date-fns": "^4.1.0", "echarts": "^6.0.0", "embla-carousel-react": "^8.6.0", @@ -1937,59 +1935,6 @@ "crelt": "^1.0.5" } }, - "node_modules/@codemirror/rangeset": { - "version": "0.19.9", - "resolved": "https://registry.npmmirror.com/@codemirror/rangeset/-/rangeset-0.19.9.tgz", - "integrity": "sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==", - "deprecated": "As of 0.20.0, this package has been merged into @codemirror/state", - "license": "MIT", - "dependencies": { - "@codemirror/state": "^0.19.0" - } - }, - "node_modules/@codemirror/rangeset/node_modules/@codemirror/state": { - "version": "0.19.9", - "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-0.19.9.tgz", - "integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", - "license": "MIT", - "dependencies": { - "@codemirror/text": "^0.19.0" - } - }, - "node_modules/@codemirror/rectangular-selection": { - "version": "0.19.2", - "resolved": "https://registry.npmmirror.com/@codemirror/rectangular-selection/-/rectangular-selection-0.19.2.tgz", - "integrity": "sha512-AXK/p5eGwFJ9GJcLfntqN4dgY+XiIF7eHfXNQJX5HhQLSped2wJE6WuC1rMEaOlcpOqlb9mrNi/ZdUjSIj9mbA==", - "deprecated": "As of 0.20.0, this package has been merged into @codemirror/view", - "license": "MIT", - "dependencies": { - "@codemirror/state": "^0.19.0", - "@codemirror/text": "^0.19.4", - "@codemirror/view": "^0.19.48" - } - }, - "node_modules/@codemirror/rectangular-selection/node_modules/@codemirror/state": { - "version": "0.19.9", - "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-0.19.9.tgz", - "integrity": "sha512-psOzDolKTZkx4CgUqhBQ8T8gBc0xN5z4gzed109aF6x7D7umpDRoimacI/O6d9UGuyl4eYuDCZmDFr2Rq7aGOw==", - "license": "MIT", - "dependencies": { - "@codemirror/text": "^0.19.0" - } - }, - "node_modules/@codemirror/rectangular-selection/node_modules/@codemirror/view": { - "version": "0.19.48", - "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-0.19.48.tgz", - "integrity": "sha512-0eg7D2Nz4S8/caetCTz61rK0tkHI17V/d15Jy0kLOT8dTLGGNJUponDnW28h2B6bERmPlVHKh8MJIr5OCp1nGw==", - "license": "MIT", - "dependencies": { - "@codemirror/rangeset": "^0.19.5", - "@codemirror/state": "^0.19.3", - "@codemirror/text": "^0.19.0", - "style-mod": "^4.0.0", - "w3c-keyname": "^2.2.4" - } - }, "node_modules/@codemirror/search": { "version": "6.7.0", "resolved": "https://registry.npmmirror.com/@codemirror/search/-/search-6.7.0.tgz", @@ -2010,13 +1955,6 @@ "@marijn/find-cluster-break": "^1.0.0" } }, - "node_modules/@codemirror/text": { - "version": "0.19.6", - "resolved": "https://registry.npmmirror.com/@codemirror/text/-/text-0.19.6.tgz", - "integrity": "sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==", - "deprecated": "As of 0.20.0, this package has been merged into @codemirror/state", - "license": "MIT" - }, "node_modules/@codemirror/theme-one-dark": { "version": "6.1.3", "resolved": "https://registry.npmmirror.com/@codemirror/theme-one-dark/-/theme-one-dark-6.1.3.tgz", @@ -5763,21 +5701,6 @@ "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, - "node_modules/codemirror": { - "version": "6.0.2", - "resolved": "https://registry.npmmirror.com/codemirror/-/codemirror-6.0.2.tgz", - "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", - "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/commands": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/search": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" - } - }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index cfa5649..e741a51 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,7 +15,6 @@ "@codemirror/lang-sql": "^6.10.0", "@codemirror/language": "^6.12.3", "@codemirror/lint": "^6.9.6", - "@codemirror/rectangular-selection": "^0.19.2", "@codemirror/search": "^6.7.0", "@codemirror/state": "^6.6.0", "@codemirror/theme-one-dark": "^6.1.3", @@ -53,7 +52,6 @@ "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", - "codemirror": "^6.0.2", "date-fns": "^4.1.0", "echarts": "^6.0.0", "embla-carousel-react": "^8.6.0", diff --git a/frontend/src/components/SqlEditor.tsx b/frontend/src/components/SqlEditor.tsx index 9a271c8..b7eab5b 100644 --- a/frontend/src/components/SqlEditor.tsx +++ b/frontend/src/components/SqlEditor.tsx @@ -13,7 +13,7 @@ import { } from '@codemirror/language'; import { closeBrackets, closeBracketsKeymap } from '@codemirror/autocomplete'; import { searchKeymap, highlightSelectionMatches } from '@codemirror/search'; -import { rectangularSelection } from '@codemirror/rectangular-selection'; + // --------------------------------------------------------------------------- // Types @@ -296,7 +296,6 @@ const SqlEditor: React.FC = ({ bracketMatching(), closeBrackets(), highlightSelectionMatches(), - rectangularSelection(), syntaxHighlighting(defaultHighlightStyle, { fallback: true }), appTheme, oneDark,