From f0a96bb34c28aceaeb7d79916ac768e2cd76a227 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 19 Nov 2024 20:30:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0=E6=B3=95=E6=81=A2=E5=A4=8D?= =?UTF-8?q?=E5=A4=87=E4=BB=BD=E6=96=87=E4=BB=B6=20#341?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 +- src/main/services/BackupManager.ts | 69 ++++---- yarn.lock | 269 +++-------------------------- 3 files changed, 63 insertions(+), 280 deletions(-) diff --git a/package.json b/package.json index cba644be..e7596edf 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "dependencies": { "@electron-toolkit/preload": "^3.0.0", "@electron-toolkit/utils": "^3.0.0", - "archiver": "^7.0.1", + "adm-zip": "^0.5.16", "docx": "^9.0.2", "electron-log": "^5.1.5", "electron-store": "^8.2.0", @@ -48,7 +48,6 @@ "html2canvas": "^1.4.1", "markdown-it": "^14.1.0", "officeparser": "^4.1.1", - "unzipper": "^0.12.3", "webdav": "4.11.4" }, "devDependencies": { @@ -60,6 +59,7 @@ "@hello-pangea/dnd": "^16.6.0", "@kangfenmao/keyv-storage": "^0.1.0", "@reduxjs/toolkit": "^2.2.5", + "@types/adm-zip": "^0", "@types/fs-extra": "^11", "@types/lodash": "^4.17.5", "@types/markdown-it": "^14", @@ -67,7 +67,6 @@ "@types/react": "^18.2.48", "@types/react-dom": "^18.2.18", "@types/tinycolor2": "^1", - "@types/unzipper": "^0", "@vitejs/plugin-react": "^4.2.1", "antd": "^5.18.3", "axios": "^1.7.3", diff --git a/src/main/services/BackupManager.ts b/src/main/services/BackupManager.ts index 8a658bfd..577d81fe 100644 --- a/src/main/services/BackupManager.ts +++ b/src/main/services/BackupManager.ts @@ -1,10 +1,9 @@ import { WebDavConfig } from '@types' -import archiver from 'archiver' +import AdmZip from 'adm-zip' import { app } from 'electron' import Logger from 'electron-log' import * as fs from 'fs-extra' import * as path from 'path' -import * as unzipper from 'unzipper' import WebDav from './WebDav' @@ -26,7 +25,6 @@ class BackupManager { destinationPath: string = this.backupDir ): Promise { try { - // 创建临时目录 await fs.ensureDir(this.tempDir) // 将 data 写入临时文件 @@ -38,21 +36,16 @@ class BackupManager { const tempDataDir = path.join(this.tempDir, 'Data') await fs.copy(sourcePath, tempDataDir) - // 创建 zip 文件 - const output = fs.createWriteStream(path.join(destinationPath, fileName)) - const archive = archiver('zip', { zlib: { level: 9 } }) - - archive.pipe(output) - archive.directory(this.tempDir, false) - await archive.finalize() + // 使用 adm-zip 创建压缩文件 + const zip = new AdmZip() + zip.addLocalFolder(this.tempDir) + const backupedFilePath = path.join(destinationPath, fileName) + zip.writeZip(backupedFilePath) // 清理临时目录 await fs.remove(this.tempDir) Logger.log('Backup completed successfully') - - const backupedFilePath = path.join(destinationPath, fileName) - return backupedFilePath } catch (error) { Logger.error('Backup failed:', error) @@ -61,31 +54,43 @@ class BackupManager { } async restore(_: Electron.IpcMainInvokeEvent, backupPath: string): Promise { - // 创建临时目录 - await fs.ensureDir(this.tempDir) + try { + // 创建临时目录 + await fs.ensureDir(this.tempDir) - // 解压备份文件到临时目录 - await fs - .createReadStream(backupPath) - .pipe(unzipper.Extract({ path: this.tempDir })) - .promise() + Logger.log('[backup] step 1: unzip backup file', this.tempDir) - // 读取 data.json - const dataPath = path.join(this.tempDir, 'data.json') - const data = await fs.readFile(dataPath, 'utf-8') + // 使用 adm-zip 解压 + const zip = new AdmZip(backupPath) + zip.extractAllTo(this.tempDir, true) // true 表示覆盖已存在的文件 - // 恢复 Data 目录 - const sourcePath = path.join(this.tempDir, 'Data') - const destPath = path.join(app.getPath('userData'), 'Data') - await fs.remove(destPath) - await fs.copy(sourcePath, destPath) + Logger.log('[backup] step 2: read data.json') - // 清理临时目录 - await fs.remove(this.tempDir) + // 读取 data.json + const dataPath = path.join(this.tempDir, 'data.json') + const data = await fs.readFile(dataPath, 'utf-8') - Logger.log('Restore completed successfully') + Logger.log('[backup] step 3: restore Data directory') - return data + // 恢复 Data 目录 + const sourcePath = path.join(this.tempDir, 'Data') + const destPath = path.join(app.getPath('userData'), 'Data') + await fs.remove(destPath) + await fs.copy(sourcePath, destPath) + + Logger.log('[backup] step 4: clean up temp directory') + + // 清理临时目录 + await fs.remove(this.tempDir) + + Logger.log('[backup] step 5: Restore completed successfully') + + return data + } catch (error) { + Logger.error('[backup] Restore failed:', error) + await fs.remove(this.tempDir).catch(() => {}) + throw error + } } async backupToWebdav(_: Electron.IpcMainInvokeEvent, data: string, webdavConfig: WebDavConfig) { diff --git a/yarn.lock b/yarn.lock index d280f170..149a6478 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1788,6 +1788,15 @@ __metadata: languageName: node linkType: hard +"@types/adm-zip@npm:^0": + version: 0.5.6 + resolution: "@types/adm-zip@npm:0.5.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b38160de2b821693fda78195819efc8961d957c3cd203473aa98209b1adbafceb458c9a48c199e8ce0d3085a9dbce55ffe649cf774f928ea600c03cc97afcad3 + languageName: node + linkType: hard + "@types/babel__core@npm:^7.20.5": version: 7.20.5 resolution: "@types/babel__core@npm:7.20.5" @@ -2138,15 +2147,6 @@ __metadata: languageName: node linkType: hard -"@types/unzipper@npm:^0": - version: 0.10.10 - resolution: "@types/unzipper@npm:0.10.10" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/10e9da33791be1087adb25adc2fe4d5ab267dae51fbcf7b1f10d0aca3130a13ef5fed994d7be45af8c465ff3946bc360a53eff6e5aab4eb9ac9489477535342f - languageName: node - linkType: hard - "@types/use-sync-external-store@npm:^0.0.3": version: 0.0.3 resolution: "@types/use-sync-external-store@npm:0.0.3" @@ -2336,6 +2336,7 @@ __metadata: "@hello-pangea/dnd": "npm:^16.6.0" "@kangfenmao/keyv-storage": "npm:^0.1.0" "@reduxjs/toolkit": "npm:^2.2.5" + "@types/adm-zip": "npm:^0" "@types/fs-extra": "npm:^11" "@types/lodash": "npm:^4.17.5" "@types/markdown-it": "npm:^14" @@ -2343,10 +2344,9 @@ __metadata: "@types/react": "npm:^18.2.48" "@types/react-dom": "npm:^18.2.18" "@types/tinycolor2": "npm:^1" - "@types/unzipper": "npm:^0" "@vitejs/plugin-react": "npm:^4.2.1" + adm-zip: "npm:^0.5.16" antd: "npm:^5.18.3" - archiver: "npm:^7.0.1" axios: "npm:^1.7.3" browser-image-compression: "npm:^2.0.2" dayjs: "npm:^1.11.11" @@ -2401,7 +2401,6 @@ __metadata: styled-components: "npm:^6.1.11" tinycolor2: "npm:^1.6.0" typescript: "npm:^5.6.2" - unzipper: "npm:^0.12.3" uuid: "npm:^10.0.0" vite: "npm:^5.0.12" webdav: "npm:4.11.4" @@ -2452,6 +2451,13 @@ __metadata: languageName: node linkType: hard +"adm-zip@npm:^0.5.16": + version: 0.5.16 + resolution: "adm-zip@npm:0.5.16" + checksum: 10c0/6f10119d4570c7ba76dcf428abb8d3f69e63f92e51f700a542b43d4c0130373dd2ddfc8f85059f12d4a843703a90c3970cfd17876844b4f3f48bf042bfa6b49f + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -2711,36 +2717,6 @@ __metadata: languageName: node linkType: hard -"archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2": - version: 5.0.2 - resolution: "archiver-utils@npm:5.0.2" - dependencies: - glob: "npm:^10.0.0" - graceful-fs: "npm:^4.2.0" - is-stream: "npm:^2.0.1" - lazystream: "npm:^1.0.0" - lodash: "npm:^4.17.15" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/3782c5fa9922186aa1a8e41ed0c2867569faa5f15c8e5e6418ea4c1b730b476e21bd68270b3ea457daf459ae23aaea070b2b9f90cf90a59def8dc79b9e4ef538 - languageName: node - linkType: hard - -"archiver@npm:^7.0.1": - version: 7.0.1 - resolution: "archiver@npm:7.0.1" - dependencies: - archiver-utils: "npm:^5.0.2" - async: "npm:^3.2.4" - buffer-crc32: "npm:^1.0.0" - readable-stream: "npm:^4.0.0" - readdir-glob: "npm:^1.1.2" - tar-stream: "npm:^3.0.0" - zip-stream: "npm:^6.0.1" - checksum: 10c0/02afd87ca16f6184f752db8e26884e6eff911c476812a0e7f7b26c4beb09f06119807f388a8e26ed2558aa8ba9db28646ebd147a4f99e46813b8b43158e1438e - languageName: node - linkType: hard - "are-we-there-yet@npm:^3.0.0": version: 3.0.1 resolution: "are-we-there-yet@npm:3.0.1" @@ -2905,7 +2881,7 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.3, async@npm:^3.2.4": +"async@npm:^3.2.3": version: 3.2.6 resolution: "async@npm:3.2.6" checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 @@ -2977,13 +2953,6 @@ __metadata: languageName: node linkType: hard -"b4a@npm:^1.6.4": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - "bail@npm:^2.0.0": version: 2.0.2 resolution: "bail@npm:2.0.2" @@ -2998,13 +2967,6 @@ __metadata: languageName: node linkType: hard -"bare-events@npm:^2.2.0": - version: 2.5.0 - resolution: "bare-events@npm:2.5.0" - checksum: 10c0/afbeec4e8be4d93fb4a3be65c3b4a891a2205aae30b5a38fafd42976cc76cf30dad348963fe330a0d70186e15dc507c11af42c89af5dddab2a54e5aff02e2896 - languageName: node - linkType: hard - "base-64@npm:^1.0.0": version: 1.0.0 resolution: "base-64@npm:1.0.0" @@ -3090,7 +3052,7 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.5.5, bluebird@npm:~3.7.2": +"bluebird@npm:^3.5.5": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 @@ -3179,13 +3141,6 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:^1.0.0": - version: 1.0.0 - resolution: "buffer-crc32@npm:1.0.0" - checksum: 10c0/8b86e161cee4bb48d5fa622cbae4c18f25e4857e5203b89e23de59e627ab26beb82d9d7999f2b8de02580165f61f83f997beaf02980cdf06affd175b651921ab - languageName: node - linkType: hard - "buffer-crc32@npm:~0.2.3": version: 0.2.13 resolution: "buffer-crc32@npm:0.2.13" @@ -3231,16 +3186,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - "builder-util-runtime@npm:9.2.10": version: 9.2.10 resolution: "builder-util-runtime@npm:9.2.10" @@ -3702,19 +3647,6 @@ __metadata: languageName: node linkType: hard -"compress-commons@npm:^6.0.2": - version: 6.0.2 - resolution: "compress-commons@npm:6.0.2" - dependencies: - crc-32: "npm:^1.2.0" - crc32-stream: "npm:^6.0.0" - is-stream: "npm:^2.0.1" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/2347031b7c92c8ed5011b07b93ec53b298fa2cd1800897532ac4d4d1aeae06567883f481b6e35f13b65fc31b190c751df6635434d525562f0203fde76f1f0814 - languageName: node - linkType: hard - "compute-scroll-into-view@npm:^3.0.2": version: 3.1.0 resolution: "compute-scroll-into-view@npm:3.1.0" @@ -3806,25 +3738,6 @@ __metadata: languageName: node linkType: hard -"crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" - bin: - crc32: bin/crc32.njs - checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 - languageName: node - linkType: hard - -"crc32-stream@npm:^6.0.0": - version: 6.0.0 - resolution: "crc32-stream@npm:6.0.0" - dependencies: - crc-32: "npm:^1.2.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/bf9c84571ede2d119c2b4f3a9ef5eeb9ff94b588493c0d3862259af86d3679dcce1c8569dd2b0a6eff2f35f5e2081cc1263b846d2538d4054da78cf34f262a3d - languageName: node - linkType: hard - "crc@npm:^3.8.0": version: 3.8.0 resolution: "crc@npm:3.8.0" @@ -4375,15 +4288,6 @@ __metadata: languageName: node linkType: hard -"duplexer2@npm:~0.1.4": - version: 0.1.4 - resolution: "duplexer2@npm:0.1.4" - dependencies: - readable-stream: "npm:^2.0.2" - checksum: 10c0/0765a4cc6fe6d9615d43cc6dbccff6f8412811d89a6f6aa44828ca9422a0a469625ce023bf81cee68f52930dbedf9c5716056ff264ac886612702d134b5e39b4 - languageName: node - linkType: hard - "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -5108,13 +5012,6 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - "exif-parser@npm:^0.1.12": version: 0.1.12 resolution: "exif-parser@npm:0.1.12" @@ -5202,13 +5099,6 @@ __metadata: languageName: node linkType: hard -"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": - version: 1.3.2 - resolution: "fast-fifo@npm:1.3.2" - checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c - languageName: node - linkType: hard - "fast-glob@npm:^3.2.9": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" @@ -5724,7 +5614,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -5857,7 +5747,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -6816,13 +6706,6 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^2.0.1": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -7276,15 +7159,6 @@ __metadata: languageName: node linkType: hard -"lazystream@npm:^1.0.0": - version: 1.0.1 - resolution: "lazystream@npm:1.0.1" - dependencies: - readable-stream: "npm:^2.0.5" - checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 - languageName: node - linkType: hard - "lcid@npm:^1.0.0": version: 1.0.0 resolution: "lcid@npm:1.0.0" @@ -8644,13 +8518,6 @@ __metadata: languageName: node linkType: hard -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a - languageName: node - linkType: hard - "node-releases@npm:^2.0.18": version: 2.0.18 resolution: "node-releases@npm:2.0.18" @@ -9514,13 +9381,6 @@ __metadata: languageName: node linkType: hard -"queue-tick@npm:^1.0.1": - version: 1.0.1 - resolution: "queue-tick@npm:1.0.1" - checksum: 10c0/0db998e2c9b15215317dbcf801e9b23e6bcde4044e115155dae34f8e7454b9a783f737c9a725528d677b7a66c775eb7a955cf144fe0b87f62b575ce5bfd515a9 - languageName: node - linkType: hard - "quick-lru@npm:^5.1.1": version: 5.1.1 resolution: "quick-lru@npm:5.1.1" @@ -10284,7 +10144,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:~2.3.6": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -10310,19 +10170,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.0.0": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d - languageName: node - linkType: hard - "readable-web-to-node-stream@npm:^3.0.0": version: 3.0.2 resolution: "readable-web-to-node-stream@npm:3.0.2" @@ -10332,15 +10179,6 @@ __metadata: languageName: node linkType: hard -"readdir-glob@npm:^1.1.2": - version: 1.1.3 - resolution: "readdir-glob@npm:1.1.3" - dependencies: - minimatch: "npm:^5.1.0" - checksum: 10c0/a37e0716726650845d761f1041387acd93aa91b28dd5381950733f994b6c349ddc1e21e266ec7cc1f9b92e205a7a972232f9b89d5424d07361c2c3753d5dbace - languageName: node - linkType: hard - "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -11320,21 +11158,6 @@ __metadata: languageName: node linkType: hard -"streamx@npm:^2.15.0": - version: 2.20.1 - resolution: "streamx@npm:2.20.1" - dependencies: - bare-events: "npm:^2.2.0" - fast-fifo: "npm:^1.3.2" - queue-tick: "npm:^1.0.1" - text-decoder: "npm:^1.1.0" - dependenciesMeta: - bare-events: - optional: true - checksum: 10c0/34ffa2ee9465d70e18c7e2ba70189720c166d150ab83eb7700304620fa23ff42a69cb37d712ea4b5fc6234d8e74346a88bb4baceb873c6b05e52ac420f8abb4d - languageName: node - linkType: hard - "string-convert@npm:^0.2.0": version: 0.2.1 resolution: "string-convert@npm:0.2.1" @@ -11439,7 +11262,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -11691,17 +11514,6 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^3.0.0": - version: 3.1.7 - resolution: "tar-stream@npm:3.1.7" - dependencies: - b4a: "npm:^1.6.4" - fast-fifo: "npm:^1.2.0" - streamx: "npm:^2.15.0" - checksum: 10c0/a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718 - languageName: node - linkType: hard - "tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.12, tar@npm:^6.1.2, tar@npm:^6.2.1": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -11726,15 +11538,6 @@ __metadata: languageName: node linkType: hard -"text-decoder@npm:^1.1.0": - version: 1.2.0 - resolution: "text-decoder@npm:1.2.0" - dependencies: - b4a: "npm:^1.6.4" - checksum: 10c0/398171bef376e06864cd6ba24e0787cc626bebc84a1bbda758d06a6e9b729cc8613f7923dd0d294abd88e8bb5cd7261aad5fda7911fb87253fe71b2b5ac6e507 - languageName: node - linkType: hard - "text-segmentation@npm:^1.0.3": version: 1.0.3 resolution: "text-segmentation@npm:1.0.3" @@ -12259,19 +12062,6 @@ __metadata: languageName: node linkType: hard -"unzipper@npm:^0.12.3": - version: 0.12.3 - resolution: "unzipper@npm:0.12.3" - dependencies: - bluebird: "npm:~3.7.2" - duplexer2: "npm:~0.1.4" - fs-extra: "npm:^11.2.0" - graceful-fs: "npm:^4.2.2" - node-int64: "npm:^0.4.0" - checksum: 10c0/4cae2ad23bfd47011d5f8a6d61fb1dc0e4b5008bc3896e6f3d5ab946a64e9482714992a988128bce541440aa646e16e5e5c9bf35e49097edbaf833e7f814d36d - languageName: node - linkType: hard - "update-browserslist-db@npm:^1.1.0": version: 1.1.0 resolution: "update-browserslist-db@npm:1.1.0" @@ -12977,17 +12767,6 @@ __metadata: languageName: node linkType: hard -"zip-stream@npm:^6.0.1": - version: 6.0.1 - resolution: "zip-stream@npm:6.0.1" - dependencies: - archiver-utils: "npm:^5.0.0" - compress-commons: "npm:^6.0.2" - readable-stream: "npm:^4.0.0" - checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b - languageName: node - linkType: hard - "zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": version: 2.0.4 resolution: "zwitch@npm:2.0.4"