diff --git a/.husky/pre-commit b/.husky/pre-commit index cb2c84d..36430c4 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1,4 @@ -pnpm lint-staged +pnpm lint +pnpm format:fix +pnpm format +git add . diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 575958f..0000000 --- a/.prettierignore +++ /dev/null @@ -1,6 +0,0 @@ -*.md -*-lock.yaml -node_modules -.next -.turbo -dist \ No newline at end of file diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 4f9cc07..0000000 --- a/.prettierrc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "trailingComma": "es5", - "semi": true, - "tabWidth": 2, - "singleQuote": true, - "jsxSingleQuote": true, - "plugins": ["prettier-plugin-organize-imports", "prettier-plugin-tailwindcss"] -} diff --git a/apps/web/package.json b/apps/web/package.json index d67e03c..7a59a8b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -7,7 +7,10 @@ "scripts": { "dev": "next dev --turbo", "build": "next build", - "start": "next start" + "start": "next start", + "lint": "biome lint .", + "format": "biome format .", + "format:fix": "biome format --write ." }, "dependencies": { "@next/third-parties": "^14.2.15", diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..93b3497 --- /dev/null +++ b/biome.json @@ -0,0 +1,323 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, + "files": { "ignoreUnknown": false, "ignore": ["package.json"] }, + "formatter": { + "enabled": true, + "useEditorconfig": true, + "formatWithErrors": false, + "indentStyle": "space", + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 80, + "attributePosition": "auto", + "bracketSpacing": true, + "ignore": [ + "**/*.md", + "**/*-lock.yaml", + "**/node_modules", + "**/.next", + "**/.turbo", + "**/dist" + ] + }, + "organizeImports": { "enabled": true }, + "linter": { + "enabled": true, + "rules": { + "recommended": false, + "a11y": { "noBlankTarget": "error" }, + "complexity": { + "noExtraBooleanCast": "error", + "noMultipleSpacesInRegularExpressionLiterals": "error", + "noUselessCatch": "error", + "noUselessThisAlias": "error", + "noUselessTypeConstraint": "error", + "noWith": "error", + "useArrowFunction": "off" + }, + "correctness": { + "noChildrenProp": "error", + "noConstAssign": "error", + "noConstantCondition": "error", + "noEmptyCharacterClassInRegex": "error", + "noEmptyPattern": "error", + "noGlobalObjectCalls": "error", + "noInvalidBuiltinInstantiation": "error", + "noInvalidConstructorSuper": "error", + "noNonoctalDecimalEscape": "error", + "noPrecisionLoss": "error", + "noSelfAssign": "error", + "noSetterReturn": "error", + "noSwitchDeclarations": "error", + "noUndeclaredVariables": "error", + "noUnreachable": "error", + "noUnreachableSuper": "error", + "noUnsafeFinally": "error", + "noUnsafeOptionalChaining": "error", + "noUnusedLabels": "error", + "noUnusedPrivateClassMembers": "error", + "noUnusedVariables": "error", + "useArrayLiterals": "off", + "useIsNan": "error", + "useJsxKeyInIterable": "error", + "useValidForDirection": "error", + "useYield": "error" + }, + "security": { "noDangerouslySetInnerHtmlWithChildren": "error" }, + "style": { + "noNamespace": "error", + "useAsConstAssertion": "error", + "useBlockStatements": "off" + }, + "suspicious": { + "noAssignInExpressions": "error", + "noAsyncPromiseExecutor": "error", + "noCatchAssign": "error", + "noClassAssign": "error", + "noCommentText": "error", + "noCompareNegZero": "error", + "noControlCharactersInRegex": "error", + "noDebugger": "error", + "noDuplicateCase": "error", + "noDuplicateClassMembers": "error", + "noDuplicateJsxProps": "error", + "noDuplicateObjectKeys": "error", + "noDuplicateParameters": "error", + "noEmptyBlockStatements": "error", + "noExplicitAny": "error", + "noExtraNonNullAssertion": "error", + "noFallthroughSwitchClause": "error", + "noFunctionAssign": "error", + "noGlobalAssign": "error", + "noImportAssign": "error", + "noMisleadingCharacterClass": "error", + "noMisleadingInstantiator": "error", + "noPrototypeBuiltins": "error", + "noRedeclare": "error", + "noShadowRestrictedNames": "error", + "noSparseArray": "error", + "noUnsafeDeclarationMerging": "error", + "noUnsafeNegation": "error", + "useGetterReturn": "error", + "useNamespaceKeyword": "error", + "useValidTypeof": "error" + } + }, + "ignore": [ + "**/node_modules/", + ".pnp", + "**/.pnp.js", + ".yarn/install-state.gz", + "coverage", + "**/.next/", + "out/", + "build", + "**/.DS_Store", + "**/*.pem", + "**/npm-debug.log*", + "**/yarn-debug.log*", + "**/yarn-error.log*", + "**/.env*.local", + "**/.vercel", + "**/*.tsbuildinfo", + "**/next-env.d.ts", + "**/.env", + "**/.changelog/", + "**/.turbo/", + "**/dist/", + "packages/ui/src/components/", + "components/icons", + "assets/", + ".github/", + "hooks/" + ] + }, + "javascript": { + "formatter": { + "jsxQuoteStyle": "single", + "quoteProperties": "asNeeded", + "trailingCommas": "es5", + "semicolons": "always", + "indentWidth": 2, + "indentStyle": "space", + "arrowParentheses": "always", + "bracketSameLine": false, + "quoteStyle": "single", + "attributePosition": "auto", + "bracketSpacing": true + }, + "globals": [] + }, + "overrides": [ + { + "include": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], + "linter": { + "rules": { + "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" + }, + "suspicious": { + "noClassAssign": "off", + "noDuplicateClassMembers": "off", + "noDuplicateObjectKeys": "off", + "noDuplicateParameters": "off", + "noFunctionAssign": "off", + "noImportAssign": "off", + "noRedeclare": "off", + "noUnsafeNegation": "off", + "useGetterReturn": "off" + } + } + } + }, + { + "include": [ + "./apps/**/*.{js,mjs,ts,tsx}", + "./packages/**/*.{js,mjs,ts,tsx}" + ], + "javascript": { + "globals": [ + "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", + "onpointercancel", + "onsubmit", + "ondragstart", + "onmessage", + "location", + "onoffline", + "onappinstalled", + "onwheel", + "onended", + "onkeydown", + "onclick", + "onfocus", + "onscroll", + "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", + "onsuspend", + "onselectionchange", + "onpagehide", + "onrejectionhandled", + "onunload", + "onanimationcancel", + "onmousedown", + "onpointerup", + "onmouseover", + "onformdata", + "oncontentvisibilityautostatechange", + "onresize", + "onsearch", + "ontoggle", + "onpageswap", + "onbeforexrselect", + "onlanguagechange", + "ondragenter", + "onerror", + "onpointermove", + "onmousemove", + "ondrop", + "onhashchange", + "onsecuritypolicyviolation", + "onslotchange", + "oncopy", + "onanimationiteration", + "ondblclick", + "ondragend", + "onpointerrawupdate", + "onpopstate", + "onplaying", + "oncontextlost", + "onloadstart", + "onseeking", + "oninput", + "onmessageerror", + "onselectstart", + "onmousewheel", + "ononline" + ] + }, + "linter": { "rules": { "suspicious": { "noExplicitAny": "off" } } } + } + ] +} diff --git a/eslint.config.mjs b/eslint.config.mjs deleted file mode 100644 index 0ce932c..0000000 --- a/eslint.config.mjs +++ /dev/null @@ -1,75 +0,0 @@ -import { includeIgnoreFile } from '@eslint/compat'; -import js from '@eslint/js'; -import stylisticJs from '@stylistic/eslint-plugin-js'; -import stylisticTs from '@stylistic/eslint-plugin-ts'; -import tsParser from '@typescript-eslint/parser'; -import prettierRecommended from 'eslint-plugin-prettier/recommended'; -import react from 'eslint-plugin-react'; -import globals from 'globals'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; -import tseslint from 'typescript-eslint'; - -const __filename = fileURLToPath(import.meta.url); -const __dirname = path.dirname(__filename); -const gitignorePath = path.resolve(__dirname, '.gitignore'); - -export default [ - js.configs.recommended, - ...tseslint.configs.recommended, - react.configs.flat.recommended, - prettierRecommended, - includeIgnoreFile(gitignorePath), - { - languageOptions: { - sourceType: 'module', - globals: { - ...globals.browser, - }, - parser: tsParser, - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - files: ['./apps/**/*.{js,mjs,ts,tsx}', './packages/**/*.{js,mjs,ts,tsx}'], - plugins: { - '@stylistic/ts': stylisticTs, - '@stylistic/js': stylisticJs, - react, - }, - rules: { - '@stylistic/ts/indent': ['error', 2], - '@stylistic/js/linebreak-style': ['error', 'unix'], - '@stylistic/ts/quotes': ['error', 'single'], - '@stylistic/ts/semi': ['error', 'always'], - '@stylistic/js/max-len': ['error', { code: 100 }], - '@typescript-eslint/no-explicit-any': ['off'], - 'react/react-in-jsx-scope': 'off', - 'react/prop-types': 'off', - 'prefer-promise-reject-errors': ['off'], - 'react/jsx-filename-extension': ['warn', { extensions: ['.tsx'] }], - 'no-return-assign': ['off'], - '@typescript-eslint/explicit-function-return-type': [ - 'error', - { - allowExpressions: true, - }, - ], - 'no-shadow': 'off', - '@typescript-eslint/no-shadow': ['error'], - 'import/prefer-default-export': 'off', - 'prettier/prettier': ['error', { singleQuote: true }], - }, - }, - { - ignores: [ - 'packages/ui/src/components/', - 'components/icons', - 'assets/', - '.github/', - 'hooks/', - ], - }, -]; diff --git a/package.json b/package.json index 559585c..7415cd1 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,9 @@ "build": "turbo build", "dev": "turbo dev", "lint": "turbo lint", + "format": "turbo format", + "format:fix": "turbo format:fix", "deploy": "turbo run build --scope=app --includeDependencies --no-deps", - "format:fix": "prettier --write .", - "eslint": "eslint --report-unused-disable-directives", - "format": "prettier --check .", "prepare": "husky", "release": "release-it --ci", "release:major": "pnpm release major", @@ -24,43 +23,18 @@ "release:prepatch": "pnpm beta prepatch" }, "devDependencies": { - "@eslint/compat": "^1.2.2", - "@next/eslint-plugin-next": "^14.2.15", + "@biomejs/biome": "1.9.4", "@release-it-plugins/lerna-changelog": "^7.0.0", - "@stylistic/eslint-plugin-js": "^2.10.1", - "@stylistic/eslint-plugin-ts": "^2.10.1", "@types/node": "^22.9.0", - "@typescript-eslint/eslint-plugin": "^8.14.0", - "@typescript-eslint/parser": "^8.14.0", "@vercel/style-guide": "^6.0.0", - "eslint": "^9.14.0", - "eslint-config-next": "14.2.15", - "eslint-config-prettier": "^9.1.0", - "eslint-config-turbo": "2.2.3", - "eslint-plugin-only-warn": "^1.1.0", - "eslint-plugin-prettier": "^5.2.1", "globals": "^15.12.0", "husky": "^9.1.6", "lerna-changelog": "^2.2.0", "lint-staged": "^15.2.10", - "prettier": "^3.3.3", - "prettier-plugin-organize-imports": "^4.1.0", - "prettier-plugin-tailwindcss": "^0.6.8", "release-it": "^17.10.0", "release-it-pnpm": "^4.6.3", "turbo": "^2.2.3", - "typescript": "^5", - "typescript-eslint": "^8.14.0" - }, - "lint-staged": { - "**/*.{ts,tsx}": [ - "pnpm format:fix", - "pnpm format" - ], - "**/*.mjs": [ - "pnpm format:fix", - "pnpm format" - ] + "typescript": "^5" }, "engines": { "node": ">=18" diff --git a/packages/analytics/package.json b/packages/analytics/package.json index 8c910d7..680d0f9 100644 --- a/packages/analytics/package.json +++ b/packages/analytics/package.json @@ -4,7 +4,9 @@ "version": "0.4.0", "private": true, "scripts": { - "lint": "eslint . --max-warnings 0" + "lint": "biome lint .", + "format": "biome format .", + "format:fix": "biome format --write ." }, "exports": { "./server": "./src/server.ts", diff --git a/packages/logger/package.json b/packages/logger/package.json index 29f6334..94dafba 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -5,7 +5,9 @@ "private": true, "main": "./src/index.ts", "scripts": { - "lint": "eslint . --max-warnings 0" + "lint": "biome lint .", + "format": "biome format .", + "format:fix": "biome format --write ." }, "dependencies": { "pino": "^9.5.0" diff --git a/packages/ui/package.json b/packages/ui/package.json index ccab7eb..c36ed67 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -10,7 +10,10 @@ "module": "./dist/index.mjs", "types": "./dist/index.d.mts", "scripts": { - "ui": "pnpm dlx shadcn@latest" + "ui": "pnpm dlx shadcn@latest", + "lint": "biome lint .", + "format": "biome format .", + "format:fix": "biome format --write ." }, "exports": { "./global.css": "./src/global.css", @@ -38,7 +41,7 @@ "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-switch": "^1.1.1", "@radix-ui/react-toast": "^1.2.2", - "@radix-ui/react-tooltip": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.4", "@tanstack/react-table": "^8.20.5", "class-variance-authority": "^0.7.0", "cmdk": "1.0.4", diff --git a/packages/ui/src/home/footer.tsx b/packages/ui/src/home/footer.tsx index 97f5740..1970ae5 100644 --- a/packages/ui/src/home/footer.tsx +++ b/packages/ui/src/home/footer.tsx @@ -18,8 +18,8 @@ export const Footer = (): JSX.Element => {

- Copyright © {new Date().getFullYear()} - Designed and built with - ❤️ by Wasiq Bhamla. + Copyright © {new Date().getFullYear()} - Designed and built with ❤️ + by Wasiq Bhamla.

All rights reserved. diff --git a/packages/utils/biome.json b/packages/utils/biome.json new file mode 100644 index 0000000..c998977 --- /dev/null +++ b/packages/utils/biome.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json", + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "overrides": [ + { + "include": ["src/**"], + "linter": { + "rules": { + "suspicious": { + "noExplicitAny": "off" + } + } + }, + "javascript": { + "formatter": { + "indentWidth": 2, + "indentStyle": "space", + "quoteStyle": "single" + } + } + } + ] +} diff --git a/packages/utils/package.json b/packages/utils/package.json index b026100..b1a4081 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,31 +1,33 @@ { - "name": "@ultra-reporter/utils", - "description": "Ultra Reporter Utils", - "version": "0.4.0", - "private": true, - "exports": { - "./types": "./src/types/types.ts", - "./constants": "./src/types/constants.ts", - "./cn": "./src/functions/cn.ts", - "./formatting": "./src/functions/formatting.ts", - "./string-util": "./src/functions/string-util.ts", - "./xml-parser": "./src/parsers/xml-parser.ts" - }, - "scripts": { - "lint": "eslint . --max-warnings 0" - }, - "devDependencies": { - "@types/luxon": "^3.4.2", - "@types/xml2js": "^0.4.14", - "@ultra-reporter/typescript-config": "workspace:*" - }, - "dependencies": { - "clsx": "^2.1.1", - "date-fns": "^4.1.0", - "luxon": "^3.5.0", - "next": "14.2.15", - "react": "^18", - "tailwind-merge": "^2.5.4", - "xml2js": "^0.6.2" - } + "name": "@ultra-reporter/utils", + "description": "Ultra Reporter Utils", + "version": "0.4.0", + "private": true, + "exports": { + "./types": "./src/types/types.ts", + "./constants": "./src/types/constants.ts", + "./cn": "./src/functions/cn.ts", + "./formatting": "./src/functions/formatting.ts", + "./string-util": "./src/functions/string-util.ts", + "./xml-parser": "./src/parsers/xml-parser.ts" + }, + "scripts": { + "lint": "biome lint .", + "format": "biome format .", + "format:fix": "biome format --write ." + }, + "devDependencies": { + "@types/luxon": "^3.4.2", + "@types/xml2js": "^0.4.14", + "@ultra-reporter/typescript-config": "workspace:*" + }, + "dependencies": { + "clsx": "^2.1.1", + "date-fns": "^4.1.0", + "luxon": "^3.5.0", + "next": "14.2.15", + "react": "^18", + "tailwind-merge": "^2.5.4", + "xml2js": "^0.6.2" + } } diff --git a/packages/utils/src/functions/formatting.ts b/packages/utils/src/functions/formatting.ts index 51a5d40..4246558 100644 --- a/packages/utils/src/functions/formatting.ts +++ b/packages/utils/src/functions/formatting.ts @@ -3,7 +3,7 @@ import { DateTime } from 'luxon'; export const toDuration = (duration: string): number => { const splitTime = duration.split(' '); - const time = parseFloat(splitTime[0] || '0'); + const time = Number.parseFloat(splitTime[0] || '0'); const type = splitTime[1]; const SECOND = 1000; const MINUTE = 60 * SECOND; @@ -20,7 +20,6 @@ export const toDuration = (duration: string): number => { case 'ms': result /= SECOND; break; - case 's': default: break; } @@ -43,7 +42,7 @@ export const formatDuration = (duration: number): string => { }; export const formatDateTime = ( - dateTimeString: string + dateTimeString: string, ): { date: string; time: string; @@ -95,7 +94,7 @@ export const formatTime = (dateTime: string): string => { const parsedDate = parse( cleanedDateString, "yyyy-MM-dd'T'HH:mm:ss 'UTC'", - new Date() + new Date(), ); return format(parsedDate, TIME_FORMAT); } @@ -109,7 +108,7 @@ export const formatDate = (dateTime: string): string => { const parsedDate = parse( cleanedDateString, "yyyy-MM-dd'T'HH:mm:ss 'UTC'", - new Date() + new Date(), ); return format(parsedDate, DATE_FORMAT); } @@ -118,7 +117,7 @@ export const formatDate = (dateTime: string): string => { export const formatDateWithFormat = ( dateTime: string, - pattern: string + pattern: string, ): string => { return format(dateTime, pattern); }; diff --git a/packages/utils/src/functions/string-util.ts b/packages/utils/src/functions/string-util.ts index 4f136b8..bca3bac 100644 --- a/packages/utils/src/functions/string-util.ts +++ b/packages/utils/src/functions/string-util.ts @@ -1,8 +1,7 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ const isJson = (text: string): boolean => { try { JSON.parse(text); - } catch (e) { + } catch (_e) { return false; } return true; @@ -12,17 +11,16 @@ const isXml = (text: string): boolean => { const parser = new DOMParser(); try { parser.parseFromString(text, 'text/xml'); - } catch (e) { + } catch (_e) { return false; } return true; }; -/* eslint-disable @typescript-eslint/no-unused-vars */ const isBase64Image = (str: string): boolean => { try { return btoa(atob(str)) === str; - } catch (err) { + } catch (_e) { return false; } }; @@ -31,7 +29,7 @@ const prettifyJson = (json: string): string => { try { const obj = JSON.parse(json); return JSON.stringify(obj, null, 2); - } catch (e) { + } catch (_e) { return json; } }; diff --git a/packages/utils/src/parsers/xml-parser.ts b/packages/utils/src/parsers/xml-parser.ts index efbf16a..ea650e9 100644 --- a/packages/utils/src/parsers/xml-parser.ts +++ b/packages/utils/src/parsers/xml-parser.ts @@ -1,6 +1,5 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ import { parseString } from 'xml2js'; -import { +import type { TestCase, TestClass, TestException, @@ -28,7 +27,7 @@ const getTestLog = (output: any): TestLog => { const getTags = ( className: string, methodName: string, - groups: any + groups: any, ): string[] => { const result: string[] = []; if (!groups) return result; @@ -75,12 +74,12 @@ const getParams = (params: any): string[] => { const getTestMethods = ( methods: any, className: string, - groups: any + groups: any, ): TestMethod[] => { const result: TestMethod[] = []; if (!methods) return result; - const processMethod = (method: any, index: number = 1): void => { + const processMethod = (method: any, index = 1): void => { result.push({ id: index, name: method.name, @@ -158,7 +157,7 @@ const getTestSuites = (suites: any): TestSuite[] => { name: suite.name, started_at: suite['started-at'], finished_at: suite['finished-at'], - duration_ms: parseInt(suite['duration-ms']), + duration_ms: Number.parseInt(suite['duration-ms']), test_cases: getTestCases(suite.test, suites.groups?.group), }); }; @@ -179,16 +178,15 @@ const getTestResults = (jsonData: any): TestResult => { try { const mapToResult: TestResult = { - failed: parseInt(testResult.failed), - passed: parseInt(testResult.passed), - skipped: parseInt(testResult.skipped), - ignored: parseInt(testResult.ignored), - total: parseInt(testResult.total), + failed: Number.parseInt(testResult.failed), + passed: Number.parseInt(testResult.passed), + skipped: Number.parseInt(testResult.skipped), + ignored: Number.parseInt(testResult.ignored), + total: Number.parseInt(testResult.total), test_suites: getTestSuites(testResult.suite), }; return mapToResult; - /* eslint-disable @typescript-eslint/no-unused-vars */ - } catch (error) { + } catch (_error) { throw new Error(`Error while processing the XML file, ${errorMessage}`); } }; @@ -207,7 +205,7 @@ const convertToJson = (data: string): string | null => { throw new Error(`Invalid file selected, ${errorMessage}`); } jsonData = result; - } + }, ); return jsonData; }; diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 8cf4345..aec7818 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@ultra-reporter/typescript-config/react-library.json", - "include": ["."], - "exclude": ["dist", "build", "node_modules"] + "extends": "@ultra-reporter/typescript-config/react-library.json", + "include": ["."], + "exclude": ["dist", "build", "node_modules"] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5963a20..c79b3f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,51 +8,18 @@ importers: .: devDependencies: - '@eslint/compat': - specifier: ^1.2.2 - version: 1.2.2(eslint@9.14.0(jiti@2.3.3)) - '@next/eslint-plugin-next': - specifier: ^14.2.15 - version: 14.2.16 + '@biomejs/biome': + specifier: 1.9.4 + version: 1.9.4 '@release-it-plugins/lerna-changelog': specifier: ^7.0.0 version: 7.0.0(release-it@17.10.0(typescript@5.6.3)) - '@stylistic/eslint-plugin-js': - specifier: ^2.10.1 - version: 2.10.1(eslint@9.14.0(jiti@2.3.3)) - '@stylistic/eslint-plugin-ts': - specifier: ^2.10.1 - version: 2.10.1(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) '@types/node': specifier: ^22.9.0 version: 22.9.0 - '@typescript-eslint/eslint-plugin': - specifier: ^8.14.0 - version: 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/parser': - specifier: ^8.14.0 - version: 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) '@vercel/style-guide': specifier: ^6.0.0 version: 6.0.0(@next/eslint-plugin-next@14.2.16)(eslint@9.14.0(jiti@2.3.3))(prettier@3.3.3)(typescript@5.6.3) - eslint: - specifier: ^9.14.0 - version: 9.14.0(jiti@2.3.3) - eslint-config-next: - specifier: 14.2.15 - version: 14.2.15(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@9.14.0(jiti@2.3.3)) - eslint-config-turbo: - specifier: 2.2.3 - version: 2.2.3(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-only-warn: - specifier: ^1.1.0 - version: 1.1.0 - eslint-plugin-prettier: - specifier: ^5.2.1 - version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3))(prettier@3.3.3) globals: specifier: ^15.12.0 version: 15.12.0 @@ -65,15 +32,6 @@ importers: lint-staged: specifier: ^15.2.10 version: 15.2.10 - prettier: - specifier: ^3.3.3 - version: 3.3.3 - prettier-plugin-organize-imports: - specifier: ^4.1.0 - version: 4.1.0(prettier@3.3.3)(typescript@5.6.3) - prettier-plugin-tailwindcss: - specifier: ^0.6.8 - version: 0.6.8(prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3))(prettier@3.3.3) release-it: specifier: ^17.10.0 version: 17.10.0(typescript@5.6.3) @@ -86,9 +44,6 @@ importers: typescript: specifier: ^5 version: 5.6.3 - typescript-eslint: - specifier: ^8.14.0 - version: 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) apps/web: dependencies: @@ -234,8 +189,8 @@ importers: specifier: ^1.2.2 version: 1.2.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-tooltip': - specifier: ^1.1.3 - version: 1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^1.1.4 + version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-table': specifier: ^8.20.5 version: 8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -440,6 +395,59 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@biomejs/biome@1.9.4': + resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} + engines: {node: '>=14.21.3'} + hasBin: true + + '@biomejs/cli-darwin-arm64@1.9.4': + resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [darwin] + + '@biomejs/cli-darwin-x64@1.9.4': + resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [darwin] + + '@biomejs/cli-linux-arm64-musl@1.9.4': + resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-arm64@1.9.4': + resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [linux] + + '@biomejs/cli-linux-x64-musl@1.9.4': + resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-linux-x64@1.9.4': + resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [linux] + + '@biomejs/cli-win32-arm64@1.9.4': + resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} + engines: {node: '>=14.21.3'} + cpu: [arm64] + os: [win32] + + '@biomejs/cli-win32-x64@1.9.4': + resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} + engines: {node: '>=14.21.3'} + cpu: [x64] + os: [win32] + '@conventional-changelog/git-client@1.0.1': resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} engines: {node: '>=18'} @@ -477,15 +485,6 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@1.2.2': - resolution: {integrity: sha512-jhgiIrsw+tRfcBQ4BFl2C3vCrIUw2trCY0cnDvGZpwTtKCEDmZhAtMfrEUP/KpnwM6PrO0T+Ltm+ccW74olG3Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^9.10.0 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.18.0': resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -517,8 +516,8 @@ packages: '@floating-ui/core@1.6.8': resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.11': - resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} + '@floating-ui/dom@1.6.12': + resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} '@floating-ui/react-dom@2.1.2': resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} @@ -594,9 +593,6 @@ packages: '@next/env@14.2.15': resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} - '@next/eslint-plugin-next@14.2.15': - resolution: {integrity: sha512-pKU0iqKRBlFB/ocOI1Ip2CkKePZpYpnw5bEItEkuZ/Nr9FQP1+p7VDWr4VfOdff4i9bFmrOaeaU1bFEyAcxiMQ==} - '@next/eslint-plugin-next@14.2.16': resolution: {integrity: sha512-noORwKUMkKc96MWjTOwrsUCjky0oFegHbeJ1yEnQBGbMHAaTEIgLZIIfsYF0x3a06PiS+2TXppfifR+O6VWslg==} @@ -1119,8 +1115,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-tooltip@1.1.3': - resolution: {integrity: sha512-Z4w1FIS0BqVFI2c1jZvb/uDVJijJjJ2ZMuPV81oVgTZ7g3BZxobplnMVvXtFWgtozdvYJ+MFWtwkM5S2HnAong==} + '@radix-ui/react-tooltip@1.1.4': + resolution: {integrity: sha512-QpObUH/ZlpaO4YgHSaYzrLO2VuO+ZBFFgGzjMUPwtiYnAzzNNDPJeEGRrT7qNOrWm/Jr08M1vlp+vTHtnSQ0Uw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -1234,18 +1230,6 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@stylistic/eslint-plugin-js@2.10.1': - resolution: {integrity: sha512-IikL/RKy9Sk2UMDUUpqrEcwDeYzUEt6SaL2/UVCFuVQxKACHSgStT0NxXkxZmBOUforaU52FPf2Su07FYH5s5g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - - '@stylistic/eslint-plugin-ts@2.10.1': - resolution: {integrity: sha512-XmXcixLPYfW0Z4Nf2ChnQ7CnfALNy/5gwNh22POiy64xreVYtiag4+yxN2SBEalEfoOAwDnqwDKam7e7XeoKTA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: '>=8.40.0' - '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} @@ -1362,17 +1346,6 @@ packages: typescript: optional: true - '@typescript-eslint/eslint-plugin@8.14.0': - resolution: {integrity: sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/parser@7.18.0': resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1383,16 +1356,6 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.14.0': - resolution: {integrity: sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1401,14 +1364,6 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.13.0': - resolution: {integrity: sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/scope-manager@8.14.0': - resolution: {integrity: sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@7.18.0': resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1419,15 +1374,6 @@ packages: typescript: optional: true - '@typescript-eslint/type-utils@8.14.0': - resolution: {integrity: sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1436,14 +1382,6 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.13.0': - resolution: {integrity: sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.14.0': - resolution: {integrity: sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1462,24 +1400,6 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.13.0': - resolution: {integrity: sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@8.14.0': - resolution: {integrity: sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1492,18 +1412,6 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.13.0': - resolution: {integrity: sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/utils@8.14.0': - resolution: {integrity: sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1512,14 +1420,6 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.13.0': - resolution: {integrity: sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.14.0': - resolution: {integrity: sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vercel/functions@1.5.0': resolution: {integrity: sha512-ub3ptVeOsx8UPgiTv9+rpQJqmF7VG8QIzguBZo0E0VRAyJliB8bt1ooB9Wrh3333dKzMNS8NMe3iFtf6OPUP3A==} engines: {node: '>= 16'} @@ -2238,10 +2138,6 @@ packages: resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} engines: {node: '>=18'} - dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -2347,26 +2243,12 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-config-next@14.2.15: - resolution: {integrity: sha512-mKg+NC/8a4JKLZRIOBplxXNdStgxy7lzWuedUaCc8tev+Al9mwDUTujQH6W6qXDH9kycWiVo28tADWGvpBsZcQ==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-config-turbo@2.2.3: - resolution: {integrity: sha512-/zwNU+G2w0HszXzWILdl6/Catt86ejUG7vsFSdpnFzFAAUbbT2TxgoCFvC1fKtm6+SkQsXwkRRe9tFz0aMftpg==} - peerDependencies: - eslint: '>6.6.0' - eslint-import-resolver-alias@1.1.2: resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} engines: {node: '>= 4'} @@ -2445,10 +2327,6 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-only-warn@1.1.0: - resolution: {integrity: sha512-2tktqUAT+Q3hCAU0iSf4xAN1k9zOpjK5WO8104mB0rT/dGhOa09582HN5HlbxNbPRZ0THV7nLGvzugcNOSjzfA==} - engines: {node: '>=6'} - eslint-plugin-playwright@1.8.3: resolution: {integrity: sha512-h87JPFHkz8a6oPhn8GRGGhSQoAJjx0AkOv1jME6NoMk2FpEsfvfJJNaQDxLSqSALkCr0IJXPGTnp6SIRVu5Nqg==} engines: {node: '>=16.6.0'} @@ -2459,32 +2337,12 @@ packages: eslint-plugin-jest: optional: true - eslint-plugin-prettier@5.2.1: - resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - eslint-plugin-react-hooks@4.6.2: resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705: - resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react@7.37.2: resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} engines: {node: '>=4'} @@ -2500,11 +2358,6 @@ packages: eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - eslint-plugin-turbo@2.2.3: - resolution: {integrity: sha512-LHt35VwxthdGVO6hQRfvmFb6ee8/exAzAYWCy4o87Bnp7urltP8qg7xMd4dPSLAhtfnI2xSo1WgeVaR3MeItxw==} - peerDependencies: - eslint: '>6.6.0' - eslint-plugin-unicorn@51.0.1: resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} @@ -2620,9 +2473,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-equals@5.0.1: resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} engines: {node: '>=6.0.0'} @@ -4021,20 +3871,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier-plugin-organize-imports@4.1.0: - resolution: {integrity: sha512-5aWRdCgv645xaa58X8lOxzZoiHAldAPChljr/MT0crXVOWTZ+Svl4hIWlz+niYSlO6ikE5UXkN1JrRvIP2ut0A==} - peerDependencies: - prettier: '>=2.0' - typescript: '>=2.9' - vue-tsc: ^2.1.0 - peerDependenciesMeta: - vue-tsc: - optional: true - prettier-plugin-packagejson@2.5.3: resolution: {integrity: sha512-ATMEEXr+ywls1kgrZEWl4SBPEm0uDdyDAjyNzUC0/Z8WZTD3RqbJcQDR+Dau+wYkW9KHK6zqQIsFyfn+9aduWg==} peerDependencies: @@ -4043,61 +3879,6 @@ packages: prettier: optional: true - prettier-plugin-tailwindcss@0.6.8: - resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - '@zackad/prettier-plugin-twig-melody': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-multiline-arrays: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-sort-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - '@zackad/prettier-plugin-twig-melody': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-multiline-arrays: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - prettier@3.3.3: resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} @@ -4863,15 +4644,6 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript-eslint@8.14.0: - resolution: {integrity: sha512-K8fBJHxVL3kxMmwByvz8hNdBJ8a0YqKzKDX6jRlrjMuNXyd5T2V02HIq37+OiWXvUUOXgOOGiSSOh26Mh8pC3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} @@ -5236,6 +5008,41 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@biomejs/biome@1.9.4': + 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@1.9.4': + optional: true + + '@biomejs/cli-darwin-x64@1.9.4': + optional: true + + '@biomejs/cli-linux-arm64-musl@1.9.4': + optional: true + + '@biomejs/cli-linux-arm64@1.9.4': + optional: true + + '@biomejs/cli-linux-x64-musl@1.9.4': + optional: true + + '@biomejs/cli-linux-x64@1.9.4': + optional: true + + '@biomejs/cli-win32-arm64@1.9.4': + optional: true + + '@biomejs/cli-win32-x64@1.9.4': + optional: true + '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': dependencies: '@types/semver': 7.5.8 @@ -5264,10 +5071,6 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.2(eslint@9.14.0(jiti@2.3.3))': - optionalDependencies: - eslint: 9.14.0(jiti@2.3.3) - '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 @@ -5318,14 +5121,14 @@ snapshots: dependencies: '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.11': + '@floating-ui/dom@1.6.12': dependencies: '@floating-ui/core': 1.6.8 '@floating-ui/utils': 0.2.8 '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@floating-ui/dom': 1.6.11 + '@floating-ui/dom': 1.6.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -5394,13 +5197,10 @@ snapshots: '@next/env@14.2.15': {} - '@next/eslint-plugin-next@14.2.15': - dependencies: - glob: 10.3.10 - '@next/eslint-plugin-next@14.2.16': dependencies: glob: 10.3.10 + optional: true '@next/swc-darwin-arm64@14.2.15': optional: true @@ -5924,7 +5724,7 @@ snapshots: '@types/react': 18.3.12 '@types/react-dom': 18.3.1 - '@radix-ui/react-tooltip@1.1.3(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tooltip@1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) @@ -6025,22 +5825,6 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@stylistic/eslint-plugin-js@2.10.1(eslint@9.14.0(jiti@2.3.3))': - dependencies: - eslint: 9.14.0(jiti@2.3.3) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - - '@stylistic/eslint-plugin-ts@2.10.1(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@typescript-eslint/utils': 8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.3.3) - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - transitivePeerDependencies: - - supports-color - - typescript - '@swc/counter@0.1.3': {} '@swc/helpers@0.5.5': @@ -6155,24 +5939,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/type-utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 - eslint: 9.14.0(jiti@2.3.3) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 @@ -6186,19 +5952,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.14.0 - debug: 4.3.7 - eslint: 9.14.0(jiti@2.3.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -6209,16 +5962,6 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.13.0': - dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 - - '@typescript-eslint/scope-manager@8.14.0': - dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 - '@typescript-eslint/type-utils@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) @@ -6231,26 +5974,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - debug: 4.3.7 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - eslint - - supports-color - '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.13.0': {} - - '@typescript-eslint/types@8.14.0': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 5.62.0 @@ -6280,36 +6007,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.13.0(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/visitor-keys': 8.13.0 - debug: 4.3.7 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.14.0(typescript@5.6.3)': - dependencies: - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/visitor-keys': 8.14.0 - debug: 4.3.7 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.4.0(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/utils@5.62.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.3.3)) @@ -6336,28 +6033,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.13.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.3.3)) - '@typescript-eslint/scope-manager': 8.13.0 - '@typescript-eslint/types': 8.13.0 - '@typescript-eslint/typescript-estree': 8.13.0(typescript@5.6.3) - eslint: 9.14.0(jiti@2.3.3) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.3.3)) - '@typescript-eslint/scope-manager': 8.14.0 - '@typescript-eslint/types': 8.14.0 - '@typescript-eslint/typescript-estree': 8.14.0(typescript@5.6.3) - eslint: 9.14.0(jiti@2.3.3) - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -6368,16 +6043,6 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.13.0': - dependencies: - '@typescript-eslint/types': 8.13.0 - eslint-visitor-keys: 3.4.3 - - '@typescript-eslint/visitor-keys@8.14.0': - dependencies: - '@typescript-eslint/types': 8.14.0 - eslint-visitor-keys: 3.4.3 - '@vercel/functions@1.5.0': {} '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@14.2.16)(eslint@9.14.0(jiti@2.3.3))(prettier@3.3.3)(typescript@5.6.3)': @@ -6391,8 +6056,8 @@ snapshots: eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.31.0) eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)) eslint-plugin-eslint-comments: 3.2.0(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.14.0(jiti@2.3.3)) eslint-plugin-playwright: 1.8.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3)) eslint-plugin-react: 7.37.2(eslint@9.14.0(jiti@2.3.3)) @@ -7169,8 +6834,6 @@ snapshots: dependencies: type-fest: 4.26.1 - dotenv@16.0.3: {} - dotenv@16.4.5: {} eastasianwidth@0.2.0: {} @@ -7323,38 +6986,13 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-next@14.2.15(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3): - dependencies: - '@next/eslint-plugin-next': 14.2.15 - '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.3.3) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-react: 7.37.2(eslint@9.14.0(jiti@2.3.3)) - eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@9.14.0(jiti@2.3.3)) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - eslint-plugin-import-x - - supports-color - eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@2.3.3)): dependencies: eslint: 9.14.0(jiti@2.3.3) - eslint-config-turbo@2.2.3(eslint@9.14.0(jiti@2.3.3)): - dependencies: - eslint: 9.14.0(jiti@2.3.3) - eslint-plugin-turbo: 2.2.3(eslint@9.14.0(jiti@2.3.3)) - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) eslint-import-resolver-node@0.3.9: dependencies: @@ -7370,39 +7008,20 @@ snapshots: debug: 4.3.7 enhanced-resolve: 5.17.1 eslint: 9.14.0(jiti@2.3.3) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 is-glob: 4.0.3 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)): - dependencies: - '@nolyfill/is-core-module': 1.0.39 - debug: 4.3.7 - enhanced-resolve: 5.17.1 - eslint: 9.14.0(jiti@2.3.3) - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) - fast-glob: 3.3.2 - get-tsconfig: 4.8.1 - is-bun-module: 1.2.1 - is-glob: 4.0.3 - optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) - transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-node - - eslint-import-resolver-webpack - - supports-color - - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)): dependencies: debug: 3.2.7 optionalDependencies: @@ -7413,24 +7032,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - eslint: 9.14.0(jiti@2.3.3) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)) - transitivePeerDependencies: - - supports-color - eslint-plugin-eslint-comments@3.2.0(eslint@9.14.0(jiti@2.3.3)): dependencies: escape-string-regexp: 1.0.5 eslint: 9.14.0(jiti@2.3.3) ignore: 5.3.2 - eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -7441,7 +7049,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.14.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-plugin-import@2.31.0)(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -7459,41 +7067,12 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)): - dependencies: - '@rtsao/scc': 1.1.0 - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.14.0(jiti@2.3.3) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@9.14.0(jiti@2.3.3)) - hasown: 2.0.2 - is-core-module: 2.15.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - string.prototype.trimend: 1.0.8 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) eslint: 9.14.0(jiti@2.3.3) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) transitivePeerDependencies: - supports-color - typescript @@ -7517,32 +7096,17 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 - eslint-plugin-only-warn@1.1.0: {} - eslint-plugin-playwright@1.8.3(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3)): dependencies: eslint: 9.14.0(jiti@2.3.3) globals: 13.24.0 optionalDependencies: - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - - eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@2.3.3)))(eslint@9.14.0(jiti@2.3.3))(prettier@3.3.3): - dependencies: - eslint: 9.14.0(jiti@2.3.3) - prettier: 3.3.3 - prettier-linter-helpers: 1.0.0 - synckit: 0.9.2 - optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@9.14.0(jiti@2.3.3)) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) eslint-plugin-react-hooks@4.6.2(eslint@9.14.0(jiti@2.3.3)): dependencies: eslint: 9.14.0(jiti@2.3.3) - eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@9.14.0(jiti@2.3.3)): - dependencies: - eslint: 9.14.0(jiti@2.3.3) - eslint-plugin-react@7.37.2(eslint@9.14.0(jiti@2.3.3)): dependencies: array-includes: 3.1.8 @@ -7578,11 +7142,6 @@ snapshots: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - eslint-plugin-turbo@2.2.3(eslint@9.14.0(jiti@2.3.3)): - dependencies: - dotenv: 16.0.3 - eslint: 9.14.0(jiti@2.3.3) - eslint-plugin-unicorn@51.0.1(eslint@9.14.0(jiti@2.3.3)): dependencies: '@babel/helper-validator-identifier': 7.25.7 @@ -7776,8 +7335,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-diff@1.3.0: {} - fast-equals@5.0.1: {} fast-glob@3.3.2: @@ -7955,6 +7512,7 @@ snapshots: minimatch: 9.0.5 minipass: 7.1.2 path-scurry: 1.11.1 + optional: true glob@10.4.5: dependencies: @@ -8386,6 +7944,7 @@ snapshots: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 + optional: true jackspeak@3.4.3: dependencies: @@ -9270,15 +8829,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier-linter-helpers@1.0.0: - dependencies: - fast-diff: 1.3.0 - - prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3): - dependencies: - prettier: 3.3.3 - typescript: 5.6.3 - prettier-plugin-packagejson@2.5.3(prettier@3.3.3): dependencies: sort-package-json: 2.10.1 @@ -9286,13 +8836,8 @@ snapshots: optionalDependencies: prettier: 3.3.3 - prettier-plugin-tailwindcss@0.6.8(prettier-plugin-organize-imports@4.1.0(prettier@3.3.3)(typescript@5.6.3))(prettier@3.3.3): - dependencies: - prettier: 3.3.3 - optionalDependencies: - prettier-plugin-organize-imports: 4.1.0(prettier@3.3.3)(typescript@5.6.3) - - prettier@3.3.3: {} + prettier@3.3.3: + optional: true pretty-ms@9.1.0: dependencies: @@ -10137,17 +9682,6 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript-eslint@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.14.0(@typescript-eslint/parser@8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/parser': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - '@typescript-eslint/utils': 8.14.0(eslint@9.14.0(jiti@2.3.3))(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - eslint - - supports-color - typescript@5.6.3: {} ufo@1.5.4: {} diff --git a/turbo.json b/turbo.json index 807e324..3322a06 100644 --- a/turbo.json +++ b/turbo.json @@ -10,6 +10,12 @@ "lint": { "dependsOn": ["^lint"] }, + "format": { + "dependsOn": ["^format"] + }, + "format:fix": { + "dependsOn": ["^format:fix"] + }, "dev": { "cache": false, "persistent": true