From c0a46aa6692d3782438dad0221e6570ad35bd86a Mon Sep 17 00:00:00 2001 From: Ruben Hensen Date: Thu, 21 May 2026 15:35:58 +0200 Subject: [PATCH] chore: bump prettier-plugin-svelte 3.5.2 -> 4.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 4.0.0 plugin crashes during `prettier --check` when an `{@const}` contains a ternary whose expressions involve a `BinaryExpression` (`Error: unknown node type: BinaryExpression`). Move the `totalProgress` computation out of the `{@const}` in SendButton.svelte into a script-level `$derived` so prettier can format the file again, then take the major bump. Breaking-change audit for 4.0.0: - Requires Svelte 5 (have ^5.55.9). - Drops `svelteBracketNewLine` and `svelteStrictMode` options — repo uses neither in `package.json#prettier`. Verified locally: `npm run lint`, `svelte-check`, `npm run build` clean. --- package-lock.json | 13 ++++++++----- package.json | 2 +- src/lib/components/filesharing/SendButton.svelte | 16 +++++++++------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index e5d877e..80c63da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "lint-staged": "^17.0.5", "mdsvex": "^0.12.7", "prettier": "^3.8.3", - "prettier-plugin-svelte": "^3.5.2", + "prettier-plugin-svelte": "^4.0.0", "rollup": "^4.60.4", "sass": "^1.99.0", "svelte": "^5.55.9", @@ -4479,14 +4479,17 @@ } }, "node_modules/prettier-plugin-svelte": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.5.2.tgz", - "integrity": "sha512-ItFouLvzSFE3ulNl4DKoWM3BGcbDCNVpIyy/Y3F2gC3aNiGLxtFUdffVqO5Z5hhYG+DFT5KULWaxmeFFpdbvaQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-4.0.0.tgz", + "integrity": "sha512-StoBMZGsfE9ztz1i9ejLhYU2nlP1+FdoWqGCb7Bh7EGVVBW2smCcyoCPxWCdszVdx1SsDiK7n4uAv/YUsHqimQ==", "dev": true, "license": "MIT", + "engines": { + "node": ">=20" + }, "peerDependencies": { "prettier": "^3.0.0", - "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + "svelte": "^5.0.0" } }, "node_modules/prism-svelte": { diff --git a/package.json b/package.json index c5fabb9..3cfb86b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "lint-staged": "^17.0.5", "mdsvex": "^0.12.7", "prettier": "^3.8.3", - "prettier-plugin-svelte": "^3.5.2", + "prettier-plugin-svelte": "^4.0.0", "rollup": "^4.60.4", "sass": "^1.99.0", "svelte": "^5.55.9", diff --git a/src/lib/components/filesharing/SendButton.svelte b/src/lib/components/filesharing/SendButton.svelte index 040b434..e4e43db 100644 --- a/src/lib/components/filesharing/SendButton.svelte +++ b/src/lib/components/filesharing/SendButton.svelte @@ -308,6 +308,15 @@ let buttonRef: HTMLButtonElement | null = $state(null) let dialogRef: HTMLDialogElement | null = $state(null) + let totalProgress = $derived( + encryptState.percentages.length > 0 + ? Math.round( + encryptState.percentages.reduce((a, b) => a + b, 0) / + encryptState.percentages.length + ) + : 0 + ) + $effect(() => { if (!browser || !dialogRef) return if (showValidationModal) { @@ -337,13 +346,6 @@ {/if} {#if encryptState.encryptionState === EncryptionState.Encrypting} - {@const totalProgress = - encryptState.percentages.length > 0 - ? Math.round( - encryptState.percentages.reduce((a, b) => a + b, 0) / - encryptState.percentages.length - ) - : 0}