From 97b77ec46d239468c1c52aefd176044bc04f0bf5 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Sat, 9 May 2026 23:44:49 +0800 Subject: [PATCH] feat(diff): add data compare and schema sync coverage --- package.json | 1 + pnpm-lock.yaml | 6 +- src/components/diff/DataCompareDialog.vue | 575 ++++++++++++++++++++++ src/components/diff/SchemaDiffDialog.vue | 205 ++++++-- src/components/layout/AppDialogs.vue | 9 + src/components/sidebar/TreeItem.vue | 18 + src/composables/useDialogSources.ts | 27 + src/i18n/locales/en.ts | 22 + src/i18n/locales/zh-CN.ts | 21 + src/lib/dataCompare.ts | 181 +++++++ src/lib/schemaDiff.ts | 264 ++++++++-- src/lib/sqlCompletion.ts | 2 +- src/lib/xlsxExport.ts | 15 +- src/stores/connectionStore.ts | 9 +- tests/dataCompare.test.ts | 87 ++++ tests/schemaDiff.test.ts | 126 +++++ 16 files changed, 1493 insertions(+), 75 deletions(-) create mode 100644 src/components/diff/DataCompareDialog.vue create mode 100644 src/lib/dataCompare.ts create mode 100644 tests/dataCompare.test.ts create mode 100644 tests/schemaDiff.test.ts diff --git a/package.json b/package.json index 3d6db8ca1..a7ac7a60b 100644 --- a/package.json +++ b/package.json @@ -57,6 +57,7 @@ }, "devDependencies": { "@oxfmt/binding-darwin-arm64": "0.47.0", + "@oxlint/binding-darwin-arm64": "1.62.0", "@tailwindcss/vite": "^4.2.4", "@tauri-apps/cli": "^2.11.0", "@types/node": "^25.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b3b39e34..9a79a1bfc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -123,6 +123,9 @@ importers: '@oxfmt/binding-darwin-arm64': specifier: 0.47.0 version: 0.47.0 + '@oxlint/binding-darwin-arm64': + specifier: 1.62.0 + version: 1.62.0 '@tailwindcss/vite': specifier: ^4.2.4 version: 4.2.4(vite@6.4.2(@types/node@25.6.0)(jiti@2.6.1)(lightningcss@1.32.0)(stylus@0.57.0)(yaml@2.8.4)) @@ -3684,8 +3687,7 @@ snapshots: '@oxlint/binding-android-arm64@1.62.0': optional: true - '@oxlint/binding-darwin-arm64@1.62.0': - optional: true + '@oxlint/binding-darwin-arm64@1.62.0': {} '@oxlint/binding-darwin-x64@1.62.0': optional: true diff --git a/src/components/diff/DataCompareDialog.vue b/src/components/diff/DataCompareDialog.vue new file mode 100644 index 000000000..192a928c6 --- /dev/null +++ b/src/components/diff/DataCompareDialog.vue @@ -0,0 +1,575 @@ + + +