From 70716c1653043fc971343dfdea97da22d75465b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Hamburger=20Gr=C3=B8ngaard?= Date: Wed, 2 Oct 2024 11:25:15 +0200 Subject: [PATCH] chore(playground): replace ESLint with Biome --- apps/playground/.eslintrc.cjs | 15 - apps/playground/package.json | 8 +- apps/playground/src/components/button.tsx | 2 +- apps/playground/src/components/field.tsx | 10 +- apps/playground/src/components/list-box.tsx | 4 +- apps/playground/src/components/popover.tsx | 5 +- apps/playground/src/components/select.tsx | 14 +- apps/playground/src/components/separator.tsx | 5 +- apps/playground/src/components/switch.tsx | 4 +- .../src/components/toggle-button.tsx | 2 +- apps/playground/src/components/toolbar.tsx | 2 +- apps/playground/src/components/tooltip.tsx | 5 +- .../playground/src/editor-patches-preview.tsx | 2 +- .../src/editor-portable-text-preview.tsx | 4 +- apps/playground/src/editor.tsx | 24 +- apps/playground/src/editors.tsx | 2 +- apps/playground/src/generate-color.ts | 2 +- apps/playground/src/playground-machine.ts | 10 +- apps/playground/src/portable-text-preview.tsx | 2 +- apps/playground/src/portable-text-toolbar.tsx | 4 +- apps/playground/src/selection-preview.tsx | 2 +- apps/playground/tsconfig.app.json | 2 - biome.json | 3 + pnpm-lock.yaml | 589 ++---------------- 24 files changed, 106 insertions(+), 616 deletions(-) delete mode 100644 apps/playground/.eslintrc.cjs diff --git a/apps/playground/.eslintrc.cjs b/apps/playground/.eslintrc.cjs deleted file mode 100644 index e514da06..00000000 --- a/apps/playground/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - env: {browser: true, es2020: true}, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react-hooks/recommended', - ], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], - rules: { - 'react-refresh/only-export-components': ['off'], - }, -} diff --git a/apps/playground/package.json b/apps/playground/package.json index 199fec20..f00a2f59 100644 --- a/apps/playground/package.json +++ b/apps/playground/package.json @@ -5,10 +5,11 @@ "type": "module", "scripts": { "build": "tsc -b && vite build", - "check:lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "check:lint": "biome lint .", "check:types": "tsc --noEmit --pretty", "clean": "del .turbo && del dist && del node_modules", "dev": "vite", + "lint:fix": "biome lint --write .", "preview": "vite preview" }, "dependencies": { @@ -39,13 +40,8 @@ "@types/react-dom": "^18.3.0", "@types/react-is": "^18.3.0", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.20", - "eslint": "^8.57.0", - "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.9", "postcss": "^8.4.41", "tailwind-merge": "^2.5.2", "tailwind-variants": "^0.2.1", diff --git a/apps/playground/src/components/button.tsx b/apps/playground/src/components/button.tsx index b3b76af8..3ac1b1b4 100644 --- a/apps/playground/src/components/button.tsx +++ b/apps/playground/src/components/button.tsx @@ -1,7 +1,7 @@ import { composeRenderProps, Button as RACButton, - ButtonProps as RACButtonProps, + type ButtonProps as RACButtonProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' import {focusRing} from './utils' diff --git a/apps/playground/src/components/field.tsx b/apps/playground/src/components/field.tsx index c7f78459..ab30afe5 100644 --- a/apps/playground/src/components/field.tsx +++ b/apps/playground/src/components/field.tsx @@ -1,15 +1,15 @@ import { composeRenderProps, - FieldErrorProps, Group, - GroupProps, - InputProps, - LabelProps, FieldError as RACFieldError, Input as RACInput, Label as RACLabel, Text, - TextProps, + type FieldErrorProps, + type GroupProps, + type InputProps, + type LabelProps, + type TextProps, } from 'react-aria-components' import {twMerge} from 'tailwind-merge' import {tv} from 'tailwind-variants' diff --git a/apps/playground/src/components/list-box.tsx b/apps/playground/src/components/list-box.tsx index 02fb2691..04170dbd 100644 --- a/apps/playground/src/components/list-box.tsx +++ b/apps/playground/src/components/list-box.tsx @@ -4,9 +4,9 @@ import { Collection, composeRenderProps, Header, - ListBoxItemProps, Section, - SectionProps, + type ListBoxItemProps, + type SectionProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' diff --git a/apps/playground/src/components/popover.tsx b/apps/playground/src/components/popover.tsx index 032445d1..37280987 100644 --- a/apps/playground/src/components/popover.tsx +++ b/apps/playground/src/components/popover.tsx @@ -1,11 +1,11 @@ -import React from 'react' +import type React from 'react' import { Popover as AriaPopover, - PopoverProps as AriaPopoverProps, composeRenderProps, OverlayArrow, PopoverContext, useSlottedContext, + type PopoverProps as AriaPopoverProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' @@ -52,6 +52,7 @@ export function Popover({ viewBox="0 0 12 12" className="block fill-white dark:fill-[#1f1f21] forced-colors:fill-[Canvas] stroke-1 stroke-black/10 dark:stroke-zinc-600 forced-colors:stroke-[ButtonBorder] group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90" > + Popover Arrow diff --git a/apps/playground/src/components/select.tsx b/apps/playground/src/components/select.tsx index 432ad544..914c275b 100644 --- a/apps/playground/src/components/select.tsx +++ b/apps/playground/src/components/select.tsx @@ -1,17 +1,21 @@ import {ChevronDown} from 'lucide-react' -import React from 'react' +import type React from 'react' import { Select as AriaSelect, - SelectProps as AriaSelectProps, Button, ListBox, - ListBoxItemProps, SelectValue, - ValidationResult, + type SelectProps as AriaSelectProps, + type ListBoxItemProps, + type ValidationResult, } from 'react-aria-components' import {tv} from 'tailwind-variants' import {Description, FieldError, Label} from './field' -import {DropdownItem, DropdownSection, DropdownSectionProps} from './list-box' +import { + DropdownItem, + DropdownSection, + type DropdownSectionProps, +} from './list-box' import {Popover} from './popover' import {composeTailwindRenderProps, focusRing} from './utils' diff --git a/apps/playground/src/components/separator.tsx b/apps/playground/src/components/separator.tsx index 586a220a..63e3b3c3 100644 --- a/apps/playground/src/components/separator.tsx +++ b/apps/playground/src/components/separator.tsx @@ -1,4 +1,7 @@ -import {Separator as RACSeparator, SeparatorProps} from 'react-aria-components' +import { + Separator as RACSeparator, + type SeparatorProps, +} from 'react-aria-components' import {tv} from 'tailwind-variants' const styles = tv({ diff --git a/apps/playground/src/components/switch.tsx b/apps/playground/src/components/switch.tsx index ec0873d1..f93ac82e 100644 --- a/apps/playground/src/components/switch.tsx +++ b/apps/playground/src/components/switch.tsx @@ -1,7 +1,7 @@ -import React from 'react' +import type React from 'react' import { Switch as AriaSwitch, - SwitchProps as AriaSwitchProps, + type SwitchProps as AriaSwitchProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' import {composeTailwindRenderProps, focusRing} from './utils' diff --git a/apps/playground/src/components/toggle-button.tsx b/apps/playground/src/components/toggle-button.tsx index 9ff88d40..b3d6b3db 100644 --- a/apps/playground/src/components/toggle-button.tsx +++ b/apps/playground/src/components/toggle-button.tsx @@ -1,7 +1,7 @@ import { composeRenderProps, ToggleButton as RACToggleButton, - ToggleButtonProps, + type ToggleButtonProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' import {focusRing} from './utils' diff --git a/apps/playground/src/components/toolbar.tsx b/apps/playground/src/components/toolbar.tsx index 9db084af..4133c199 100644 --- a/apps/playground/src/components/toolbar.tsx +++ b/apps/playground/src/components/toolbar.tsx @@ -1,7 +1,7 @@ import { composeRenderProps, Toolbar as RACToolbar, - ToolbarProps, + type ToolbarProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' diff --git a/apps/playground/src/components/tooltip.tsx b/apps/playground/src/components/tooltip.tsx index 2b8904e1..0fc56818 100644 --- a/apps/playground/src/components/tooltip.tsx +++ b/apps/playground/src/components/tooltip.tsx @@ -1,9 +1,9 @@ -import React from 'react' +import type React from 'react' import { Tooltip as AriaTooltip, - TooltipProps as AriaTooltipProps, composeRenderProps, OverlayArrow, + type TooltipProps as AriaTooltipProps, } from 'react-aria-components' import {tv} from 'tailwind-variants' @@ -39,6 +39,7 @@ export function Tooltip({children, ...props}: TooltipProps) { viewBox="0 0 8 8" className="fill-slate-700 dark:fill-slate-600 forced-colors:fill-[Canvas] stroke-gray-800 dark:stroke-white/10 forced-colors:stroke-[ButtonBorder] group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90" > + Tooltip Arrow diff --git a/apps/playground/src/editor-patches-preview.tsx b/apps/playground/src/editor-patches-preview.tsx index 17720818..08fcacfd 100644 --- a/apps/playground/src/editor-patches-preview.tsx +++ b/apps/playground/src/editor-patches-preview.tsx @@ -1,6 +1,6 @@ import {omit} from 'remeda' import {tv} from 'tailwind-variants' -import {EditorActorRef} from './playground-machine' +import type {EditorActorRef} from './playground-machine' type EditorPatch = ReturnType< EditorActorRef['getSnapshot'] diff --git a/apps/playground/src/editor-portable-text-preview.tsx b/apps/playground/src/editor-portable-text-preview.tsx index 5527e2c2..0dc9c1a2 100644 --- a/apps/playground/src/editor-portable-text-preview.tsx +++ b/apps/playground/src/editor-portable-text-preview.tsx @@ -1,9 +1,9 @@ -import {PortableTextBlock} from '@sanity/types' +import type {PortableTextBlock} from '@sanity/types' import {useActorRef, useSelector} from '@xstate/react' import {useEffect} from 'react' import {Spinner} from './components/spinner' import {higlightMachine} from './highlight-json-machine' -import {EditorActorRef} from './playground-machine' +import type {EditorActorRef} from './playground-machine' export function EditorPortableTextPreview(props: { editorId: EditorActorRef['id'] diff --git a/apps/playground/src/editor.tsx b/apps/playground/src/editor.tsx index a9a2c102..072cc0b4 100644 --- a/apps/playground/src/editor.tsx +++ b/apps/playground/src/editor.tsx @@ -1,18 +1,18 @@ import { - BlockDecoratorRenderProps, - BlockStyleRenderProps, - Patch, PortableTextEditable, PortableTextEditor, - RenderAnnotationFunction, - RenderBlockFunction, - RenderChildFunction, - RenderDecoratorFunction, - RenderListItemFunction, - RenderPlaceholderFunction, - RenderStyleFunction, + type BlockDecoratorRenderProps, + type BlockStyleRenderProps, + type Patch, + type RenderAnnotationFunction, + type RenderBlockFunction, + type RenderChildFunction, + type RenderDecoratorFunction, + type RenderListItemFunction, + type RenderPlaceholderFunction, + type RenderStyleFunction, } from '@portabletext/editor' -import {PortableTextBlock} from '@sanity/types' +import type {PortableTextBlock} from '@sanity/types' import {useSelector} from '@xstate/react' import {CopyIcon, ImageIcon, TrashIcon} from 'lucide-react' import {useEffect, useMemo, useState} from 'react' @@ -29,7 +29,7 @@ import {Toolbar} from './components/toolbar' import {Tooltip} from './components/tooltip' import {EditorPatchesPreview} from './editor-patches-preview' import {EditorPortableTextPreview} from './editor-portable-text-preview' -import {EditorActorRef} from './playground-machine' +import type {EditorActorRef} from './playground-machine' import {PortableTextToolbar} from './portable-text-toolbar' import { CommentAnnotationSchema, diff --git a/apps/playground/src/editors.tsx b/apps/playground/src/editors.tsx index e698b68c..7dc42bbf 100644 --- a/apps/playground/src/editors.tsx +++ b/apps/playground/src/editors.tsx @@ -4,7 +4,7 @@ import {TooltipTrigger} from 'react-aria-components' import {Button} from './components/button' import {Tooltip} from './components/tooltip' import {Editor} from './editor' -import {PlaygroundActorRef} from './playground-machine' +import type {PlaygroundActorRef} from './playground-machine' import {PortableTextPreview} from './portable-text-preview' export function Editors(props: {playgroundRef: PlaygroundActorRef}) { diff --git a/apps/playground/src/generate-color.ts b/apps/playground/src/generate-color.ts index b188e627..cb2f4deb 100644 --- a/apps/playground/src/generate-color.ts +++ b/apps/playground/src/generate-color.ts @@ -1,4 +1,4 @@ -import {COLOR_HUES, ColorTintKey, hues} from '@sanity/color' +import {COLOR_HUES, hues, type ColorTintKey} from '@sanity/color' export function* generateColor(tint: ColorTintKey): Generator { let colorCursor = 0 diff --git a/apps/playground/src/playground-machine.ts b/apps/playground/src/playground-machine.ts index 14ccf422..10923389 100644 --- a/apps/playground/src/playground-machine.ts +++ b/apps/playground/src/playground-machine.ts @@ -1,9 +1,8 @@ -import {type MutationChange} from '@portabletext/editor' -import {applyAll, Patch} from '@portabletext/patches' -import {PortableTextBlock} from '@sanity/types' +import type {MutationChange} from '@portabletext/editor' +import {applyAll, type Patch} from '@portabletext/patches' +import type {PortableTextBlock} from '@sanity/types' import {v4 as uuid} from 'uuid' import { - ActorRefFrom, assertEvent, assign, emit, @@ -12,8 +11,9 @@ import { sendParent, setup, stopChild, + type ActorRefFrom, } from 'xstate' -import {generateColor} from './generate-color' +import type {generateColor} from './generate-color' import {createKeyGenerator} from './key-generator' const copyToTextClipboardActor = fromPromise( diff --git a/apps/playground/src/portable-text-preview.tsx b/apps/playground/src/portable-text-preview.tsx index 52770d8b..51dca604 100644 --- a/apps/playground/src/portable-text-preview.tsx +++ b/apps/playground/src/portable-text-preview.tsx @@ -2,7 +2,7 @@ import {useActorRef, useSelector} from '@xstate/react' import {useEffect} from 'react' import {Spinner} from './components/spinner' import {higlightMachine} from './highlight-json-machine' -import {PlaygroundActorRef} from './playground-machine' +import type {PlaygroundActorRef} from './playground-machine' export function PortableTextPreview(props: { playgroundRef: PlaygroundActorRef diff --git a/apps/playground/src/portable-text-toolbar.tsx b/apps/playground/src/portable-text-toolbar.tsx index e196197d..215bfd48 100644 --- a/apps/playground/src/portable-text-toolbar.tsx +++ b/apps/playground/src/portable-text-toolbar.tsx @@ -1,10 +1,10 @@ import { - EditorSelection, PortableTextEditor, usePortableTextEditor, usePortableTextEditorSelection, + type EditorSelection, } from '@portabletext/editor' -import { +import type { BlockDecoratorDefinition, BlockListDefinition, ObjectSchemaType, diff --git a/apps/playground/src/selection-preview.tsx b/apps/playground/src/selection-preview.tsx index 390061f1..8276925b 100644 --- a/apps/playground/src/selection-preview.tsx +++ b/apps/playground/src/selection-preview.tsx @@ -3,7 +3,7 @@ import {useActorRef, useSelector} from '@xstate/react' import {useEffect} from 'react' import {Spinner} from './components/spinner' import {higlightMachine} from './highlight-json-machine' -import {EditorActorRef} from './playground-machine' +import type {EditorActorRef} from './playground-machine' export function SelectionPreview(props: {editorId: EditorActorRef['id']}) { const highlightSelectionActor = useActorRef(higlightMachine, { diff --git a/apps/playground/tsconfig.app.json b/apps/playground/tsconfig.app.json index d739292a..ef6be00e 100644 --- a/apps/playground/tsconfig.app.json +++ b/apps/playground/tsconfig.app.json @@ -8,7 +8,6 @@ "module": "ESNext", "skipLibCheck": true, - /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, "resolveJsonModule": true, @@ -17,7 +16,6 @@ "noEmit": true, "jsx": "react-jsx", - /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, diff --git a/biome.json b/biome.json index 7be3a0b8..4fcaf8f4 100644 --- a/biome.json +++ b/biome.json @@ -25,6 +25,9 @@ "performance": { "noAccumulatingSpread": "off" }, + "security": { + "noDangerouslySetInnerHtml": "off" + }, "suspicious": { "noConfusingVoidType": "off", "noExplicitAny": "off", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddbd91bd..a811e07d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,7 +59,7 @@ importers: version: 3.0.6 '@sanity/schema': specifier: ^3.52.4 - version: 3.55.0(debug@4.3.6) + version: 3.55.0 '@xstate/react': specifier: ^4.1.3 version: 4.1.3(@types/react@18.3.3)(react@18.3.1)(xstate@5.18.2) @@ -108,7 +108,7 @@ importers: devDependencies: '@sanity/types': specifier: ^3.55.0 - version: 3.55.0(debug@4.3.6) + version: 3.55.0 '@types/lodash.startcase': specifier: ^4.4.9 version: 4.4.9 @@ -124,27 +124,12 @@ importers: '@types/uuid': specifier: ^10.0.0 version: 10.0.0 - '@typescript-eslint/eslint-plugin': - specifier: ^8.2.0 - version: 8.2.0(@typescript-eslint/parser@8.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/parser': - specifier: ^8.2.0 - version: 8.2.0(eslint@8.57.0)(typescript@5.6.2) '@vitejs/plugin-react': specifier: ^4.3.1 version: 4.3.1(vite@5.4.2(@types/node@18.19.45)(terser@5.31.6)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.41) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-plugin-react-hooks: - specifier: ^4.6.2 - version: 4.6.2(eslint@8.57.0) - eslint-plugin-react-refresh: - specifier: ^0.4.9 - version: 0.4.9(eslint@8.57.0) postcss: specifier: ^8.4.41 version: 8.4.41 @@ -1417,24 +1402,6 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@floating-ui/core@1.6.7': resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} @@ -1471,19 +1438,6 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead - '@ianvs/prettier-plugin-sort-imports@4.3.1': resolution: {integrity: sha512-ZHwbyjkANZOjaBm3ZosADD2OUYGFzQGxfy67HmGZU94mHqe7g1LCMA7YYKB1Cq+UTPCBqlAYapY0KXAjKEw8Sg==} peerDependencies: @@ -2683,63 +2637,6 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} - '@typescript-eslint/eslint-plugin@8.2.0': - resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==} - 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@8.2.0': - resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==} - 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@8.2.0': - resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/type-utils@8.2.0': - resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@8.2.0': - resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/typescript-estree@8.2.0': - resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@8.2.0': - resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - - '@typescript-eslint/visitor-keys@8.2.0': - resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -2792,11 +2689,6 @@ packages: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} @@ -2830,9 +2722,6 @@ packages: ajv: optional: true - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} @@ -2891,9 +2780,6 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -3307,9 +3193,6 @@ packages: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -3380,10 +3263,6 @@ packages: dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -3479,59 +3358,15 @@ packages: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - escape-string-regexp@5.0.0: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - 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-refresh@0.4.9: - resolution: {integrity: sha512-QK49YrBAo5CLNLseZ7sZgvgTy21E6NEw22eZqc4teZfH8pxV3yXc9XXOYfUI6JNpw7mfHNkAeWtBxrTyykB6HA==} - peerDependencies: - eslint: '>=7' - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -3600,19 +3435,12 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} @@ -3649,13 +3477,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - follow-redirects@1.15.6: resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} @@ -3820,10 +3641,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -3841,9 +3658,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - groq-js@1.12.0: resolution: {integrity: sha512-XxMg2qX3iX+WlhCkj4FmrtDaQKRot9RyphJ0UsmxI/l2aMOdvjG7pqF003yyXppjoE0Vk1ERCDCUYRvC3w/A2Q==} engines: {node: '>= 14'} @@ -3948,10 +3762,6 @@ packages: immer@10.1.1: resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} @@ -4061,10 +3871,6 @@ packages: resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-path-inside@4.0.0: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} @@ -4293,10 +4099,6 @@ packages: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - jsdom@25.0.1: resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} @@ -4315,21 +4117,12 @@ packages: engines: {node: '>=4'} hasBin: true - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4341,9 +4134,6 @@ packages: jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -4356,10 +4146,6 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -4395,9 +4181,6 @@ packages: lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.startcase@4.4.0: resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} @@ -4663,10 +4446,6 @@ packages: oniguruma-to-js@0.4.3: resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -4705,10 +4484,6 @@ packages: package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} @@ -4865,10 +4640,6 @@ packages: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - prettier-plugin-gherkin@3.1.0: resolution: {integrity: sha512-3YXeJI2cEbVPOrLvjVgFACqmZ1d2gpTkyTn74OTAUXAH8F6E8v6SFSXFGiurWlW4hwbGBINKGNUbU3iDiIuT4g==} @@ -5122,10 +4893,6 @@ packages: resolution: {integrity: sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==} engines: {node: '>=0.10.0'} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -5489,9 +5256,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -5578,12 +5342,6 @@ packages: resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} engines: {node: '>=0.10.0'} - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -5644,18 +5402,10 @@ packages: resolution: {integrity: sha512-00JjdCMD/cpsjP0Izkjcm8Oaor5yUCfDwODtaLb+WyblyadkaDEisGhy3Dbd5az9n+5iLSPiUgf+WjPbns6MRg==} hasBin: true - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -5907,10 +5657,6 @@ packages: engines: {node: '>=8'} hasBin: true - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -7163,29 +6909,6 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.11.0': {} - - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.6 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@8.57.0': {} - '@floating-ui/core@1.6.7': dependencies: '@floating-ui/utils': 0.2.7 @@ -7233,18 +6956,6 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/object-schema@2.0.3': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(prettier@3.3.3)': dependencies: '@babel/core': 7.25.2 @@ -8686,6 +8397,14 @@ snapshots: '@sanity/browserslist-config@1.0.3': {} + '@sanity/client@6.21.3': + dependencies: + '@sanity/eventsource': 5.0.2 + get-it: 8.6.5 + rxjs: 7.8.1 + transitivePeerDependencies: + - debug + '@sanity/client@6.21.3(debug@4.3.6)': dependencies: '@sanity/eventsource': 5.0.2 @@ -8767,6 +8486,20 @@ snapshots: prettier: 3.3.3 prettier-plugin-packagejson: 2.5.2(prettier@3.3.3) + '@sanity/schema@3.55.0': + dependencies: + '@sanity/generate-help-url': 3.0.0 + '@sanity/types': 3.55.0 + arrify: 1.0.1 + groq-js: 1.12.0 + humanize-list: 1.0.1 + leven: 3.1.0 + lodash: 4.17.21 + object-inspect: 1.13.2 + transitivePeerDependencies: + - debug + - supports-color + '@sanity/schema@3.55.0(debug@4.3.6)': dependencies: '@sanity/generate-help-url': 3.0.0 @@ -8781,6 +8514,13 @@ snapshots: - debug - supports-color + '@sanity/types@3.55.0': + dependencies: + '@sanity/client': 6.21.3 + '@types/react': 18.3.3 + transitivePeerDependencies: + - debug + '@sanity/types@3.55.0(debug@4.3.6)': dependencies: '@sanity/client': 6.21.3(debug@4.3.6) @@ -9089,87 +8829,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.2.0(@typescript-eslint/parser@8.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2)': - dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.2.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.2.0 - '@typescript-eslint/type-utils': 8.2.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/utils': 8.2.0(eslint@8.57.0)(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.2.0 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.2.0(eslint@8.57.0)(typescript@5.6.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.2.0 - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.2.0 - debug: 4.3.6 - eslint: 8.57.0 - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@8.2.0': - dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 - - '@typescript-eslint/type-utils@8.2.0(eslint@8.57.0)(typescript@5.6.2)': - dependencies: - '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.2.0(eslint@8.57.0)(typescript@5.6.2) - debug: 4.3.6 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - eslint - - supports-color - - '@typescript-eslint/types@8.2.0': {} - - '@typescript-eslint/typescript-estree@8.2.0(typescript@5.6.2)': - dependencies: - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/visitor-keys': 8.2.0 - debug: 4.3.6 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.2.0(eslint@8.57.0)(typescript@5.6.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 8.2.0 - '@typescript-eslint/types': 8.2.0 - '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.6.2) - eslint: 8.57.0 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@8.2.0': - dependencies: - '@typescript-eslint/types': 8.2.0 - eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} '@vitejs/plugin-react@4.3.1(vite@5.4.2(@types/node@18.19.45)(terser@5.31.6))': @@ -9238,10 +8897,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - acorn-walk@8.3.3: dependencies: acorn: 8.12.1 @@ -9267,13 +8922,6 @@ snapshots: optionalDependencies: ajv: 8.13.0 - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 @@ -9329,8 +8977,6 @@ snapshots: dependencies: sprintf-js: 1.0.3 - argparse@2.0.1: {} - aria-query@5.3.0: dependencies: dequal: 2.0.3 @@ -9762,8 +9408,6 @@ snapshots: deep-extend@0.6.0: {} - deep-is@0.1.4: {} - deepmerge@4.3.1: {} define-data-property@1.1.4: @@ -9820,10 +9464,6 @@ snapshots: dlv@1.1.3: {} - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} @@ -9934,86 +9574,10 @@ snapshots: escape-string-regexp@2.0.0: {} - escape-string-regexp@4.0.0: {} - escape-string-regexp@5.0.0: {} - eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - - eslint-plugin-react-refresh@0.4.9(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - - eslint-scope@7.2.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint@8.57.0: - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.6 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - - espree@9.6.1: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - estree-walker@2.0.2: {} estree-walker@3.0.3: @@ -10126,8 +9690,6 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-levenshtein@2.0.6: {} - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -10136,10 +9698,6 @@ snapshots: dependencies: bser: 2.1.1 - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.2.0 - fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -10191,13 +9749,7 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - - flatted@3.3.1: {} + follow-redirects@1.15.6: {} follow-redirects@1.15.6(debug@4.3.6): optionalDependencies: @@ -10262,6 +9814,18 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.2 + get-it@8.6.5: + dependencies: + '@types/follow-redirects': 1.14.4 + '@types/progress-stream': 2.0.5 + decompress-response: 7.0.0 + follow-redirects: 1.15.6 + is-retry-allowed: 2.2.0 + progress-stream: 2.0.0 + tunnel-agent: 0.6.0 + transitivePeerDependencies: + - debug + get-it@8.6.5(debug@4.3.6): dependencies: '@types/follow-redirects': 1.14.4 @@ -10368,10 +9932,6 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -10397,8 +9957,6 @@ snapshots: graceful-fs@4.2.11: {} - graphemer@1.4.0: {} - groq-js@1.12.0: dependencies: debug: 4.3.6 @@ -10509,11 +10067,6 @@ snapshots: immer@10.1.1: {} - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-lazy@4.0.0: {} import-local@3.2.0: @@ -10600,8 +10153,6 @@ snapshots: is-path-cwd@3.0.0: {} - is-path-inside@3.0.3: {} - is-path-inside@4.0.0: {} is-plain-obj@1.1.0: {} @@ -11022,10 +10573,6 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - jsdom@25.0.1: dependencies: cssstyle: 4.1.0 @@ -11058,16 +10605,10 @@ snapshots: jsesc@2.5.2: {} - json-buffer@3.0.1: {} - json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} - json-schema-traverse@1.0.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -11076,21 +10617,12 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - kind-of@6.0.3: {} kleur@3.0.3: {} leven@3.1.0: {} - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - lilconfig@2.1.0: {} lilconfig@3.1.2: {} @@ -11136,8 +10668,6 @@ snapshots: lodash.debounce@4.0.8: {} - lodash.merge@4.6.2: {} - lodash.startcase@4.4.0: {} lodash@4.17.21: {} @@ -11380,15 +10910,6 @@ snapshots: dependencies: regex: 4.3.2 - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - os-homedir@1.0.2: {} outdent@0.8.0: {} @@ -11421,10 +10942,6 @@ snapshots: package-json-from-dist@1.0.0: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse-entities@2.0.0: dependencies: character-entities: 1.2.4 @@ -11559,8 +11076,6 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - prelude-ls@1.2.1: {} - prettier-plugin-gherkin@3.1.0: dependencies: '@cucumber/gherkin': 27.0.0 @@ -11919,8 +11434,6 @@ snapshots: expand-tilde: 1.2.2 global-modules: 0.2.3 - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -12352,8 +11865,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -12417,10 +11928,6 @@ snapshots: trim-right@1.0.1: {} - ts-api-utils@1.3.0(typescript@5.6.2): - dependencies: - typescript: 5.6.2 - ts-interface-checker@0.1.13: {} ts-node@10.9.2(@types/node@18.19.45)(typescript@5.6.2): @@ -12476,14 +11983,8 @@ snapshots: turbo-windows-64: 2.0.14 turbo-windows-arm64: 2.0.14 - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@0.21.3: {} type-fest@1.4.0: {} @@ -12719,8 +12220,6 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 - word-wrap@1.2.5: {} - wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0