From 65fc4a40ad9b356f1bcc0439be3a17f8ba1259fc Mon Sep 17 00:00:00 2001 From: ArceDanielShok Date: Mon, 2 Dec 2024 13:35:21 -0300 Subject: [PATCH] finish add thumbnails files in upload --- package.json | 3 +- src/apps/main/fordwardToWindows.ts | 5 +- .../obtain-image-to-thumbnail-it.ts | 25 +- src/apps/main/virtual-root-folder/service.ts | 14 -- test.ts | 133 ----------- tsconfig.json | 2 +- yarn.lock | 215 +++--------------- 7 files changed, 55 insertions(+), 342 deletions(-) delete mode 100644 test.ts diff --git a/package.json b/package.json index 5407973a8..848245e4f 100644 --- a/package.json +++ b/package.json @@ -203,7 +203,7 @@ "detect-port": "^1.3.0", "dotenv": "^10.0.0", "dotenv-webpack": "^7.0.3", - "electron": "^25.8.1", + "electron": "^27.3.11", "electron-builder": "^23.6.0", "electron-devtools-installer": "^3.2.0", "electron-notarize": "^1.1.1", @@ -303,7 +303,6 @@ "react-router-dom": "^6.2.1", "reflect-metadata": "^0.1.13", "regenerator-runtime": "^0.13.9", - "sharp": "^0.33.5", "socket.io-client": "^4.4.1", "tiny-glob": "^0.2.9", "uuid": "^8.3.2" diff --git a/src/apps/main/fordwardToWindows.ts b/src/apps/main/fordwardToWindows.ts index f9504297c..962a96139 100644 --- a/src/apps/main/fordwardToWindows.ts +++ b/src/apps/main/fordwardToWindows.ts @@ -136,11 +136,14 @@ ipcMainDrive.on('FILE_CREATED', async (_, payload) => { Logger.info('FILE_CREATED', fullPath); Logger.info('FILE_CREATED', isAbsolutePath(fullPath)); - if (!path.isAbsolute(fullPath)) { + if (!isAbsolutePath(fullPath)) { const root = configStore.get('syncRoot'); + Logger.info('FILE_CREATED', root); fullPath = path.join(root, fullPath); } + Logger.info('FILE_CREATED', fullPath); + await createAndUploadThumbnail(fileId, nameWithExtension, fullPath); broadcastToWindows('sync-info-update', { diff --git a/src/apps/main/thumbnails/application/obtain-image-to-thumbnail-it.ts b/src/apps/main/thumbnails/application/obtain-image-to-thumbnail-it.ts index 482eba486..b935a6052 100644 --- a/src/apps/main/thumbnails/application/obtain-image-to-thumbnail-it.ts +++ b/src/apps/main/thumbnails/application/obtain-image-to-thumbnail-it.ts @@ -4,8 +4,7 @@ import { isImageThumbnailable, isPdfThumbnailable, } from '../domain/ThumbnableExtension'; -// import sharp from 'sharp'; -import fs from 'fs'; +import { nativeImage } from 'electron'; export const ThumbnailConfig = { MaxWidth: 300, @@ -50,6 +49,22 @@ const PAGE_TO_PDF_THUMBNAIL = 1; // .toBuffer(); // } +async function generateImageThumbnail(filePath: string): Promise { + const image = nativeImage.createFromPath(filePath); + + if (!image.isEmpty()) { + // Redimensionar la imagen manteniendo el aspecto + const resizedImage = image.resize({ width: ThumbnailConfig.MaxHeight }); + + // Obtener el buffer como PNG + const buffer = resizedImage.toPNG(); + + return buffer; // Devolver el buffer + } else { + throw new Error('No se pudo cargar la imagen.'); + } +} + function getExtension(pathLike: string) { const { ext } = path.parse(pathLike); @@ -63,9 +78,9 @@ export async function obtainImageToThumbnailIt( Logger.info(`[THUMBNAIL] Extension: ${ext}`); - // if (isImageThumbnailable(ext)) { - // return await generateImageThumbnail(filePath); - // } + if (isImageThumbnailable(ext)) { + return await generateImageThumbnail(filePath); + } // if (isPdfThumbnailable(ext)) { // return await generatePDFThumbnail(filePath); diff --git a/src/apps/main/virtual-root-folder/service.ts b/src/apps/main/virtual-root-folder/service.ts index a4ec53def..ad082e4d0 100644 --- a/src/apps/main/virtual-root-folder/service.ts +++ b/src/apps/main/virtual-root-folder/service.ts @@ -11,15 +11,6 @@ const HOME_FOLDER_PATH = app.getPath('home'); const VIRTUAL_DRIVE_FOLDER = path.join(HOME_FOLDER_PATH, ROOT_FOLDER_NAME); -async function existsFolder(pathname: string): Promise { - try { - await fs.access(pathname); - - return true; - } catch { - return false; - } -} export async function clearDirectory(pathname: string): Promise { try { @@ -32,11 +23,6 @@ export async function clearDirectory(pathname: string): Promise { } } -async function isEmptyFolder(pathname: string): Promise { - const filesInFolder = await fs.readdir(pathname); - - return filesInFolder.length === 0; -} function setSyncRoot(pathname: string): void { const pathNameWithSepInTheEnd = diff --git a/test.ts b/test.ts deleted file mode 100644 index 2e8ed6809..000000000 --- a/test.ts +++ /dev/null @@ -1,133 +0,0 @@ -export interface FolderTreeResponse { - tree: FolderTree; - folderDecryptedNames: Record; - fileDecryptedNames: Record; - size: number; -} - -export async function fetchFolderTree( - folderUuid: string -): Promise { - const res = await fetch( - `${process.env.NEW_DRIVE_URL}/drive/folders/${folderUuid}/tree`, - { - method: 'GET', - headers: getNewApiHeaders(), - } - ); - - if (res.ok) { - const { tree } = (await res.json()) as unknown as { tree: FolderTree }; - - let size = 0; - const folderDecryptedNames: Record = {}; - const fileDecryptedNames: Record = {}; - - // ! Decrypts folders and files names - const pendingFolders = [tree]; - while (pendingFolders.length > 0) { - const currentTree = pendingFolders[0]; - const { folders, files } = { - folders: currentTree.children, - files: currentTree.files, - }; - - folderDecryptedNames[currentTree.id] = currentTree.plainName; - - for (const file of files) { - fileDecryptedNames[file.id] = aes.decrypt( - file.name, - `${process.env.NEW_CRYPTO_KEY}-${file.folderId}` - ); - size += Number(file.size); - } - - pendingFolders.shift(); - - // * Adds current folder folders to pending - pendingFolders.push(...folders); - } - - return { tree, folderDecryptedNames, fileDecryptedNames, size }; - } else { - throw new Error('Unsuccesful request to fetch folder tree'); - } -} - -export async function fetchArrayFolderTree( - folderUuids: string[] -): Promise { - const trees: FolderTree[] = []; - const folderDecryptedNames: Record = {}; - const fileDecryptedNames: Record = {}; - let size = 0; - - for (const folderUuid of folderUuids) { - const res = await fetch( - `${process.env.NEW_DRIVE_URL}/drive/folders/${folderUuid}/tree`, - { - method: 'GET', - headers: getNewApiHeaders(), - } - ); - - if (res.ok) { - const response = (await res.json()) as unknown as { tree: FolderTree }; - trees.push(response.tree); - - // ! Decrypts folders and files names - const pendingFolders = [response.tree]; - while (pendingFolders.length > 0) { - const currentTree = pendingFolders[0]; - const { folders, files } = { - folders: currentTree.children, - files: currentTree.files, - }; - - folderDecryptedNames[currentTree.id] = currentTree.plainName; - - for (const file of files) { - fileDecryptedNames[file.id] = aes.decrypt( - file.name, - `${process.env.NEW_CRYPTO_KEY}-${file.folderId}` - ); - size += Number(file.size); - } - - pendingFolders.shift(); - - // * Adds current folder folders to pending - pendingFolders.push(...folders); - } - } else { - throw new Error( - `Unsuccessful request to fetch folder tree for ID: ${folderUuid}` - ); - } - } - - let tree: FolderTree = trees[0]; - if (trees.length > 1) { - tree = { - id: 0, - bucket: trees[0].bucket, - children: trees, - encrypt_version: trees[0].encrypt_version, - files: trees.map((t) => t.files).flat(), // * Flattens files; - name: 'Multiple Folders', - plainName: 'Multiple Folders', - parentId: 0, - userId: trees[0].userId, - uuid: randomUUID(), - parentUuid: '', - createdAt: new Date().toISOString(), - updatedAt: new Date().toISOString(), - size: size, - type: 'folder', - deleted: false, - removed: false, - }; - } - - return { tree, folderDecryptedNames, fileDecryptedNames, size }; -} diff --git a/tsconfig.json b/tsconfig.json index 350064683..2dd4f636e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -38,4 +38,4 @@ "src/workers/backups", "src/workers/filesystems", ] -} +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 5de3ee4f8..1d22ebcac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1087,13 +1087,6 @@ minimatch "^3.0.4" plist "^3.0.4" -"@emnapi/runtime@^1.2.0": - version "1.3.1" - resolved "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz#0fcaa575afc31f455fd33534c19381cfce6c6f60" - integrity sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw== - dependencies: - tslib "^2.4.0" - "@emotion/is-prop-valid@^0.8.2": version "0.8.8" resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" @@ -1209,119 +1202,6 @@ dependencies: react ">=15.0.0 <17.0.0" -"@img/sharp-darwin-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz#ef5b5a07862805f1e8145a377c8ba6e98813ca08" - integrity sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ== - optionalDependencies: - "@img/sharp-libvips-darwin-arm64" "1.0.4" - -"@img/sharp-darwin-x64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz#e03d3451cd9e664faa72948cc70a403ea4063d61" - integrity sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q== - optionalDependencies: - "@img/sharp-libvips-darwin-x64" "1.0.4" - -"@img/sharp-libvips-darwin-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz#447c5026700c01a993c7804eb8af5f6e9868c07f" - integrity sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg== - -"@img/sharp-libvips-darwin-x64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz#e0456f8f7c623f9dbfbdc77383caa72281d86062" - integrity sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ== - -"@img/sharp-libvips-linux-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz#979b1c66c9a91f7ff2893556ef267f90ebe51704" - integrity sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA== - -"@img/sharp-libvips-linux-arm@1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz#99f922d4e15216ec205dcb6891b721bfd2884197" - integrity sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g== - -"@img/sharp-libvips-linux-s390x@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz#f8a5eb1f374a082f72b3f45e2fb25b8118a8a5ce" - integrity sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA== - -"@img/sharp-libvips-linux-x64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz#d4c4619cdd157774906e15770ee119931c7ef5e0" - integrity sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw== - -"@img/sharp-libvips-linuxmusl-arm64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz#166778da0f48dd2bded1fa3033cee6b588f0d5d5" - integrity sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA== - -"@img/sharp-libvips-linuxmusl-x64@1.0.4": - version "1.0.4" - resolved "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz#93794e4d7720b077fcad3e02982f2f1c246751ff" - integrity sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw== - -"@img/sharp-linux-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz#edb0697e7a8279c9fc829a60fc35644c4839bb22" - integrity sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA== - optionalDependencies: - "@img/sharp-libvips-linux-arm64" "1.0.4" - -"@img/sharp-linux-arm@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz#422c1a352e7b5832842577dc51602bcd5b6f5eff" - integrity sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ== - optionalDependencies: - "@img/sharp-libvips-linux-arm" "1.0.5" - -"@img/sharp-linux-s390x@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz#f5c077926b48e97e4a04d004dfaf175972059667" - integrity sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q== - optionalDependencies: - "@img/sharp-libvips-linux-s390x" "1.0.4" - -"@img/sharp-linux-x64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz#d806e0afd71ae6775cc87f0da8f2d03a7c2209cb" - integrity sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA== - optionalDependencies: - "@img/sharp-libvips-linux-x64" "1.0.4" - -"@img/sharp-linuxmusl-arm64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz#252975b915894fb315af5deea174651e208d3d6b" - integrity sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - -"@img/sharp-linuxmusl-x64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz#3f4609ac5d8ef8ec7dadee80b560961a60fd4f48" - integrity sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw== - optionalDependencies: - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - -"@img/sharp-wasm32@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz#6f44f3283069d935bb5ca5813153572f3e6f61a1" - integrity sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg== - dependencies: - "@emnapi/runtime" "^1.2.0" - -"@img/sharp-win32-ia32@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz#1a0c839a40c5351e9885628c85f2e5dfd02b52a9" - integrity sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ== - -"@img/sharp-win32-x64@0.33.5": - version "0.33.5" - resolved "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz#56f00962ff0c4e0eb93d34a047d29fa995e3e342" - integrity sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg== - "@internxt/eslint-config-internxt@^1.0.9": version "1.0.9" resolved "https://npm.pkg.github.com/download/@internxt/eslint-config-internxt/1.0.9/d2dddb6a5809873ce717507f8d9dbc5964f6d0f4#d2dddb6a5809873ce717507f8d9dbc5964f6d0f4" @@ -2878,9 +2758,9 @@ "@types/node" "*" "@types/node@*": - version "22.10.0" - resolved "https://registry.npmjs.org/@types/node/-/node-22.10.0.tgz#89bfc9e82496b9c7edea3382583fa94f75896e81" - integrity sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA== + version "22.10.1" + resolved "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" + integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== dependencies: undici-types "~6.20.0" @@ -2890,14 +2770,14 @@ integrity sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw== "@types/node@^16.11.12": - version "16.18.120" - resolved "https://registry.npmjs.org/@types/node/-/node-16.18.120.tgz#7194432435fdfeb36871f1fc442e511f9b032622" - integrity sha512-Dmi4bhZ7CHyD4sv4awCZx9RBxWOXSejxTF6B5WQ5UzfLcyEg7JqdDDsjvdMRYES9EcTWHlHZe01PInSj18yP2A== + version "16.18.121" + resolved "https://registry.npmjs.org/@types/node/-/node-16.18.121.tgz#88c4e91474b1eb4ae68e39cec8b274e9c792650a" + integrity sha512-Gk/pOy8H0cvX8qNrwzElYIECpcUn87w4EAEFXFvPJ8qsP9QR/YqukUORSy0zmyDyvdo149idPpy4W6iC5aSbQA== "@types/node@^18.11.18": - version "18.19.66" - resolved "https://registry.npmjs.org/@types/node/-/node-18.19.66.tgz#0937a47904ceba5994eedf5cf4b6d503d8d6136c" - integrity sha512-14HmtUdGxFUalGRfLLn9Gc1oNWvWh5zNbsyOLo5JV6WARSeN1QcEBKRnZm9QqNfrutgsl/hY4eJW63aZ44aBCg== + version "18.19.67" + resolved "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz#77c4b01641a1e3e1509aff7e10d39e4afd5ae06d" + integrity sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ== dependencies: undici-types "~5.26.4" @@ -4571,7 +4451,7 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.6.0, color-string@^1.9.0: +color-string@^1.6.0: version "1.9.1" resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== @@ -4592,14 +4472,6 @@ color@^3.1.3: color-convert "^1.9.3" color-string "^1.6.0" -color@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - colord@^2.9.1: version "2.9.3" resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" @@ -5267,7 +5139,7 @@ detect-libc@^1.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== -detect-libc@^2.0.1, detect-libc@^2.0.3: +detect-libc@^2.0.1: version "2.0.3" resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz#f0cd503b40f9939b894697d19ad50895e30cf700" integrity sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw== @@ -5662,9 +5534,9 @@ electron-store@^8.0.1: type-fest "^2.17.0" electron-to-chromium@^1.5.41: - version "1.5.65" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.65.tgz#e2b9d84d31e187a847e3ccdcfb415ddd4a3d1ea7" - integrity sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw== + version "1.5.67" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.67.tgz#66ebd2be4a77469ac2760ef5e9e460ba9a43a845" + integrity sha512-nz88NNBsD7kQSAGGJyp8hS6xSPtWwqNogA0mjtc2nUYeEf3nURK9qpV18TuBdDmEDgVWotS8Wkzf+V52dSQ/LQ== electron-updater@^4.6.4: version "4.6.5" @@ -5680,10 +5552,10 @@ electron-updater@^4.6.4: lodash.isequal "^4.5.0" semver "^7.3.5" -electron@^25.8.1: - version "25.9.8" - resolved "https://registry.npmjs.org/electron/-/electron-25.9.8.tgz#7c125ccbddad02861736275b0d4a387c59a91469" - integrity sha512-PGgp6PH46QVENHuAHc2NT1Su8Q1qov7qIl2jI5tsDpTibwV2zD8539AeWBQySeBU4dhbj9onIl7+1bXQ0wefBg== +electron@^27.3.11: + version "27.3.11" + resolved "https://registry.npmjs.org/electron/-/electron-27.3.11.tgz#af215af2964dda612e401adb6e217fdf47472fca" + integrity sha512-E1SiyEoI8iW5LW/MigCr7tJuQe7+0105UjqY7FkmCD12e2O6vtUbQ0j05HaBh2YgvkcEVgvQ2A8suIq5b5m6Gw== dependencies: "@electron/get" "^2.0.0" "@types/node" "^18.11.18" @@ -10294,9 +10166,9 @@ pseudomap@^1.0.2: integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.33: - version "1.13.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.13.0.tgz#8b2357f13ef3cf546af3f52de00543a94da86cfa" - integrity sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw== + version "1.14.0" + resolved "https://registry.npmjs.org/psl/-/psl-1.14.0.tgz#f6ccbbd63e4e663f830ca39eeea08feb3caceaaf" + integrity sha512-Syk1bnf6fRZ9wQs03AtKJHcM12cKbOLo9L8JtCCdYj5/DTsHmTyXM4BK5ouWeG2P6kZ4nmFvuNTdtaqfobCOCg== dependencies: punycode "^2.3.1" @@ -10966,7 +10838,7 @@ semver-compare@^1.0.0: resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.3: +semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: version "7.6.3" resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -11091,35 +10963,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -sharp@^0.33.5: - version "0.33.5" - resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz#13e0e4130cc309d6a9497596715240b2ec0c594e" - integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== - dependencies: - color "^4.2.3" - detect-libc "^2.0.3" - semver "^7.6.3" - optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.5" - "@img/sharp-darwin-x64" "0.33.5" - "@img/sharp-libvips-darwin-arm64" "1.0.4" - "@img/sharp-libvips-darwin-x64" "1.0.4" - "@img/sharp-libvips-linux-arm" "1.0.5" - "@img/sharp-libvips-linux-arm64" "1.0.4" - "@img/sharp-libvips-linux-s390x" "1.0.4" - "@img/sharp-libvips-linux-x64" "1.0.4" - "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" - "@img/sharp-linux-arm" "0.33.5" - "@img/sharp-linux-arm64" "0.33.5" - "@img/sharp-linux-s390x" "0.33.5" - "@img/sharp-linux-x64" "0.33.5" - "@img/sharp-linuxmusl-arm64" "0.33.5" - "@img/sharp-linuxmusl-x64" "0.33.5" - "@img/sharp-wasm32" "0.33.5" - "@img/sharp-win32-ia32" "0.33.5" - "@img/sharp-win32-x64" "0.33.5" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -11133,9 +10976,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.2" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" @@ -11989,7 +11832,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.2: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.5.0, tslib@^2.6.2: version "2.8.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -12582,9 +12425,9 @@ which-collection@^1.0.1, which-collection@^1.0.2: is-weakset "^2.0.3" which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + version "1.1.16" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz#db4db429c4706feca2f01677a144278e4a8c216b" + integrity sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ== dependencies: available-typed-arrays "^1.0.7" call-bind "^1.0.7"