feat: update WebDAV integration and dependencies

- Added 'webdav' to the list of plugins in electron.vite.config.ts.
- Upgraded 'webdav' package from version 4.11.4 to 5.8.0 in package.json and yarn.lock.
- Introduced a utility function for formatting file sizes in WebDavSettings component.
- Updated file size display logic to use the new formatting utility.
This commit is contained in:
kangfenmao 2025-03-21 13:53:01 +08:00
parent d0ddfce280
commit 9ebc20882b
4 changed files with 54 additions and 51 deletions

View File

@ -22,7 +22,8 @@ export default defineConfig({
'@llm-tools/embedjs-loader-sitemap', '@llm-tools/embedjs-loader-sitemap',
'@llm-tools/embedjs-libsql', '@llm-tools/embedjs-libsql',
'@llm-tools/embedjs-loader-image', '@llm-tools/embedjs-loader-image',
'p-queue' 'p-queue',
'webdav'
] ]
}), }),
...visualizerPlugin('main') ...visualizerPlugin('main')

View File

@ -89,7 +89,7 @@
"tar": "^7.4.3", "tar": "^7.4.3",
"tokenx": "^0.4.1", "tokenx": "^0.4.1",
"undici": "^7.4.0", "undici": "^7.4.0",
"webdav": "4.11.4", "webdav": "^5.8.0",
"zipread": "^1.3.3" "zipread": "^1.3.3"
}, },
"devDependencies": { "devDependencies": {

View File

@ -18,6 +18,7 @@ import { FC, useState } from 'react'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
import { SettingDivider, SettingGroup, SettingRow, SettingRowTitle, SettingTitle } from '..' import { SettingDivider, SettingGroup, SettingRow, SettingRowTitle, SettingTitle } from '..'
import { formatFileSize } from '@renderer/utils'
interface BackupFile { interface BackupFile {
fileName: string fileName: string
@ -170,7 +171,7 @@ const WebDavSettings: FC = () => {
const formatFileOption = (file: BackupFile) => { const formatFileOption = (file: BackupFile) => {
const date = dayjs(file.modifiedTime).format('YYYY-MM-DD HH:mm:ss') const date = dayjs(file.modifiedTime).format('YYYY-MM-DD HH:mm:ss')
const size = `${(file.size / 1024).toFixed(2)} KB` const size = formatFileSize(file.size)
return { return {
label: `${file.fileName} (${date}, ${size})`, label: `${file.fileName} (${date}, ${size})`,
value: file.fileName value: file.fileName

View File

@ -418,6 +418,18 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@buttercup/fetch@npm:^0.2.1":
version: 0.2.1
resolution: "@buttercup/fetch@npm:0.2.1"
dependencies:
node-fetch: "npm:^3.3.0"
dependenciesMeta:
node-fetch:
optional: true
checksum: 10c0/e18cc830d7700d592812d9321d69d52537ae451eb3881021ed0a544d523e0a827ab1b8746823faa1166e17fd3257cbaa63ae9cc304ed534984e615c6c21f3944
languageName: node
linkType: hard
"@cfworker/json-schema@npm:^4.0.2": "@cfworker/json-schema@npm:^4.0.2":
version: 4.1.1 version: 4.1.1
resolution: "@cfworker/json-schema@npm:4.1.1" resolution: "@cfworker/json-schema@npm:4.1.1"
@ -3421,7 +3433,7 @@ __metadata:
undici: "npm:^7.4.0" undici: "npm:^7.4.0"
uuid: "npm:^10.0.0" uuid: "npm:^10.0.0"
vite: "npm:^5.0.12" vite: "npm:^5.0.12"
webdav: "npm:4.11.4" webdav: "npm:^5.8.0"
zipread: "npm:^1.3.3" zipread: "npm:^1.3.3"
peerDependencies: peerDependencies:
react: ^17.0.0 || ^18.0.0 react: ^17.0.0 || ^18.0.0
@ -3931,16 +3943,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"axios@npm:^0.27.2":
version: 0.27.2
resolution: "axios@npm:0.27.2"
dependencies:
follow-redirects: "npm:^1.14.9"
form-data: "npm:^4.0.0"
checksum: 10c0/76d673d2a90629944b44d6f345f01e58e9174690f635115d5ffd4aca495d99bcd8f95c590d5ccb473513f5ebc1d1a6e8934580d0c57cdd0498c3a101313ef771
languageName: node
linkType: hard
"axios@npm:^1.7.3, axios@npm:^1.7.7": "axios@npm:^1.7.3, axios@npm:^1.7.7":
version: 1.8.1 version: 1.8.1
resolution: "axios@npm:1.8.1" resolution: "axios@npm:1.8.1"
@ -5845,6 +5847,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"entities@npm:^6.0.0":
version: 6.0.0
resolution: "entities@npm:6.0.0"
checksum: 10c0/b82a7bd5de282860f3c36a91e815e41e874fd036c83956a568b82729678492eb088359d6f7e0a4f5c00776427263fcba04959b8340fefa430c39b9bce770427e
languageName: node
linkType: hard
"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": "env-paths@npm:^2.2.0, env-paths@npm:^2.2.1":
version: 2.2.1 version: 2.2.1
resolution: "env-paths@npm:2.2.1" resolution: "env-paths@npm:2.2.1"
@ -6686,7 +6695,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-xml-parser@npm:^4.2.4, fast-xml-parser@npm:^4.5.0, fast-xml-parser@npm:^4.5.1": "fast-xml-parser@npm:^4.5.0, fast-xml-parser@npm:^4.5.1":
version: 4.5.3 version: 4.5.3
resolution: "fast-xml-parser@npm:4.5.3" resolution: "fast-xml-parser@npm:4.5.3"
dependencies: dependencies:
@ -6913,7 +6922,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"follow-redirects@npm:^1.14.9, follow-redirects@npm:^1.15.6": "follow-redirects@npm:^1.15.6":
version: 1.15.9 version: 1.15.9
resolution: "follow-redirects@npm:1.15.9" resolution: "follow-redirects@npm:1.15.9"
peerDependenciesMeta: peerDependenciesMeta:
@ -7738,15 +7747,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"he@npm:^1.2.0":
version: 1.2.0
resolution: "he@npm:1.2.0"
bin:
he: bin/he
checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17
languageName: node
linkType: hard
"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.2": "hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.2":
version: 3.3.2 version: 3.3.2
resolution: "hoist-non-react-statics@npm:3.3.2" resolution: "hoist-non-react-statics@npm:3.3.2"
@ -7772,10 +7772,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"hot-patcher@npm:^1.0.0": "hot-patcher@npm:^2.0.1":
version: 1.0.0 version: 2.0.1
resolution: "hot-patcher@npm:1.0.0" resolution: "hot-patcher@npm:2.0.1"
checksum: 10c0/0c3ee3e1cb45f8b09ecb6d9af11b35b05f94b0767e09a303d89a7b6073b55ee98bd5c9b563ff17bfa1add55bbe3ff7598bbbb8c035578e05dd12631f2351cdb6 checksum: 10c0/cabccf0d78b9604cdd73b88d1cfcdff5ae27b501df97ee20131979513cc17c532f4f04605d24ac9225d2c046fc435062cec86b49f9fb3f524b446a296e8c1b62
languageName: node languageName: node
linkType: hard linkType: hard
@ -8885,10 +8885,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"layerr@npm:^0.1.2": "layerr@npm:^3.0.0":
version: 0.1.2 version: 3.0.0
resolution: "layerr@npm:0.1.2" resolution: "layerr@npm:3.0.0"
checksum: 10c0/e329ec13a31cd676c2fdf2127d43b794dab692991d7fa64cfd752d36e0c17799341e208b4727d944373d0a8c91fdd263023d66498e3152f8672238de47f9c602 checksum: 10c0/320c9b9cf1392c73c9ff8f8d1bb7a782093ac7341fe5d7fea6ebfeea6d785af8e0fc573541431b6ffcb268577f8aea66168757e73a15035568a00ab9e4370705
languageName: node languageName: node
linkType: hard linkType: hard
@ -10352,7 +10352,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0, minimatch@npm:^5.1.1": "minimatch@npm:^5.0.1, minimatch@npm:^5.1.1":
version: 5.1.6 version: 5.1.6
resolution: "minimatch@npm:5.1.6" resolution: "minimatch@npm:5.1.6"
dependencies: dependencies:
@ -10361,7 +10361,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minimatch@npm:^9.0.4": "minimatch@npm:^9.0.4, minimatch@npm:^9.0.5":
version: 9.0.5 version: 9.0.5
resolution: "minimatch@npm:9.0.5" resolution: "minimatch@npm:9.0.5"
dependencies: dependencies:
@ -10724,7 +10724,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"node-fetch@npm:^3.3.2": "node-fetch@npm:^3.3.0, node-fetch@npm:^3.3.2":
version: 3.3.2 version: 3.3.2
resolution: "node-fetch@npm:3.3.2" resolution: "node-fetch@npm:3.3.2"
dependencies: dependencies:
@ -14998,10 +14998,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"url-join@npm:^4.0.1": "url-join@npm:^5.0.0":
version: 4.0.1 version: 5.0.0
resolution: "url-join@npm:4.0.1" resolution: "url-join@npm:5.0.0"
checksum: 10c0/ac65e2c7c562d7b49b68edddcf55385d3e922bc1dd5d90419ea40b53b6de1607d1e45ceb71efb9d60da02c681d13c6cb3a1aa8b13fc0c989dfc219df97ee992d checksum: 10c0/ed2b166b4b5a98adcf6828a48b6bd6df1dac4c8a464a73cf4d8e2457ed410dd8da6be0d24855b86026cd7f5c5a3657c1b7b2c7a7c5b8870af17635a41387b04c
languageName: node languageName: node
linkType: hard linkType: hard
@ -15268,24 +15268,25 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"webdav@npm:4.11.4": "webdav@npm:^5.8.0":
version: 4.11.4 version: 5.8.0
resolution: "webdav@npm:4.11.4" resolution: "webdav@npm:5.8.0"
dependencies: dependencies:
axios: "npm:^0.27.2" "@buttercup/fetch": "npm:^0.2.1"
base-64: "npm:^1.0.0" base-64: "npm:^1.0.0"
byte-length: "npm:^1.0.2" byte-length: "npm:^1.0.2"
fast-xml-parser: "npm:^4.2.4" entities: "npm:^6.0.0"
he: "npm:^1.2.0" fast-xml-parser: "npm:^4.5.1"
hot-patcher: "npm:^1.0.0" hot-patcher: "npm:^2.0.1"
layerr: "npm:^0.1.2" layerr: "npm:^3.0.0"
md5: "npm:^2.3.0" md5: "npm:^2.3.0"
minimatch: "npm:^5.1.0" minimatch: "npm:^9.0.5"
nested-property: "npm:^4.0.0" nested-property: "npm:^4.0.0"
node-fetch: "npm:^3.3.2"
path-posix: "npm:^1.0.0" path-posix: "npm:^1.0.0"
url-join: "npm:^4.0.1" url-join: "npm:^5.0.0"
url-parse: "npm:^1.5.10" url-parse: "npm:^1.5.10"
checksum: 10c0/8b1ae47c4df6c3ee832ff1abe05ca8c03c5284519a07b41ae816e417688de0aae6f9c5ced04ecedd14daae5ec7367c6af010fda55d3458b424e51a95a817133e checksum: 10c0/eb4742ca07b3bd22594bbec139d6bfe34c76e4802ef5bcf259a6d555890cd89de85b365b73364c89c9841df203e47879f0c9c0ac74c40aa1f52298ba83b9a727
languageName: node languageName: node
linkType: hard linkType: hard