From cfe7fc675da29afb8727f15a57203258c3b765f8 Mon Sep 17 00:00:00 2001 From: Arno Wiest Date: Fri, 13 Jun 2025 14:21:29 +0200 Subject: [PATCH] chore: trying out biome v2 beta --- web/biome.json | 372 ++++++++++-------- web/package-lock.json | 73 ++-- web/package.json | 1 + .../template-settings.svelte | 2 +- 4 files changed, 246 insertions(+), 202 deletions(-) diff --git a/web/biome.json b/web/biome.json index dbf1f47314..7015fe372c 100644 --- a/web/biome.json +++ b/web/biome.json @@ -1,36 +1,59 @@ { - "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", - "files": { "ignore": [], "ignoreUnknown": false }, + "$schema": "https://biomejs.dev/schemas/2.0.0-beta.6/schema.json", + "assist": { + "actions": { "source": { "organizeImports": "on" } }, + "enabled": true + }, + "files": { "ignoreUnknown": false }, "formatter": { "enabled": true, "indentStyle": "tab" }, "javascript": { "formatter": { "quoteStyle": "double" }, "globals": [] }, "linter": { "enabled": true, - "ignore": [ - "**/.DS_Store", - "**/node_modules", - "build", - ".svelte-kit", - "package", - "**/.env", - "**/.env.*", - "**/pnpm-lock.yaml", - "**/package-lock.json", - "**/yarn.lock", - "**/svelte.config.js", - "eslint.config.js", - "tailwind.config.js", - "coverage" + "includes": [ + "**", + "!**/.DS_Store", + "!**/node_modules", + "!build", + "!.svelte-kit", + "!package", + "!**/.env", + "!**/.env.*", + "**/.env.example", + "!**/pnpm-lock.yaml", + "!**/package-lock.json", + "!**/yarn.lock", + "!**/svelte.config.js", + "!eslint.config.js", + "!tailwind.config.js", + "!coverage", + "**", + "!**/.DS_Store", + "!**/node_modules", + "!build", + "!.svelte-kit", + "!package", + "!**/.env", + "!**/.env.*", + "**/.env.example", + "!**/pnpm-lock.yaml", + "!**/package-lock.json", + "!**/yarn.lock", + "!**/svelte.config.js", + "!eslint.config.js", + "!tailwind.config.js", + "!coverage" ], "rules": { "complexity": { + "noAdjacentSpacesInRegex": "error", "noExtraBooleanCast": "error", "noForEach": "error", - "noMultipleSpacesInRegularExpressionLiterals": "error", "noStaticOnlyClass": "error", "noUselessCatch": "error", + "noUselessEscapeInRegex": "error", "noUselessSwitchCase": "error", + "noUselessThisAlias": "error", "noUselessTypeConstraint": "error", - "noWith": "error", "useDateNow": "error", "useFlatMap": "error" }, @@ -54,32 +77,46 @@ "noUnsafeOptionalChaining": "error", "noUnusedLabels": "error", "noUnusedPrivateClassMembers": "error", - "noUnusedVariables": "error", - "useArrayLiterals": "off", + "noUnusedVariables": "off", "useIsNan": "error", "useValidForDirection": "error", + "useValidTypeof": "error", "useYield": "error" }, "recommended": false, "style": { + "noCommonJs": "error", "noNamespace": "error", "noNegationElse": "off", + "noNestedTernary": "off", + "noSubstr": "error", + "useArrayLiterals": "error", "useAsConstAssertion": "error", + "useAtIndex": "error", + "useCollapsedIf": "error", "useExplicitLengthCheck": "error", + "useFilenamingConvention": { + "level": "error", + "options": { "filenameCases": ["kebab-case"] } + }, "useForOf": "error", "useNodejsImportProtocol": "error", "useNumberNamespace": "error", - "useThrowNewError": "error" + "useThrowNewError": "error", + "useTrimStartEnd": "error" }, "suspicious": { + "noAssignInExpressions": "error", "noAsyncPromiseExecutor": "error", "noCatchAssign": "error", "noClassAssign": "error", "noCompareNegZero": "error", "noControlCharactersInRegex": "error", "noDebugger": "error", + "noDocumentCookie": "error", "noDuplicateCase": "error", "noDuplicateClassMembers": "error", + "noDuplicateElseIf": "error", "noDuplicateObjectKeys": "error", "noDuplicateParameters": "error", "noEmptyBlockStatements": "error", @@ -89,6 +126,7 @@ "noFunctionAssign": "error", "noGlobalAssign": "error", "noImportAssign": "error", + "noIrregularWhitespace": "error", "noMisleadingCharacterClass": "error", "noMisleadingInstantiator": "error", "noPrototypeBuiltins": "error", @@ -98,50 +136,35 @@ "noThenProperty": "error", "noUnsafeDeclarationMerging": "error", "noUnsafeNegation": "error", + "noWith": "error", "useErrorMessage": "error", "useGetterReturn": "error", "useNamespaceKeyword": "error", - "useNumberToFixedDigitsArgument": "error", - "useValidTypeof": "error" + "useNumberToFixedDigitsArgument": "error" } } }, - "organizeImports": { "enabled": true }, "overrides": [ { - "include": ["*.svelte", "**/*.svelte"], - "javascript": { "globals": [] }, - "linter": { - "rules": { - "correctness": { "noInnerDeclarations": "off", "noSelfAssign": "off" } - } - } - }, - { - "include": ["*.svelte.js", "*.svelte.ts", "**/*.svelte.js", "**/*.svelte.ts"], + "includes": ["*.svelte.js", "*.svelte.ts", "**/*.svelte.js", "**/*.svelte.ts"], "javascript": { "globals": [] } }, { - "include": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], + "includes": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], "linter": { "rules": { - "complexity": { "noWith": "off" }, + "complexity": { "noArguments": "error" }, "correctness": { "noConstAssign": "off", "noGlobalObjectCalls": "off", "noInvalidBuiltinInstantiation": "off", "noInvalidConstructorSuper": "off", - "noNewSymbol": "off", "noSetterReturn": "off", "noUndeclaredVariables": "off", "noUnreachable": "off", "noUnreachableSuper": "off" }, - "style": { - "noArguments": "error", - "noVar": "error", - "useConst": "error" - }, + "style": { "useConst": "error" }, "suspicious": { "noClassAssign": "off", "noDuplicateClassMembers": "off", @@ -151,153 +174,174 @@ "noImportAssign": "off", "noRedeclare": "off", "noUnsafeNegation": "off", + "noVar": "error", + "noWith": "off", "useGetterReturn": "off" } } } }, { - "ignore": ["**/service-worker/**"], + "includes": ["**", "!**/service-worker/**"], "javascript": { "globals": [ - "NodeJS", - "onscrollend", - "onpointerleave", - "oncontextrestored", - "onemptied", - "ongamepaddisconnected", - "onkeypress", - "onloadeddata", - "onmouseup", - "onvolumechange", - "onpaste", - "onstorage", - "onkeyup", - "onabort", - "oncut", - "ontransitionrun", - "onafterprint", - "onblur", - "ondurationchange", - "ontransitionstart", - "oncanplaythrough", "onanimationend", - "onmouseleave", - "ondragleave", - "onplay", - "onunhandledrejection", - "onbeforeprint", - "oncommand", - "onpointercancel", - "onsubmit", - "ondragstart", - "onmessage", - "location", - "onoffline", - "onappinstalled", - "onwheel", - "onended", - "onkeydown", - "onclick", - "onfocus", - "onscroll", + "exports", "ongamepadconnected", - "oncanplay", - "onpointerdown", - "ondeviceorientationabsolute", - "onauxclick", - "ondevicemotion", - "onratechange", - "ontransitionend", - "onscrollsnapchanging", - "onchange", - "onselect", - "onbeforeinstallprompt", - "onbeforetoggle", - "onmouseout", - "ontimeupdate", - "ondragover", - "oncuechange", - "ontransitioncancel", - "onprogress", - "onbeforeinput", - "onpointerenter", - "onmouseenter", - "oninvalid", - "onpointerout", - "onpagereveal", - "onpause", - "onanimationstart", - "onwaiting", - "onscrollsnapchange", - "ondeviceorientation", - "onclose", - "onbeforeunload", - "oncancel", - "onseeked", - "onpointerover", - "ongotpointercapture", - "onloadedmetadata", - "onpageshow", - "onstalled", - "oncontextmenu", - "onreset", - "ondrag", - "onbeforematch", - "onload", "onlostpointercapture", + "onanimationiteration", + "onkeyup", + "onmousedown", + "onanimationstart", + "onslotchange", + "onprogress", + "ontransitionstart", + "onpause", + "onended", + "onpointerover", + "onscrollend", + "onformdata", + "ontransitionrun", + "onanimationcancel", + "ondrag", + "onchange", + "onbeforeinstallprompt", + "onbeforexrselect", + "onmessage", + "ontransitioncancel", + "onpointerdown", + "onabort", + "onpointerout", + "oncuechange", + "ongotpointercapture", + "onscrollsnapchanging", + "onsearch", + "onsubmit", + "onstalled", "onsuspend", - "onselectionchange", + "onreset", + "onerror", + "onmouseenter", + "ongamepaddisconnected", + "onresize", + "ondragover", + "onbeforetoggle", + "onmouseover", "onpagehide", + "onmousemove", + "onratechange", + "oncommand", + "onmessageerror", + "onwheel", + "ondevicemotion", + "onauxclick", + "ontransitionend", + "onpaste", + "onpageswap", + "ononline", + "ondeviceorientationabsolute", + "onkeydown", + "onclose", + "onselect", + "onpageshow", + "onpointercancel", + "onbeforematch", + "onpointerrawupdate", + "ondragleave", + "onscrollsnapchange", + "onseeked", + "onwaiting", + "onbeforeunload", + "onplaying", + "onvolumechange", + "ondragend", + "onstorage", + "onloadeddata", + "onfocus", + "onoffline", + "onplay", + "onafterprint", + "onclick", + "oncut", + "onmouseout", + "ondblclick", + "oncanplay", + "onloadstart", + "onappinstalled", + "onpointermove", + "ontoggle", + "oncontextmenu", + "NodeJS", + "onblur", + "oncancel", + "onbeforeprint", + "oncontextrestored", + "onloadedmetadata", + "onpointerup", + "onlanguagechange", + "oncopy", + "onselectstart", + "onscroll", + "onload", + "ondragstart", + "onbeforeinput", + "oncanplaythrough", + "oninput", + "oninvalid", + "ontimeupdate", + "ondurationchange", + "onselectionchange", + "onmouseup", + "location", + "onkeypress", + "onpointerleave", + "oncontextlost", + "ondrop", + "onsecuritypolicyviolation", + "oncontentvisibilityautostatechange", + "ondeviceorientation", + "onseeking", "onrejectionhandled", "onunload", - "onanimationcancel", - "onmousedown", - "onpointerup", - "onmouseover", - "onformdata", - "oncontentvisibilityautostatechange", - "onresize", - "onsearch", - "ontoggle", - "exports", - "onpageswap", - "onbeforexrselect", - "onlanguagechange", - "ondragenter", - "onerror", - "onpointermove", - "onmousemove", - "ondrop", + "onmouseleave", "onhashchange", - "onsecuritypolicyviolation", - "onslotchange", - "oncopy", - "onanimationiteration", - "ondblclick", - "ondragend", - "onpointerrawupdate", - "onpopstate", - "onplaying", - "oncontextlost", - "onloadstart", - "onseeking", - "oninput", - "onmessageerror", - "onselectstart", + "onpointerenter", "onmousewheel", - "ononline" + "onunhandledrejection", + "ondragenter", + "onpopstate", + "onpagereveal", + "onemptied" ] }, "linter": { "rules": { "correctness": { "noUnusedVariables": "warn" }, - "style": { "useBlockStatements": "error" }, + "style": { + "useBlockStatements": "error", + "useFilenamingConvention": { + "level": "off", + "options": { "filenameCases": ["kebab-case"] } + } + }, "suspicious": { "useAwait": "error" } } } }, - { "include": ["**/*.svelte"], "javascript": { "globals": [] } } + { + "includes": ["*.svelte", "**/*.svelte"], + "javascript": { "globals": [] }, + "linter": { + "rules": { + "correctness": { + "noInnerDeclarations": "off", + "noSelfAssign": "off", + "noUnusedImports": "off", + "noUnusedVariables": "off" + } + } + } + } ], "vcs": { "clientKind": "git", "enabled": false, "useIgnoreFile": false } } diff --git a/web/package-lock.json b/web/package-lock.json index 5bc3863dbd..653f4bff56 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -39,7 +39,7 @@ "thumbhash": "^0.1.1" }, "devDependencies": { - "@biomejs/biome": "1.9.4", + "@biomejs/biome": "2.0.0-beta.6", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.18.0", "@faker-js/faker": "^9.3.0", @@ -206,11 +206,10 @@ } }, "node_modules/@biomejs/biome": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz", - "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.0.0-beta.6.tgz", + "integrity": "sha512-14vw9b5QJxrcP7WLkCeRiB/fft9wNZwx6yEiikBDxFbN7IAp39Xtvt/gJPq4ifhZ5IS25CnQEAkLLwfBIDMjsA==", "dev": true, - "hasInstallScript": true, "license": "MIT OR Apache-2.0", "bin": { "biome": "bin/biome" @@ -223,20 +222,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "1.9.4", - "@biomejs/cli-darwin-x64": "1.9.4", - "@biomejs/cli-linux-arm64": "1.9.4", - "@biomejs/cli-linux-arm64-musl": "1.9.4", - "@biomejs/cli-linux-x64": "1.9.4", - "@biomejs/cli-linux-x64-musl": "1.9.4", - "@biomejs/cli-win32-arm64": "1.9.4", - "@biomejs/cli-win32-x64": "1.9.4" + "@biomejs/cli-darwin-arm64": "2.0.0-beta.6", + "@biomejs/cli-darwin-x64": "2.0.0-beta.6", + "@biomejs/cli-linux-arm64": "2.0.0-beta.6", + "@biomejs/cli-linux-arm64-musl": "2.0.0-beta.6", + "@biomejs/cli-linux-x64": "2.0.0-beta.6", + "@biomejs/cli-linux-x64-musl": "2.0.0-beta.6", + "@biomejs/cli-win32-arm64": "2.0.0-beta.6", + "@biomejs/cli-win32-x64": "2.0.0-beta.6" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz", - "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.0.0-beta.6.tgz", + "integrity": "sha512-L7PBLJlGTz5anougOMJQvEbzgG9sT1wKIXvgjFhu0dIsDZ/px2caWFCnv7Q9L2K0+yF08EYRTTZVvoVO5D//sQ==", "cpu": [ "arm64" ], @@ -251,9 +250,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz", - "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.0.0-beta.6.tgz", + "integrity": "sha512-ekhOOyhcVJ1ZRqHjq+eUOv8/3XMRKQ9Qf0URuO/PvHgopejv+PEoix0RIyxholYELKc049M4J3IJgsX4q2pZzw==", "cpu": [ "x64" ], @@ -268,9 +267,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz", - "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.0.0-beta.6.tgz", + "integrity": "sha512-pu+rCLI36ziPtwnJY53HRr154711uVeCt1i2KNXehvwNZZMK141wwg4yPkXkBdBvw7H7sez0HE/rCQR2fByJnQ==", "cpu": [ "arm64" ], @@ -285,9 +284,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz", - "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.0.0-beta.6.tgz", + "integrity": "sha512-70WOWJI1/vZ97OUAt6r9HpiP5+vlL7yAdIoVQzVLjQy1TArfltN38KKqp9fnhgX173liUh0gry//MrWkKHYrIQ==", "cpu": [ "arm64" ], @@ -302,9 +301,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz", - "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.0.0-beta.6.tgz", + "integrity": "sha512-emqZAuAyRw4Ug4B+CTgozIxVg1QLol28oZyIWuIjWEDr7eOo6Ek9zSZGeusmbwIEPu6r6qon8JAV6OdukxEwIg==", "cpu": [ "x64" ], @@ -319,9 +318,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz", - "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.0.0-beta.6.tgz", + "integrity": "sha512-G9ZIoaNs6q9+mOoMURoXvNRfCOs28jrS4R8+3/y0h9ttOXpd4VALPOAfjzBGPpMd/4RoEMHXw/1Ts4dKvrv9zw==", "cpu": [ "x64" ], @@ -336,9 +335,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz", - "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.0.0-beta.6.tgz", + "integrity": "sha512-JijYVZC6R5qq94yLaElowLLzbZ4xR2qDiOVPQV8H1+ru3IqVOjQu5f/lIt4uuea1iRFbxS+mOaxOZM9tUl1pTQ==", "cpu": [ "arm64" ], @@ -353,9 +352,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz", - "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==", + "version": "2.0.0-beta.6", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.0.0-beta.6.tgz", + "integrity": "sha512-zs29t/nxon11dKV+ckQB1yUOmhYx17e2+cHGK8PCVamqVGSMbjrd5evjtlfbnVJXP0ar7nNKhcg4ZWYGJ6aR1w==", "cpu": [ "x64" ], diff --git a/web/package.json b/web/package.json index 195eaa3a38..1e4367671a 100644 --- a/web/package.json +++ b/web/package.json @@ -58,6 +58,7 @@ "thumbhash": "^0.1.1" }, "devDependencies": { + "@biomejs/biome": "2.0.0-beta.6", "@eslint/eslintrc": "^3.1.0", "@eslint/js": "^9.18.0", "@faker-js/faker": "^9.3.0", diff --git a/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte b/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte index 872b4b9833..38ecc17036 100644 --- a/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte +++ b/web/src/lib/components/admin-page/settings/template-settings/template-settings.svelte @@ -26,7 +26,7 @@ try { loadingPreview = true; const { html } = await getNotificationTemplateAdmin({ name, templateDto: { template } }); - await modalManager.show(EmailTemplatePreviewModal, { html }); + modalManager.show(EmailTemplatePreviewModal, { html }); } catch (error) { handleError(error, 'Could not load template.'); } finally {