From fb42680b4072cb91a53c443fa2705d1fd5fba01e Mon Sep 17 00:00:00 2001 From: not-nullptr <62841684+not-nullptr@users.noreply.github.com> Date: Thu, 20 Mar 2025 15:36:50 +0000 Subject: [PATCH] feat: limit concurrency --- bun.lock | 7 +++++++ package.json | 1 + src/lib/components/functional/ConversionPanel.svelte | 7 +++---- src/lib/converters/vips.svelte.ts | 3 --- src/lib/store/index.svelte.ts | 6 +++++- src/lib/workers/vips.ts | 2 +- src/routes/convert/+page.svelte | 5 ++++- 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/bun.lock b/bun.lock index c5265ba..d613a35 100644 --- a/bun.lock +++ b/bun.lock @@ -14,6 +14,7 @@ "clsx": "^2.1.1", "lucide-svelte": "^0.475.0", "music-metadata": "^11.0.0", + "p-queue": "^8.1.0", "vite-plugin-static-copy": "^2.2.0", "wasm-vips": "^0.0.11", }, @@ -400,6 +401,8 @@ "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], + "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], @@ -568,6 +571,10 @@ "p-map": ["p-map@7.0.3", "", {}, "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA=="], + "p-queue": ["p-queue@8.1.0", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw=="], + + "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], diff --git a/package.json b/package.json index 5da535d..5b32c2b 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "clsx": "^2.1.1", "lucide-svelte": "^0.475.0", "music-metadata": "^11.0.0", + "p-queue": "^8.1.0", "vite-plugin-static-copy": "^2.2.0", "wasm-vips": "^0.0.11" } diff --git a/src/lib/components/functional/ConversionPanel.svelte b/src/lib/components/functional/ConversionPanel.svelte index 767021f..173cfc3 100644 --- a/src/lib/components/functional/ConversionPanel.svelte +++ b/src/lib/components/functional/ConversionPanel.svelte @@ -58,10 +58,9 @@
Set all to
{#if files.requiredConverters.length === 1} - {@const supported = - files.files[0]?.converter?.supportedFormats?.filter( - (format) => format !== ".svg" && format !== ".heif", - )} + {@const supported = files.files[0]?.converters + .flatMap((c) => c.supportedFormats) + ?.filter((format) => format !== ".svg" && format !== ".heif")}