chore: trying out biome v2 beta

This commit is contained in:
Arno Wiest
2025-06-13 14:21:29 +02:00
parent 229ce04118
commit cfe7fc675d
4 changed files with 246 additions and 202 deletions

View File

@@ -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 }
}

73
web/package-lock.json generated
View File

@@ -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"
],

View File

@@ -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",

View File

@@ -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 {