diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 895b24e..29bdd96 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -7,7 +7,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_PREFIX: ghcr.io/arrhes/fec + IMAGE_PREFIX: ghcr.io/comptasse/fec jobs: build-and-push: @@ -55,7 +55,7 @@ jobs: VERSION: ${{ steps.version.outputs.version }} run: | SRC="fec:${VERSION}" - DEST="${IMAGE_PREFIX}/website" + DEST="${IMAGE_PREFIX}" docker tag "${SRC}" "${DEST}:${VERSION}" docker push "${DEST}:${VERSION}" diff --git a/LICENSE b/LICENSE index 1b19e53..29f53b1 100644 --- a/LICENSE +++ b/LICENSE @@ -629,8 +629,8 @@ to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - Arrhes - Open source double-entry accounting for French associations and SMEs. - Copyright (C) 2025 Arrhes + Comptasse - Open source double-entry accounting for French associations and SMEs. + Copyright (C) 2025 Comptasse This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by diff --git a/README.md b/README.md index 59dac19..6facf9f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # FEC [![Licence AGPL-3.0](https://img.shields.io/badge/licence-AGPL--3.0-blue.svg)](LICENSE) -[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/) -[![Node.js](https://img.shields.io/badge/Node.js-22-green.svg)](https://nodejs.org/) +[![TypeScript](https://img.shields.io/badge/TypeScript-7.0-blue.svg)](https://www.typescriptlang.org/) +[![Node.js](https://img.shields.io/badge/Node.js-24-green.svg)](https://nodejs.org/) Outil open source de validation de **Fichiers des Écritures Comptables** (FEC), conforme à l'[article A47 A-1 du Livre des procédures fiscales](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000027804775/). @@ -52,28 +52,28 @@ Monorepo pnpm avec deux packages : ``` packages/ engine/ Moteur de validation FEC (TypeScript pur, aucune dépendance navigateur) - website/ Interface web (React 19, Vite 7, PandaCSS, TanStack Router) + website/ Interface web (React 19, Vite 8, PandaCSS, TanStack Router) ``` -### `@arrhes/fec-engine` +### `@comptasse/fec-engine` Librairie TypeScript exportant les parseurs, validateurs et types FEC. Peut être utilisée indépendamment du site web. ```ts -import { validateFecFile } from "@arrhes/fec-engine" +import { validateFecFile } from "@comptasse/fec-engine" const result = validateFecFile(fileContent, "123456789FEC20240101.txt") // result.summary -> { errors: 0, warnings: 2, total: 19, lines: 1042 } // result.checks -> FecCheckResult[] ``` -### `@arrhes/fec-website` +### `@comptasse/fec-website` Application React avec validation côté client. Le fichier est lu via `File.text()` et passé au moteur de validation directement dans le navigateur. ## Prérequis -- [Node.js](https://nodejs.org/) >= 22 +- [Node.js](https://nodejs.org/) >= 24 - [pnpm](https://pnpm.io/) >= 10 - [Docker](https://docs.docker.com/get-docker/) et Docker Compose (pour le développement conteneurisé et le build de production) - [just](https://github.com/casey/just) (optionnel, raccourcis de commandes) @@ -82,7 +82,7 @@ Application React avec validation côté client. Le fichier est lu via `File.tex ```bash # Cloner le dépôt -git clone https://github.com/arrhes/fec.git +git clone https://github.com/comptasse/fec.git cd fec # Installer les dépendances @@ -143,10 +143,10 @@ Variables d'environnement requises (voir `workflows/build/.env.example`) : | Composant | Technologie | |-----------|-------------| -| Langage | TypeScript 5.9 | -| Runtime | Node.js 22 | +| Langage | TypeScript 7.0 | +| Runtime | Node.js 24 | | Frontend | React 19 | -| Bundler | Vite 7 | +| Bundler | Vite 8 | | Routeur | TanStack Router | | CSS | PandaCSS | | Tests | Vitest | diff --git a/VERSION b/VERSION index 81fd7ba..d4dfa56 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v0.2.0 \ No newline at end of file +v0.3.0 \ No newline at end of file diff --git a/biome.json b/biome.json index 0c6928f..676f07b 100644 --- a/biome.json +++ b/biome.json @@ -19,7 +19,7 @@ "linter": { "enabled": true, "rules": { - "recommended": true, + "preset": "recommended", "correctness": { "noUnusedImports": "warn", "useExhaustiveDependencies": "warn", diff --git a/package.json b/package.json index 4e39c62..23d2f18 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@arrhes/fec", + "name": "@comptasse/fec", "private": true, "license": "AGPL-3.0-only", "scripts": { @@ -15,11 +15,11 @@ "test:e2e": "playwright test --config=tests/playwright.config.ts" }, "devDependencies": { - "@biomejs/biome": "2.3.15", - "@playwright/test": "1.58.2", - "playwright": "1.58.2" + "@biomejs/biome": "2.5.14", + "@playwright/test": "1.63.0", + "playwright": "1.63.0" }, "workspaces": [ "./packages/*" ] -} \ No newline at end of file +} diff --git a/packages/engine/package.json b/packages/engine/package.json index f0052b3..126930d 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -1,5 +1,5 @@ { - "name": "@arrhes/fec-engine", + "name": "@comptasse/fec-engine", "type": "module", "private": true, "scripts": { @@ -9,14 +9,14 @@ "test:watch": "vitest" }, "devDependencies": { - "@types/node": "24.10.1", - "jsdom": "26.1.0", - "typescript": "5.9.3", - "vitest": "4.0.18" + "@types/node": "26.6.1", + "jsdom": "30.1.0", + "typescript": "7.0.2", + "vitest": "5.0.1" }, "dependencies": { - "nanoid": "5.1.6", - "valibot": "1.2.0" + "nanoid": "6.0.1", + "valibot": "1.5.0" }, "exports": { ".": { diff --git a/packages/engine/src/fec/checks.ts b/packages/engine/src/fec/checks.ts index a4ae9fa..1a9b3be 100644 --- a/packages/engine/src/fec/checks.ts +++ b/packages/engine/src/fec/checks.ts @@ -177,7 +177,7 @@ export function checkCompteNum(parsed: FecParsedFile): FecCheckResult[] { for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const value = entry["CompteNum"] + const value = entry.CompteNum if (value && value.length >= 3) { const first3 = value.substring(0, 3) if (!/^\d{3}$/.test(first3)) { @@ -267,8 +267,8 @@ export function checkDebitCredit(parsed: FecParsedFile): FecCheckResult[] { const entry = parsed.entries[i]! if (hasDebitCredit) { - const debit = entry["Debit"]?.trim() ?? "" - const credit = entry["Credit"]?.trim() ?? "" + const debit = entry.Debit?.trim() ?? "" + const credit = entry.Credit?.trim() ?? "" if (debit === "" && credit === "") { results.push({ id: "DEBIT_CREDIT", @@ -280,8 +280,8 @@ export function checkDebitCredit(parsed: FecParsedFile): FecCheckResult[] { } if (hasMontantSens) { - const montant = entry["Montant"]?.trim() ?? "" - const sens = entry["Sens"]?.trim() ?? "" + const montant = entry.Montant?.trim() ?? "" + const sens = entry.Sens?.trim() ?? "" if (montant === "" || sens === "") { results.push({ id: "DEBIT_CREDIT", @@ -307,7 +307,7 @@ export function checkSensValues(parsed: FecParsedFile): FecCheckResult[] { for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const value = entry["Sens"] + const value = entry.Sens if (value && value.trim() !== "" && !validValues.has(value.trim())) { results.push({ id: "SENS_VALUES", @@ -341,7 +341,7 @@ export function checkChronologicalOrder(parsed: FecParsedFile): FecCheckResult[] for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const validDate = entry["ValidDate"] ?? "" + const validDate = entry.ValidDate ?? "" if (validDate && previousDate && validDate < previousDate) { results.push({ @@ -371,7 +371,7 @@ export function checkEcritureNumSequence(parsed: FecParsedFile): FecCheckResult[ const nums: string[] = [] for (const entry of parsed.entries) { - const num = entry["EcritureNum"] ?? "" + const num = entry.EcritureNum ?? "" if (num && !seen.has(num)) { seen.add(num) nums.push(num) @@ -408,8 +408,8 @@ export function checkOpeningEntries(parsed: FecParsedFile): FecCheckResult[] { // Opening entries typically use journal code starting with "AN", "OD" or "RAN" // or the EcritureLib contains "a-nouveau" / "a nouveau" / "report" const first = parsed.entries[0]! - const journalCode = (first["JournalCode"] ?? "").toUpperCase() - const lib = (first["EcritureLib"] ?? "").toLowerCase() + const journalCode = (first.JournalCode ?? "").toUpperCase() + const lib = (first.EcritureLib ?? "").toLowerCase() const isOpeningJournal = journalCode === "AN" || journalCode === "RAN" || journalCode === "OD" || journalCode.startsWith("AN") @@ -448,7 +448,7 @@ export function checkDebitCreditBalance(parsed: FecParsedFile): FecCheckResult[] for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const num = entry["EcritureNum"] ?? "" + const num = entry.EcritureNum ?? "" if (!num) continue if (!groups.has(num)) { @@ -456,8 +456,8 @@ export function checkDebitCreditBalance(parsed: FecParsedFile): FecCheckResult[] } const group = groups.get(num)! - const debit = parseDecimal(entry["Debit"] ?? "") - const credit = parseDecimal(entry["Credit"] ?? "") + const debit = parseDecimal(entry.Debit ?? "") + const credit = parseDecimal(entry.Credit ?? "") group.debit += debit group.credit += credit } @@ -553,8 +553,8 @@ export function checkPieceDateCoherence(parsed: FecParsedFile): FecCheckResult[] for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const pieceDate = entry["PieceDate"] ?? "" - const ecritureDate = entry["EcritureDate"] ?? "" + const pieceDate = entry.PieceDate ?? "" + const ecritureDate = entry.EcritureDate ?? "" if ( pieceDate && @@ -629,8 +629,8 @@ export function checkDebitCreditExclusive(parsed: FecParsedFile): FecCheckResult for (let i = 0; i < parsed.entries.length; i++) { const entry = parsed.entries[i]! - const debitStr = entry["Debit"]?.trim() ?? "" - const creditStr = entry["Credit"]?.trim() ?? "" + const debitStr = entry.Debit?.trim() ?? "" + const creditStr = entry.Credit?.trim() ?? "" // Only check lines where both fields have valid numeric values if (debitStr === "" || creditStr === "") continue diff --git a/packages/engine/src/fec/index.ts b/packages/engine/src/fec/index.ts index 4b859f1..dac01b5 100644 --- a/packages/engine/src/fec/index.ts +++ b/packages/engine/src/fec/index.ts @@ -1,44 +1,41 @@ -export type { - FecCheckSeverity, - FecCheckResult, - FecValidationSummary, - FecValidationResult, - FecColumnDefinition, - FecEntry, - FecParsedFile, - FecParsedLineIssue, -} from "./types.js" - -export { BIC_COLUMNS, BIC_COLUMN_NAMES } from "./types.js" - -export { parseFlatFile } from "./parseFlatFile.js" -export { parseXmlFile } from "./parseXmlFile.js" -export { validateFecFile } from "./validate.js" - export { - checkFileName, - checkHeaderPresence, - checkColumnOrder, + checkChronologicalOrder, checkColumnCount, - checkSeparator, - checkDateFormat, - checkNumericFormat, + checkColumnOrder, checkCompteNum, - checkMandatoryFields, + checkDateFormat, + checkDateValidity, + checkDateYearRange, checkDebitCredit, - checkSensValues, - checkChronologicalOrder, - checkEcritureNumSequence, - checkOpeningEntries, checkDebitCreditBalance, - checkEncoding, + checkDebitCreditExclusive, + checkEcritureNumSequence, checkEmptyFile, - checkDateValidity, - checkPieceDateCoherence, - checkFieldCountMismatch, checkEmptyLines, - checkDebitCreditExclusive, + checkEncoding, + checkFieldCountMismatch, + checkFileName, + checkHeaderPresence, + checkMandatoryFields, checkNumericDotSeparator, + checkNumericFormat, checkNumericThousandsSeparator, - checkDateYearRange, + checkOpeningEntries, + checkPieceDateCoherence, + checkSensValues, + checkSeparator, } from "./checks.js" +export { parseFlatFile } from "./parseFlatFile.js" +export { parseXmlFile } from "./parseXmlFile.js" +export type { + FecCheckResult, + FecCheckSeverity, + FecColumnDefinition, + FecEntry, + FecParsedFile, + FecParsedLineIssue, + FecValidationResult, + FecValidationSummary, +} from "./types.js" +export { BIC_COLUMN_NAMES, BIC_COLUMNS } from "./types.js" +export { validateFecFile } from "./validate.js" diff --git a/packages/engine/src/fec/parseFlatFile.ts b/packages/engine/src/fec/parseFlatFile.ts index 8288130..c7d37a6 100644 --- a/packages/engine/src/fec/parseFlatFile.ts +++ b/packages/engine/src/fec/parseFlatFile.ts @@ -1,6 +1,6 @@ import type { FecEntry, FecParsedFile, FecParsedLineIssue } from "./types.js" -export function parseFlatFile(content: string, fileName: string): FecParsedFile { +export function parseFlatFile(content: string, _fileName: string): FecParsedFile { // Split lines, handling both \r\n and \n const lines = content.split(/\r?\n/) diff --git a/packages/engine/src/fec/parseXmlFile.ts b/packages/engine/src/fec/parseXmlFile.ts index 76cd8f4..2d3f65e 100644 --- a/packages/engine/src/fec/parseXmlFile.ts +++ b/packages/engine/src/fec/parseXmlFile.ts @@ -44,7 +44,7 @@ function convertMontantSens(montant: string, sens: string): { debit: string; cre return { debit: "", credit: "" } } -export function parseXmlFile(content: string, fileName: string): FecParsedFile { +export function parseXmlFile(content: string, _fileName: string): FecParsedFile { const parser = new DOMParser() const doc = parser.parseFromString(content, "application/xml") diff --git a/packages/engine/src/fec/validate.ts b/packages/engine/src/fec/validate.ts index 8e8dd3b..3052657 100644 --- a/packages/engine/src/fec/validate.ts +++ b/packages/engine/src/fec/validate.ts @@ -1,33 +1,33 @@ -import type { FecParsedFile, FecValidationResult } from "./types.js" -import { parseFlatFile } from "./parseFlatFile.js" -import { parseXmlFile } from "./parseXmlFile.js" import { - checkFileName, - checkHeaderPresence, - checkColumnOrder, + checkChronologicalOrder, checkColumnCount, - checkSeparator, - checkDateFormat, - checkNumericFormat, + checkColumnOrder, checkCompteNum, - checkMandatoryFields, + checkDateFormat, + checkDateValidity, + checkDateYearRange, checkDebitCredit, - checkSensValues, - checkChronologicalOrder, - checkEcritureNumSequence, - checkOpeningEntries, checkDebitCreditBalance, - checkEncoding, + checkDebitCreditExclusive, + checkEcritureNumSequence, checkEmptyFile, - checkDateValidity, - checkPieceDateCoherence, - checkFieldCountMismatch, checkEmptyLines, - checkDebitCreditExclusive, + checkEncoding, + checkFieldCountMismatch, + checkFileName, + checkHeaderPresence, + checkMandatoryFields, checkNumericDotSeparator, + checkNumericFormat, checkNumericThousandsSeparator, - checkDateYearRange, + checkOpeningEntries, + checkPieceDateCoherence, + checkSensValues, + checkSeparator, } from "./checks.js" +import { parseFlatFile } from "./parseFlatFile.js" +import { parseXmlFile } from "./parseXmlFile.js" +import type { FecParsedFile, FecValidationResult } from "./types.js" function detectFileType(fileName: string, content: string): "flat" | "xml" { const lower = fileName.toLowerCase() diff --git a/packages/engine/src/index.ts b/packages/engine/src/index.ts index c5c3eb1..5acd177 100644 --- a/packages/engine/src/index.ts +++ b/packages/engine/src/index.ts @@ -1,2 +1,2 @@ -export * from "./utilities/index.js"; -export * from "./fec/index.js"; +export * from "./fec/index.js" +export * from "./utilities/index.js" diff --git a/packages/website/package.json b/packages/website/package.json index bfec9a2..0bbea32 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,5 +1,5 @@ { - "name": "@arrhes/fec-website", + "name": "@comptasse/fec-website", "type": "module", "private": false, "scripts": { @@ -11,29 +11,29 @@ "test:unit": "vitest run ../../tests/website/unit" }, "devDependencies": { - "@pandacss/dev": "1.8.1", - "@types/node": "24.10.1", - "@types/react": "19.2.7", - "@types/react-dom": "19.2.3", - "@vitejs/plugin-react": "5.1.1", - "@vitest/browser": "4.0.18", - "playwright": "1.58.2", - "typescript": "5.9.3", - "vite": "7.2.4", - "vitest": "4.0.18" + "@pandacss/dev": "1.12.1", + "@types/node": "26.6.1", + "@types/react": "19.3.0", + "@types/react-dom": "19.3.0", + "@vitejs/plugin-react": "6.1.1", + "@vitest/browser": "5.0.1", + "playwright": "1.63.0", + "typescript": "7.0.2", + "vite": "8.3.0", + "vitest": "5.0.1" }, "dependencies": { - "@arrhes/fec-engine": "workspace:*", - "@hookform/resolvers": "5.2.2", - "@tabler/icons-react": "3.35.0", - "@tanstack/react-router": "1.139.10", - "@tanstack/react-table": "8.21.3", - "@tanstack/react-virtual": "3.13.12", - "react": "19.2.0", - "react-dom": "19.2.0", - "react-hook-form": "7.66.1", + "@comptasse/fec-engine": "workspace:*", + "@hookform/resolvers": "5.9.1", + "@tabler/icons-react": "3.46.0", + "@tanstack/react-router": "1.170.38", + "@tanstack/react-table": "9.2.4", + "@tanstack/react-virtual": "3.14.13", + "react": "19.3.0", + "react-dom": "19.3.0", + "react-hook-form": "7.88.0", "react-imask": "7.6.1", - "valibot": "1.2.0" + "valibot": "1.5.0" }, "browserslist": { "production": [ @@ -48,4 +48,4 @@ "last 1 safari version" ] } -} \ No newline at end of file +} diff --git a/packages/website/public/llms.txt b/packages/website/public/llms.txt index 9fe6878..e53bbc2 100644 --- a/packages/website/public/llms.txt +++ b/packages/website/public/llms.txt @@ -1,8 +1,8 @@ -# Arrhes FEC +# Comptasse FEC -> Arrhes FEC est un outil gratuit et open source de validation de Fichiers des Écritures Comptables (FEC) conforme à l'article A47 A-1 du Livre des procédures fiscales. +> Comptasse FEC est un outil gratuit et open source de validation de Fichiers des Écritures Comptables (FEC) conforme à l'article A47 A-1 du Livre des procédures fiscales. -Arrhes FEC est accessible à l'adresse https://fec.arrhes.com. L'ensemble du traitement est effectué localement dans le navigateur - aucune donnée n'est transmise à un serveur. +Comptasse FEC est accessible à l'adresse https://fec.comptasse.com. L'ensemble du traitement est effectué localement dans le navigateur - aucune donnée n'est transmise à un serveur. ## Fonctionnalités @@ -16,13 +16,13 @@ Arrhes FEC est accessible à l'adresse https://fec.arrhes.com. L'ensemble du tra ## Éditeur -Arrhes FEC est édité par Barbote SAS, société par actions simplifiée immatriculée au RCS sous le numéro 908 719 503. +Comptasse FEC est édité par Barbote SAS, société par actions simplifiée immatriculée au RCS sous le numéro 908 719 503. - Siège social : 93 rue Sedaine, 75011 Paris, France -- Contact : contact@arrhes.com +- Contact : contact@comptasse.com ## Liens -- [Accueil](https://fec.arrhes.com): Page d'accueil et outil de validation FEC -- [Mentions légales](https://fec.arrhes.com/mentions-legales): Informations légales et politique de confidentialité -- [Code source](https://github.com/arrhes): Dépôt GitHub du projet (licence AGPL-3.0) +- [Accueil](https://fec.comptasse.com): Page d'accueil et outil de validation FEC +- [Mentions légales](https://fec.comptasse.com/mentions-legales): Informations légales et politique de confidentialité +- [Code source](https://github.com/comptasse): Dépôt GitHub du projet (licence AGPL-3.0) diff --git a/packages/website/public/robots.txt b/packages/website/public/robots.txt index 3cac576..356fea9 100644 --- a/packages/website/public/robots.txt +++ b/packages/website/public/robots.txt @@ -2,4 +2,4 @@ User-agent: * Allow: / Disallow: /assets/ -Sitemap: https://fec.arrhes.com/sitemap.xml +Sitemap: https://fec.comptasse.com/sitemap.xml diff --git a/packages/website/public/sitemap.xml b/packages/website/public/sitemap.xml index e2c59d7..93fcc48 100644 --- a/packages/website/public/sitemap.xml +++ b/packages/website/public/sitemap.xml @@ -1,13 +1,13 @@ - https://fec.arrhes.com/ + https://fec.comptasse.com/ 2026-03-24 monthly 1.0 - https://fec.arrhes.com/mentions-legales + https://fec.comptasse.com/mentions-legales 2026-03-23 yearly 0.3 diff --git a/packages/website/src/components/buttons/buttonContent.tsx b/packages/website/src/components/buttons/buttonContent.tsx index f4a1e5a..f93308a 100644 --- a/packages/website/src/components/buttons/buttonContent.tsx +++ b/packages/website/src/components/buttons/buttonContent.tsx @@ -19,7 +19,7 @@ export type ButtonContentProps = { className?: string } -export function renderButtonContent( +export function useRenderButtonContent( props: ButtonContentProps, classes: Partial>, ) { diff --git a/packages/website/src/components/buttons/buttonGhostContent.tsx b/packages/website/src/components/buttons/buttonGhostContent.tsx index 47b45c5..575ca45 100644 --- a/packages/website/src/components/buttons/buttonGhostContent.tsx +++ b/packages/website/src/components/buttons/buttonGhostContent.tsx @@ -1,5 +1,5 @@ import { sva } from "../../../styled-system/css/sva" -import { type ButtonContentProps, renderButtonContent } from "./buttonContent" +import { type ButtonContentProps, useRenderButtonContent } from "./buttonContent" const ghostRecipe = sva({ slots: ["container", "leftIcon", "text", "rightIcon"], @@ -88,5 +88,5 @@ const ghostRecipe = sva({ export function ButtonGhostContent(props: ButtonContentProps) { const classes = ghostRecipe({ color: props.color ?? "neutral" }) - return renderButtonContent(props, classes) + return useRenderButtonContent(props, classes) } diff --git a/packages/website/src/components/buttons/buttonOutlineContent.tsx b/packages/website/src/components/buttons/buttonOutlineContent.tsx index d47bbaa..d8625eb 100644 --- a/packages/website/src/components/buttons/buttonOutlineContent.tsx +++ b/packages/website/src/components/buttons/buttonOutlineContent.tsx @@ -1,5 +1,5 @@ import { sva } from "../../../styled-system/css/sva" -import { type ButtonContentProps, renderButtonContent } from "./buttonContent" +import { type ButtonContentProps, useRenderButtonContent } from "./buttonContent" const outlineRecipe = sva({ slots: ["container", "leftIcon", "text", "rightIcon"], @@ -83,5 +83,5 @@ const outlineRecipe = sva({ export function ButtonOutlineContent(props: ButtonContentProps) { const classes = outlineRecipe({ color: props.color ?? "neutral" }) - return renderButtonContent(props, classes) + return useRenderButtonContent(props, classes) } diff --git a/packages/website/src/components/buttons/buttonPlainContent.tsx b/packages/website/src/components/buttons/buttonPlainContent.tsx index c207647..09d27a4 100644 --- a/packages/website/src/components/buttons/buttonPlainContent.tsx +++ b/packages/website/src/components/buttons/buttonPlainContent.tsx @@ -1,5 +1,5 @@ import { sva } from "../../../styled-system/css/sva" -import { type ButtonContentProps, renderButtonContent } from "./buttonContent" +import { type ButtonContentProps, useRenderButtonContent } from "./buttonContent" const plainRecipe = sva({ slots: ["container", "leftIcon", "text", "rightIcon"], @@ -77,5 +77,5 @@ const plainRecipe = sva({ export function ButtonPlainContent(props: ButtonContentProps) { const classes = plainRecipe({ color: props.color ?? "neutral" }) - return renderButtonContent(props, classes) + return useRenderButtonContent(props, classes) } diff --git a/packages/website/src/components/buttons/linkButton.tsx b/packages/website/src/components/buttons/linkButton.tsx index 07ef5c9..74f6aab 100644 --- a/packages/website/src/components/buttons/linkButton.tsx +++ b/packages/website/src/components/buttons/linkButton.tsx @@ -1,4 +1,4 @@ -import { Link, LinkOptions } from "@tanstack/react-router" +import { Link, type LinkOptions } from "@tanstack/react-router" import type { ComponentProps, MouseEventHandler, ReactNode } from "react" import { css } from "../../../styled-system/css/css" import { cx } from "../../../styled-system/css/cx" diff --git a/packages/website/src/components/layouts/logo.tsx b/packages/website/src/components/layouts/logo.tsx index 71d220e..3358dc0 100644 --- a/packages/website/src/components/layouts/logo.tsx +++ b/packages/website/src/components/layouts/logo.tsx @@ -1,7 +1,7 @@ -import type { ComponentProps } from "react"; -import { css } from "../../../styled-system/css/css"; -import { cx } from "../../../styled-system/css/cx"; -import { token } from "../../../styled-system/tokens/index"; +import type { ComponentProps } from "react" +import { css } from "../../../styled-system/css/css" +import { cx } from "../../../styled-system/css/cx" +import { token } from "../../../styled-system/tokens/index" export function Logo(props: { size?: number; className?: ComponentProps<"svg">["className"] }) { return ( @@ -17,7 +17,7 @@ export function Logo(props: { size?: number; className?: ComponentProps<"svg">[" css({ padding: "0.125rem", }), - props.className + props.className, )} > diff --git a/packages/website/src/contexts/rootProvider.tsx b/packages/website/src/contexts/rootProvider.tsx index 244a4ce..1d7a3c9 100644 --- a/packages/website/src/contexts/rootProvider.tsx +++ b/packages/website/src/contexts/rootProvider.tsx @@ -1,18 +1,16 @@ -import { Fragment, Suspense } from "react" +import { Suspense } from "react" import { RouterProvider } from "./router/routerProvider.js" export function RootProvider() { return ( - - - Chargement... - - } - > - - - + + Chargement... + + } + > + + ) } diff --git a/packages/website/src/features/home/checkItem.tsx b/packages/website/src/features/home/checkItem.tsx index f5dc5a3..172ede2 100644 --- a/packages/website/src/features/home/checkItem.tsx +++ b/packages/website/src/features/home/checkItem.tsx @@ -1,7 +1,6 @@ -import type { FecCheckResult } from "@arrhes/fec-engine" +import type { FecCheckResult } from "@comptasse/fec-engine" import { css } from "../../../styled-system/css/css" - export function CheckItem({ check }: { check: FecCheckResult }) { const isError = check.severity === "error" @@ -16,7 +15,7 @@ export function CheckItem({ check }: { check: FecCheckResult }) { borderBottomColor: "neutral/5", _last: { borderBottom: "none", - } + }, })} > {/* Severity indicator */} diff --git a/packages/website/src/features/home/homeLayout.tsx b/packages/website/src/features/home/homeLayout.tsx index 145f08f..93b8c75 100644 --- a/packages/website/src/features/home/homeLayout.tsx +++ b/packages/website/src/features/home/homeLayout.tsx @@ -13,7 +13,6 @@ export function HomeLayout() { minHeight: "100%", display: "flex", flexDirection: "column", - backgroundColor: "background", })} > {/* ------------------------------------------------------------------ */} @@ -52,23 +51,17 @@ export function HomeLayout() { gap: "0.5rem", })} > - - } - text="Arrhes" - /> + + } text="Comptasse" /> - - / - + / - + } - text="Fichier des Écritures Comptables" /> + text="Fichier des Écritures Comptables" + /> @@ -79,7 +72,7 @@ export function HomeLayout() { gap: "0.5rem", })} > - + } /> @@ -88,12 +81,13 @@ export function HomeLayout() {
diff --git a/packages/website/src/features/home/homePage.tsx b/packages/website/src/features/home/homePage.tsx index c43dc1f..a5dcb23 100644 --- a/packages/website/src/features/home/homePage.tsx +++ b/packages/website/src/features/home/homePage.tsx @@ -1,5 +1,5 @@ -import type { FecValidationResult } from "@arrhes/fec-engine" -import { validateFecFile } from "@arrhes/fec-engine" +import type { FecValidationResult } from "@comptasse/fec-engine" +import { validateFecFile } from "@comptasse/fec-engine" import { Fragment, useCallback, useRef, useState } from "react" import { css } from "../../../styled-system/css/css" import { LinkContent } from "../../components/buttons/linkContent.tsx" @@ -168,8 +168,8 @@ export function HomePage() { isProcessing ? undefined : (e) => { - if (e.key === "Enter" || e.key === " ") handleClick() - } + if (e.key === "Enter" || e.key === " ") handleClick() + } } onDragOver={isProcessing ? undefined : handleDragOver} onDragLeave={isProcessing ? undefined : handleDragLeave} @@ -358,8 +358,8 @@ export function HomePage() { lineHeight: "1.6", })} > - Votre fichier est analysé directement dans votre navigateur. - Aucune donnée n'est envoyée à un serveur. + Votre fichier est analysé directement dans votre navigateur. Aucune donnée n'est envoyée + à un serveur.

@@ -392,7 +392,15 @@ export function HomePage() { lineHeight: "1.6", })} > - Les vérifications sont basées sur l'article A47 A-1 du Livre des procédures fiscales. + Les vérifications sont basées sur l' + + article A47 A-1 du Livre des procédures fiscales + + .

@@ -425,8 +433,11 @@ export function HomePage() { lineHeight: "1.6", })} > - Le code source est disponible sur GitHub. - sous licence AGPL-3.0. + Le code source est disponible sur{" "} + + GitHub + + . sous licence AGPL-3.0.

diff --git a/packages/website/src/features/home/resultSummary.tsx b/packages/website/src/features/home/resultSummary.tsx index 2031ee6..79189e5 100644 --- a/packages/website/src/features/home/resultSummary.tsx +++ b/packages/website/src/features/home/resultSummary.tsx @@ -1,8 +1,7 @@ -import type { FecValidationResult } from "@arrhes/fec-engine" +import type { FecValidationResult } from "@comptasse/fec-engine" import { css } from "../../../styled-system/css/css" import { CheckItem } from "./checkItem.tsx" - export function ResultSummary({ result }: { result: FecValidationResult }) { const hasErrors = result.summary.errors > 0 @@ -100,7 +99,9 @@ export function ResultSummary({ result }: { result: FecValidationResult }) { color: "neutral/60", })} > - {result.summary.errors} erreur{result.summary.errors > 1 ? "s" : ""}, {result.summary.warnings} avertissement{result.summary.warnings > 1 ? "s" : ""} sur {result.summary.lines} ligne{result.summary.lines > 1 ? "s" : ""} analysée{result.summary.lines > 1 ? "s" : ""} + {result.summary.errors} erreur{result.summary.errors > 1 ? "s" : ""}, {result.summary.warnings}{" "} + avertissement{result.summary.warnings > 1 ? "s" : ""} sur {result.summary.lines} ligne + {result.summary.lines > 1 ? "s" : ""} analysée{result.summary.lines > 1 ? "s" : ""}

{!hasErrors && ( diff --git a/packages/website/src/features/legal/legalPage.tsx b/packages/website/src/features/legal/legalPage.tsx index 8503968..5521df5 100644 --- a/packages/website/src/features/legal/legalPage.tsx +++ b/packages/website/src/features/legal/legalPage.tsx @@ -39,7 +39,7 @@ export function LegalPage() { Mentions légales

- Informations légales relatives au service Arrhes FEC. + Informations légales relatives au service Comptasse FEC.

@@ -48,18 +48,28 @@ export function LegalPage() { Éditeur du site

- Le service Arrhes FEC est édité par Barbote SAS, société par actions simplifiée, immatriculée au Registre du Commerce et des Sociétés sous le numéro 908 719 503. + Le service Comptasse FEC est édité par Barbote SAS, société par + actions simplifiée, immatriculée au Registre du Commerce et des + Sociétés sous le numéro 908 719 503.

-
    + @@ -70,9 +80,18 @@ export function LegalPage() { Hébergement

    - Le site est hébergé par OVH SAS, immatriculée au RCS Lille Métropole sous le numéro 424 761 419 00045. + Le site est hébergé par OVH SAS, immatriculée au RCS Lille Métropole + sous le numéro 424 761 419 00045.

    -
      +
      • Siège social : 2 rue Kellermann, 59100 Roubaix, France
      • Téléphone : 1007
      @@ -83,7 +102,7 @@ export function LegalPage() { Propriété intellectuelle

      - Le code source d'Arrhes FEC est distribué sous licence{" "} + Le code source d'Comptasse FEC est distribué sous licence{" "} AGPL-3.0 - . Le code source est disponible sur{" "} + + . Le code source est disponible sur{" "} GitHub - . - Les contenus éditoriaux du service restent la propriété de l'éditeur, sauf mention contraire. + + . Les contenus éditoriaux du service restent la propriété de + l'éditeur, sauf mention contraire.

      @@ -109,11 +130,24 @@ export function LegalPage() { Protection des données et vie privée

      - Arrhes FEC est un outil de validation de Fichiers des Écritures Comptables qui fonctionne entièrement en local, dans votre navigateur. Aucune donnée de votre fichier FEC n'est envoyée vers un serveur. + Comptasse FEC est un outil de validation de Fichiers des Écritures Comptables qui + fonctionne entièrement en local, dans votre navigateur. Aucune donnée de votre + fichier FEC n'est envoyée vers un serveur.

      -
        +
        • L'ensemble du traitement est effectué localement dans votre navigateur
        • -
        • Aucune donnée de fichier FEC n'est transmise, stockée ou journalisée sur un serveur
        • +
        • + Aucune donnée de fichier FEC n'est transmise, stockée ou journalisée + sur un serveur +
        • Aucune donnée personnelle n'est collectée
        • Aucun cookie n'est utilisé, y compris les cookies fonctionnels
        • Aucun outil d'analyse ou de suivi (analytics, tracking) n'est mis en œuvre
        • @@ -122,11 +156,10 @@ export function LegalPage() {
          -

          - Cookies -

          +

          Cookies

          - Aucun cookie n'est utilisé par ce service. Arrhes FEC ne dépose aucun cookie, qu'il soit fonctionnel, analytique ou publicitaire. + Aucun cookie n'est utilisé par ce service. Comptasse FEC ne dépose aucun cookie, + qu'il soit fonctionnel, analytique ou publicitaire.

          @@ -135,7 +168,11 @@ export function LegalPage() { Limitation de responsabilité

          - Les résultats de validation fournis par Arrhes FEC le sont à titre informatif uniquement et ne constituent en aucun cas un conseil fiscal ou comptable. L'éditeur ne saurait être tenu responsable des erreurs ou omissions dans les résultats de validation. Il est recommandé de vérifier vos fichiers FEC avec les outils officiels de la{" "} + Les résultats de validation fournis par Comptasse FEC le sont à titre informatif + uniquement et ne constituent en aucun cas un conseil fiscal ou comptable. L'éditeur ne + saurait être tenu responsable des erreurs ou omissions dans les résultats de + validation. Il est recommandé de vérifier vos fichiers FEC avec les outils + officiels de la{" "} DGFiP - . + + .

          @@ -157,7 +195,11 @@ export function LegalPage() { > ← Retour à l'accueil diff --git a/packages/website/src/features/notFound/notFoundPage.tsx b/packages/website/src/features/notFound/notFoundPage.tsx index a156819..724354b 100644 --- a/packages/website/src/features/notFound/notFoundPage.tsx +++ b/packages/website/src/features/notFound/notFoundPage.tsx @@ -1,5 +1,5 @@ -import { css } from "../../../styled-system/css/css" import { Link } from "@tanstack/react-router" +import { css } from "../../../styled-system/css/css" export function NotFoundPage() { return ( diff --git a/packages/website/src/features/rootLayout.tsx b/packages/website/src/features/rootLayout.tsx index 1c70bed..8ffe78f 100644 --- a/packages/website/src/features/rootLayout.tsx +++ b/packages/website/src/features/rootLayout.tsx @@ -1,5 +1,5 @@ -import { css } from "../../styled-system/css/css" import { Outlet } from "@tanstack/react-router" +import { css } from "../../styled-system/css/css" export function RootLayout() { return ( diff --git a/packages/website/src/index.html b/packages/website/src/index.html index 3d46b52..20cf165 100644 --- a/packages/website/src/index.html +++ b/packages/website/src/index.html @@ -7,43 +7,43 @@ - + - + - FEC - Validation gratuite de Fichier des Écritures Comptables - Arrhes + FEC - Validation gratuite de Fichier des Écritures Comptables - Comptasse - - + + - + - + - + - + + content="FEC - Comptasse - Outil de validation de Fichier des Écritures Comptables" /> diff --git a/packages/website/src/routes/root/home/homeLayoutRoute.tsx b/packages/website/src/routes/root/home/homeLayoutRoute.tsx index 19d9719..44fe6bd 100644 --- a/packages/website/src/routes/root/home/homeLayoutRoute.tsx +++ b/packages/website/src/routes/root/home/homeLayoutRoute.tsx @@ -10,6 +10,6 @@ export const homeLayoutRoute = createRoute({ Chargement... ), - beforeLoad: () => { }, + beforeLoad: () => {}, component: () => , }) diff --git a/packages/website/src/routes/root/home/homeRootRoute.tsx b/packages/website/src/routes/root/home/homeRootRoute.tsx index a12e0e8..9e45161 100644 --- a/packages/website/src/routes/root/home/homeRootRoute.tsx +++ b/packages/website/src/routes/root/home/homeRootRoute.tsx @@ -6,7 +6,7 @@ export const homeRootRoute = createRoute({ getParentRoute: () => homeLayoutRoute, path: "/", beforeLoad: () => ({ - title: "FEC - Arrhes", + title: "FEC - Comptasse", description: "Validez votre Fichier des Écritures Comptables (FEC) selon l'article A47 A-1 du Livre des procédures fiscales. Gratuit, open source, 100\u00a0% local.", }), diff --git a/packages/website/src/routes/root/legal/legalRoute.tsx b/packages/website/src/routes/root/legal/legalRoute.tsx index 79919ea..f05096d 100644 --- a/packages/website/src/routes/root/legal/legalRoute.tsx +++ b/packages/website/src/routes/root/legal/legalRoute.tsx @@ -7,8 +7,7 @@ export const legalRoute = createRoute({ path: "/mentions-legales", beforeLoad: () => ({ title: "Mentions légales", - description: - "Mentions légales et politique de confidentialité du service Arrhes FEC.", + description: "Mentions légales et politique de confidentialité du service Comptasse FEC.", }), component: () => , }) diff --git a/packages/website/src/routes/rootLayoutRoute.tsx b/packages/website/src/routes/rootLayoutRoute.tsx index a1ea67b..ac299dc 100644 --- a/packages/website/src/routes/rootLayoutRoute.tsx +++ b/packages/website/src/routes/rootLayoutRoute.tsx @@ -4,10 +4,10 @@ import { RootLayout } from "../features/rootLayout.js" const DEFAULT_DESCRIPTION = "Validez votre Fichier des Écritures Comptables (FEC) selon l'article A47 A-1 du Livre des procédures fiscales. Gratuit, open source, 100\u00a0% local." -const SITE_NAME = "FEC - Arrhes" -const BASE_URL = "https://fec.arrhes.com" +const SITE_NAME = "FEC - Comptasse" +const BASE_URL = "https://fec.comptasse.com" const OG_IMAGE_URL = `${BASE_URL}/og.png` -const OG_IMAGE_ALT = "FEC - Arrhes - Outil de validation de Fichier des Écritures Comptables" +const OG_IMAGE_ALT = "FEC - Comptasse - Outil de validation de Fichier des Écritures Comptables" export const rootLayoutRoute = createRootRouteWithContext<{ title: string | undefined @@ -19,7 +19,7 @@ export const rootLayoutRoute = createRootRouteWithContext<{ Chargement... ), - beforeLoad: (_ctx) => { }, + beforeLoad: (_ctx) => {}, component: () => { const matches = useRouterState({ select: (s) => s.matches }) const pathname = useRouterState({ select: (s) => s.location.pathname }) @@ -40,66 +40,66 @@ export const rootLayoutRoute = createRootRouteWithContext<{ // JSON-LD: WebSite (homepage only) const websiteJsonLd = isHomePage ? { - "@context": "https://schema.org", - "@type": "WebSite", - name: SITE_NAME, - url: BASE_URL, - description: DEFAULT_DESCRIPTION, - inLanguage: "fr-FR", - publisher: { - "@type": "Organization", - name: "Barbote SAS", - url: "https://arrhes.com", - }, - } + "@context": "https://schema.org", + "@type": "WebSite", + name: SITE_NAME, + url: BASE_URL, + description: DEFAULT_DESCRIPTION, + inLanguage: "fr-FR", + publisher: { + "@type": "Organization", + name: "Barbote SAS", + url: "https://comptasse.com", + }, + } : null // JSON-LD: SoftwareApplication (homepage only) const softwareJsonLd = isHomePage ? { - "@context": "https://schema.org", - "@type": "SoftwareApplication", - name: SITE_NAME, - url: BASE_URL, - applicationCategory: "BusinessApplication", - operatingSystem: "Web", - description: DEFAULT_DESCRIPTION, - inLanguage: "fr-FR", - license: "https://www.gnu.org/licenses/agpl-3.0.html", - offers: { - "@type": "Offer", - price: "0", - priceCurrency: "EUR", - description: "Outil gratuit et open source", - }, - publisher: { - "@type": "Organization", - name: "Barbote SAS", - url: "https://arrhes.com", - }, - } + "@context": "https://schema.org", + "@type": "SoftwareApplication", + name: SITE_NAME, + url: BASE_URL, + applicationCategory: "BusinessApplication", + operatingSystem: "Web", + description: DEFAULT_DESCRIPTION, + inLanguage: "fr-FR", + license: "https://www.gnu.org/licenses/agpl-3.0.html", + offers: { + "@type": "Offer", + price: "0", + priceCurrency: "EUR", + description: "Outil gratuit et open source", + }, + publisher: { + "@type": "Organization", + name: "Barbote SAS", + url: "https://comptasse.com", + }, + } : null // JSON-LD: BreadcrumbList (non-homepage pages) const breadcrumbJsonLd = !isHomePage ? { - "@context": "https://schema.org", - "@type": "BreadcrumbList", - itemListElement: [ - { - "@type": "ListItem", - position: 1, - name: "Accueil", - item: BASE_URL, - }, - { - "@type": "ListItem", - position: 2, - name: rawTitle, - item: canonicalUrl, - }, - ], - } + "@context": "https://schema.org", + "@type": "BreadcrumbList", + itemListElement: [ + { + "@type": "ListItem", + position: 1, + name: "Accueil", + item: BASE_URL, + }, + { + "@type": "ListItem", + position: 2, + name: rawTitle, + item: canonicalUrl, + }, + ], + } : null return ( diff --git a/packages/website/src/utilities/cookies/getUserSession.ts b/packages/website/src/utilities/cookies/getUserSession.ts index bcb900b..119a29d 100644 --- a/packages/website/src/utilities/cookies/getUserSession.ts +++ b/packages/website/src/utilities/cookies/getUserSession.ts @@ -1,4 +1,4 @@ -import { readUserSessionRouteDefinition } from "@arrhes/application-metadata/routes" +import { readUserSessionRouteDefinition } from "@comptasse/application-metadata/routes" import { getResponseBodyFromAPI } from "../getResponseBodyFromAPI.js" import { getIsAuthenticated } from "./getIsAuthenticated.js" diff --git a/packages/website/src/utilities/getResponseBodyFromAPI.ts b/packages/website/src/utilities/getResponseBodyFromAPI.ts index 5ce8138..918af7b 100644 --- a/packages/website/src/utilities/getResponseBodyFromAPI.ts +++ b/packages/website/src/utilities/getResponseBodyFromAPI.ts @@ -1,4 +1,4 @@ -import type { routeDefinition } from "@arrhes/application-metadata/utilities" +import type { routeDefinition } from "@comptasse/application-metadata/utilities" import type * as v from "valibot" import { toast } from "../contexts/toasts/useToast.js" import { ClientError } from "./clientError.js" diff --git a/packages/website/src/utilities/invalidateData.ts b/packages/website/src/utilities/invalidateData.ts index 8cc2f0a..29f78a0 100644 --- a/packages/website/src/utilities/invalidateData.ts +++ b/packages/website/src/utilities/invalidateData.ts @@ -1,4 +1,4 @@ -import type { routeDefinition } from "@arrhes/application-metadata/utilities" +import type { routeDefinition } from "@comptasse/application-metadata/utilities" import type * as v from "valibot" import { dataClient } from "../contexts/data/queryClient.js" diff --git a/packages/website/src/utilities/prefetchYearData.ts b/packages/website/src/utilities/prefetchYearData.ts index 6068a2a..6a5667b 100644 --- a/packages/website/src/utilities/prefetchYearData.ts +++ b/packages/website/src/utilities/prefetchYearData.ts @@ -10,7 +10,7 @@ import { readAllRecordLabelsRouteDefinition, readAllRecordRowsRouteDefinition, readAllRecordsRouteDefinition, -} from "@arrhes/application-metadata/routes" +} from "@comptasse/application-metadata/routes" import type * as v from "valibot" import { dataClient } from "../contexts/data/queryClient.js" import { getResponseBodyFromAPI } from "./getResponseBodyFromAPI.js" @@ -22,8 +22,8 @@ type YearScopedRouteDefinition = { schemas: { body: v.ObjectSchema return: - | v.ObjectSchema - | v.ArraySchema, undefined> + | v.ObjectSchema + | v.ArraySchema, undefined> } } diff --git a/packages/website/src/utilities/useHTTPData.ts b/packages/website/src/utilities/useHTTPData.ts index 1d47fd5..d42a800 100644 --- a/packages/website/src/utilities/useHTTPData.ts +++ b/packages/website/src/utilities/useHTTPData.ts @@ -1,4 +1,4 @@ -import type { routeDefinition } from "@arrhes/application-metadata/utilities" +import type { routeDefinition } from "@comptasse/application-metadata/utilities" import { useQuery } from "@tanstack/react-query" import type * as v from "valibot" import { ClientError } from "./clientError.js" diff --git a/packages/website/src/utilities/variables.ts b/packages/website/src/utilities/variables.ts index b7f5099..8c17bc1 100644 --- a/packages/website/src/utilities/variables.ts +++ b/packages/website/src/utilities/variables.ts @@ -1 +1 @@ -export const cookiePrefix = "arrhes" +export const cookiePrefix = "comptasse" diff --git a/packages/website/tsconfig.json b/packages/website/tsconfig.json index eacf396..ef80a7e 100644 --- a/packages/website/tsconfig.json +++ b/packages/website/tsconfig.json @@ -23,9 +23,7 @@ "jsx": "react-jsx", /* Linting */ "strict": true, - "noFallthroughCasesInSwitch": true, - /* Path aliases */ - "baseUrl": "." + "noFallthroughCasesInSwitch": true }, "include": ["src"], "exclude": [ diff --git a/packages/website/vitest.config.ts b/packages/website/vitest.config.ts index 699b74f..151f459 100644 --- a/packages/website/vitest.config.ts +++ b/packages/website/vitest.config.ts @@ -4,11 +4,12 @@ import { defineConfig } from "vitest/config" export default defineConfig({ resolve: { alias: { - src: path.resolve(__dirname, "./src"), + src: path.resolve(import.meta.dirname, "./src"), }, }, test: { include: ["../../tests/website/**/*.test.ts"], + passWithNoTests: true, globals: true, testTimeout: 10000, environment: "node", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d029798..1ecf3f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,146 +9,113 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: 2.3.15 - version: 2.3.15 + specifier: 2.5.14 + version: 2.5.14 '@playwright/test': - specifier: 1.58.2 - version: 1.58.2 + specifier: 1.63.0 + version: 1.63.0 playwright: - specifier: 1.58.2 - version: 1.58.2 + specifier: 1.63.0 + version: 1.63.0 packages/engine: dependencies: nanoid: - specifier: 5.1.6 - version: 5.1.6 + specifier: 6.0.1 + version: 6.0.1 valibot: - specifier: 1.2.0 - version: 1.2.0(typescript@5.9.3) + specifier: 1.5.0 + version: 1.5.0(typescript@7.0.2) devDependencies: '@types/node': - specifier: 24.10.1 - version: 24.10.1 + specifier: 26.6.1 + version: 26.6.1 jsdom: - specifier: 26.1.0 - version: 26.1.0 + specifier: 30.1.0 + version: 30.1.0 typescript: - specifier: 5.9.3 - version: 5.9.3 + specifier: 7.0.2 + version: 7.0.2 vitest: - specifier: 4.0.18 - version: 4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2) + specifier: 5.0.1 + version: 5.0.1(@types/node@26.6.1)(@vitest/ui@5.0.1)(jsdom@30.1.0)(vite@8.3.0(@types/node@26.6.1)) packages/website: dependencies: - '@arrhes/fec-engine': + '@comptasse/fec-engine': specifier: workspace:* version: link:../engine '@hookform/resolvers': - specifier: 5.2.2 - version: 5.2.2(react-hook-form@7.66.1(react@19.2.0)) + specifier: 5.9.1 + version: 5.9.1(@standard-schema/spec@1.1.0)(ajv@8.18.0)(react-hook-form@7.88.0(react@19.3.0))(valibot@1.5.0(typescript@7.0.2))(zod@4.3.6) '@tabler/icons-react': - specifier: 3.35.0 - version: 3.35.0(react@19.2.0) + specifier: 3.46.0 + version: 3.46.0(react@19.3.0) '@tanstack/react-router': - specifier: 1.139.10 - version: 1.139.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 1.170.38 + version: 1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-table': - specifier: 8.21.3 - version: 8.21.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 9.2.4 + version: 9.2.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-virtual': - specifier: 3.13.12 - version: 3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: 3.14.13 + version: 3.14.13(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: - specifier: 19.2.0 - version: 19.2.0 + specifier: 19.3.0 + version: 19.3.0 react-dom: - specifier: 19.2.0 - version: 19.2.0(react@19.2.0) + specifier: 19.3.0 + version: 19.3.0(react@19.3.0) react-hook-form: - specifier: 7.66.1 - version: 7.66.1(react@19.2.0) + specifier: 7.88.0 + version: 7.88.0(react@19.3.0) react-imask: specifier: 7.6.1 - version: 7.6.1(react@19.2.0) + version: 7.6.1(react@19.3.0) valibot: - specifier: 1.2.0 - version: 1.2.0(typescript@5.9.3) + specifier: 1.5.0 + version: 1.5.0(typescript@7.0.2) devDependencies: '@pandacss/dev': - specifier: 1.8.1 - version: 1.8.1(jsdom@26.1.0)(typescript@5.9.3) + specifier: 1.12.1 + version: 1.12.1(jsdom@30.1.0)(typescript@7.0.2) '@types/node': - specifier: 24.10.1 - version: 24.10.1 + specifier: 26.6.1 + version: 26.6.1 '@types/react': - specifier: 19.2.7 - version: 19.2.7 + specifier: 19.3.0 + version: 19.3.0 '@types/react-dom': - specifier: 19.2.3 - version: 19.2.3(@types/react@19.2.7) + specifier: 19.3.0 + version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: 5.1.1 - version: 5.1.1(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2)) + specifier: 6.1.1 + version: 6.1.1(vite@8.3.0(@types/node@26.6.1)) '@vitest/browser': - specifier: 4.0.18 - version: 4.0.18(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2))(vitest@4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2)) + specifier: 5.0.1 + version: 5.0.1(vite@8.3.0(@types/node@26.6.1))(vitest@5.0.1) playwright: - specifier: 1.58.2 - version: 1.58.2 + specifier: 1.63.0 + version: 1.63.0 typescript: - specifier: 5.9.3 - version: 5.9.3 + specifier: 7.0.2 + version: 7.0.2 vite: - specifier: 7.2.4 - version: 7.2.4(@types/node@24.10.1)(lightningcss@1.30.2) + specifier: 8.3.0 + version: 8.3.0(@types/node@26.6.1) vitest: - specifier: 4.0.18 - version: 4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2) + specifier: 5.0.1 + version: 5.0.1(@types/node@26.6.1)(@vitest/ui@5.0.1)(jsdom@30.1.0)(vite@8.3.0(@types/node@26.6.1)) packages: - '@asamuzakjp/css-color@3.2.0': - resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@asamuzakjp/css-color@7.0.0': + resolution: {integrity: sha512-IxddtGnnoidVSO6O/aiTueptbTThHvi2qGHu9/AWuD1J7i86Ox+jl+Y5SXcDH1RixzQlP2cjH/PjnlImZiAurQ==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - '@babel/code-frame@7.29.0': - resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.29.0': - resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.29.1': - resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.28.6': - resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-globals@7.28.0': - resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.28.6': - resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.28.6': - resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-plugin-utils@7.28.6': - resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} - engines: {node: '>=6.9.0'} + '@asamuzakjp/dom-selector@9.1.4': + resolution: {integrity: sha512-ynDE7RDZM1z+YuSU+iGhRp8WcSXHqK9+G32ZEzsL35TKSoy72fYR7VfrJCQkWe3ciiIWGSTAIBc9XB5jVpqyTw==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} @@ -158,137 +125,122 @@ packages: resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.27.1': - resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.29.2': - resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} - engines: {node: '>=6.9.0'} - '@babel/parser@7.29.2': resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-transform-react-jsx-self@7.27.1': - resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.27.1': - resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/runtime-corejs3@7.29.2': resolution: {integrity: sha512-Lc94FOD5+0aXhdb0Tdg3RUtqT6yWbI/BbFWvlaSJ3gAb9Ks+99nHRDKADVqC37er4eCB0fHyWT+y+K3QOvJKbw==} engines: {node: '>=6.9.0'} - '@babel/template@7.28.6': - resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.29.0': - resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} - engines: {node: '>=6.9.0'} - '@babel/types@7.29.0': resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - '@biomejs/biome@2.3.15': - resolution: {integrity: sha512-u+jlPBAU2B45LDkjjNNYpc1PvqrM/co4loNommS9/sl9oSxsAQKsNZejYuUztvToB5oXi1tN/e62iNd6ESiY3g==} + '@biomejs/biome@2.5.14': + resolution: {integrity: sha512-0FabLIjd4M/dm8VFI86RMaLLdgepzbdfiAL2R8cr7V81OYYrP1w7Z73KfAwPK5h9SrEBXTzNG2y+mBwPo9xRnw==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.3.15': - resolution: {integrity: sha512-SDCdrJ4COim1r8SNHg19oqT50JfkI/xGZHSyC6mGzMfKrpNe/217Eq6y98XhNTc0vGWDjznSDNXdUc6Kg24jbw==} + '@biomejs/cli-darwin-arm64@2.5.14': + resolution: {integrity: sha512-UnzaXO65L4tsZimFITFP2M121GyhDcWFrT3pL5ZJ5U4XcS/0L5VHYytVohdCf/gnDUFHgl2I9xnt5bV/J1kxHQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.3.15': - resolution: {integrity: sha512-RkyeSosBtn3C3Un8zQnl9upX0Qbq4E3QmBa0qjpOh1MebRbHhNlRC16jk8HdTe/9ym5zlfnpbb8cKXzW+vlTxw==} + '@biomejs/cli-darwin-x64@2.5.14': + resolution: {integrity: sha512-kiy8qA16K93J7uvFfWi4LgjqDpnRKyePAna6A0Y4jxyUga35SYpIZ2cNWlhy0lsfgqRenCpfymnJWEZ6mgpRgA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.3.15': - resolution: {integrity: sha512-SSSIj2yMkFdSkXqASzIBdjySBXOe65RJlhKEDlri7MN19RC4cpez+C0kEwPrhXOTgJbwQR9QH1F4+VnHkC35pg==} + '@biomejs/cli-linux-arm64-musl@2.5.14': + resolution: {integrity: sha512-SJ9PrZkBnnH9dHJDnxk34vKs0GB2dbsioaft6/hPhWJ7AHpwYH83Isnhj0FSRpFkGgpVfJ1lds23ApB2czUDLQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [musl] - '@biomejs/cli-linux-arm64@2.3.15': - resolution: {integrity: sha512-FN83KxrdVWANOn5tDmW6UBC0grojchbGmcEz6JkRs2YY6DY63sTZhwkQ56x6YtKhDVV1Unz7FJexy8o7KwuIhg==} + '@biomejs/cli-linux-arm64@2.5.14': + resolution: {integrity: sha512-vO/9BaU1n30CiFNLx49gMTMtbCAAqlo/EqFoG0BU3deQInTbJrmXSmTQ9e3FoDZIKQnvSLDVNL4lx1ci7y1T1Q==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - libc: [glibc] - '@biomejs/cli-linux-x64-musl@2.3.15': - resolution: {integrity: sha512-dbjPzTh+ijmmNwojFYbQNMFp332019ZDioBYAMMJj5Ux9d8MkM+u+J68SBJGVwVeSHMYj+T9504CoxEzQxrdNw==} + '@biomejs/cli-linux-x64-musl@2.5.14': + resolution: {integrity: sha512-2kI5PrMgW5dcEZYrstLPmUmCwkUwZY39rP4BN93Vxbwcs2O57LDQOktUZZYPvvspN5i0mhGr3TJtF5sU26NUWg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [musl] - '@biomejs/cli-linux-x64@2.3.15': - resolution: {integrity: sha512-T8n9p8aiIKOrAD7SwC7opiBM1LYGrE5G3OQRXWgbeo/merBk8m+uxJ1nOXMPzfYyFLfPlKF92QS06KN1UW+Zbg==} + '@biomejs/cli-linux-x64@2.5.14': + resolution: {integrity: sha512-VHZRa7CCQBUWKxNwUvHJeuW03WFRgN5NWO//SDGOitc9QIeNyfA42V9zlKm+x82xFSG9Bzi5fi+hbhm9anO8yA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - libc: [glibc] - '@biomejs/cli-win32-arm64@2.3.15': - resolution: {integrity: sha512-puMuenu/2brQdgqtQ7geNwQlNVxiABKEZJhMRX6AGWcmrMO8EObMXniFQywy2b81qmC+q+SDvlOpspNwz0WiOA==} + '@biomejs/cli-win32-arm64@2.5.14': + resolution: {integrity: sha512-pHgAFffmZtaYoxavEsWEYNvcA7NwOIjLyqw2HXyLbt16xYryX0L4fMV2u0G9ag6LNYPIoqWaWqzUcnc6rLGGXg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.3.15': - resolution: {integrity: sha512-kDZr/hgg+igo5Emi0LcjlgfkoGZtgIpJKhnvKTRmMBv6FF/3SDyEV4khBwqNebZIyMZTzvpca9sQNSXJ39pI2A==} + '@biomejs/cli-win32-x64@2.5.14': + resolution: {integrity: sha512-oJWmBhoHsnhUKIke+0gXDX0mltJrWHA1UyHsrTlXwX0TL64ilVZAo+TYZm97baecV0esBdpzy3k96q+09JaZUQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] - '@clack/core@0.5.0': - resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==} + '@blazediff/core@1.10.0': + resolution: {integrity: sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==} - '@clack/prompts@0.11.0': - resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@bramus/specificity@2.4.2': + resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + hasBin: true - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@clack/core@1.4.2': + resolution: {integrity: sha512-0Ty/1Gfm+Kb07sXcuESjyKfwEhSy4Ns1AgeEisHb/bDY5fWme0tTeTkU14T1Gmcs17YIjB/teiDe4uaCghbYqQ==} + engines: {node: '>= 20.12.0'} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} + '@clack/prompts@1.6.0': + resolution: {integrity: sha512-EYlRokl8szrP9Z25qT5aepMdBjzBvHF9ZEhzIiUBc9guz/T31EqRgvD0QSgZcpE93xiwrr+OkB4nz0BZyF6fSA==} + engines: {node: '>= 20.12.0'} + + '@csstools/color-helpers@6.1.1': + resolution: {integrity: sha512-gLNsunvwf3mCi5u5o46/Z/JcJMnhbHSaZ69rkgPzNM3J4s8hWwpPUQB6/tt0EDFyCiWzxANlx+2LJwpYj4zS1w==} + engines: {node: '>=20.19.0'} + + '@csstools/css-calc@3.4.0': + resolution: {integrity: sha512-XQKj5B7QiZcHiegCOCAzcAOJdhGgWOHbbu62h5e5mkHnn8lWcfiJhllkqWmxu5zWR9jucPHuo1iTB56P033hcg==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} + '@csstools/css-color-parser@4.2.3': + resolution: {integrity: sha512-y4LpL+lmpuyKDiEFq2PnZUVFdAjsoB/qQJod79yLNokXyW7jewi+/WJ69EfItj8A2unWtxXnGjw6LYXgXu5ZjA==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@csstools/css-syntax-patches-for-csstree@1.1.14': + resolution: {integrity: sha512-HpbVXyrofRXpHpgkNIjU/3EWR4WJvOkO3emNK/L6X/mTJU7bGUI3AkkpoTNXznQLp0KRjLHELTGeKI5dIkI9JQ==} + peerDependencies: + css-tree: ^3.2.1 + peerDependenciesMeta: + css-tree: + optional: true + + '@csstools/css-tokenizer@4.0.1': + resolution: {integrity: sha512-bPlN9S9O1A0euCpEWE4qnvB5YDuyYVsUTrxSgmAM1Is0j4tICHoVyOVAXfWMP/kS9ZrjvyIXWV2PmomiAXXqOw==} + engines: {node: '>=20.19.0'} '@csstools/postcss-cascade-layers@5.0.2': resolution: {integrity: sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg==} @@ -458,22 +410,92 @@ packages: cpu: [x64] os: [win32] - '@hono/node-server@1.19.11': - resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} - engines: {node: '>=18.14.1'} + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} peerDependencies: - hono: ^4 + '@noble/hashes': ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + '@noble/hashes': + optional: true - '@hookform/resolvers@5.2.2': - resolution: {integrity: sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==} + '@hookform/resolvers@5.9.1': + resolution: {integrity: sha512-7b7vsbraJxKgjVSA1Nur9tLwj539WGJUBLA7QNvXnFoT2pM5Z7G+6rlukk4B2/QrTZy6huRtH6wKeESPKuIr6w==} peerDependencies: + '@sinclair/typebox': '>=0.25.24' + '@standard-schema/spec': ^1.0.0 + '@typeschema/main': '>=0.13.7' + '@vinejs/vine': ^2.0.0 || ^3.0.0 || ^4.0.0 + ajv: ^8.12.0 + ajv-errors: ^3.0.0 + ajv-formats: ^2.1.1 + arktype: ^2.0.0 + ata-validator: ^1.2.0 + class-transformer: '>=0.4.0' + class-validator: '>=0.12.0' + computed-types: ^1.0.0 + effect: ^3.10.3 + fluentvalidation-ts: ^3.0.0 + fp-ts: ^2.7.0 + io-ts: ^2.0.0 + joi: ^17.0.0 || ^18.0.0 + nope-validator: '>=0.12.0' react-hook-form: ^7.55.0 - - '@jridgewell/gen-mapping@0.3.13': - resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - - '@jridgewell/remapping@2.3.5': - resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + superstruct: '>=0.12.0' + typanion: ^3.3.2 + valibot: '>=0.31.0 || ^1.0.0-beta.4 || ^1.0.0-rc' + vest: '>=6.0.0' + yup: ^1.0.0 + zod: ^3.25.0 || ^4.0.0 + peerDependenciesMeta: + '@sinclair/typebox': + optional: true + '@standard-schema/spec': + optional: true + '@typeschema/main': + optional: true + '@vinejs/vine': + optional: true + ajv: + optional: true + ajv-errors: + optional: true + ajv-formats: + optional: true + arktype: + optional: true + ata-validator: + optional: true + class-transformer: + optional: true + class-validator: + optional: true + computed-types: + optional: true + effect: + optional: true + fluentvalidation-ts: + optional: true + fp-ts: + optional: true + io-ts: + optional: true + joi: + optional: true + nope-validator: + optional: true + superstruct: + optional: true + typanion: + optional: true + valibot: + optional: true + vest: + optional: true + yup: + optional: true + zod: + optional: true '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} @@ -482,19 +504,12 @@ packages: '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@modelcontextprotocol/sdk@1.27.1': - resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==} - engines: {node: '>=18'} - peerDependencies: - '@cfworker/json-schema': ^4.1.1 - zod: ^3.25 || ^4.0 - peerDependenciesMeta: - '@cfworker/json-schema': - optional: true - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -507,206 +522,186 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@pandacss/config@1.8.1': - resolution: {integrity: sha512-SvFvfDav//c2lbk9+IPRGCLGhUd1G8z/Nxs0CwZNLXpI0xTNy0ISGMV1ZKkqBFbmH95e+/5oZXnnM4rAS1LO0g==} + '@oxc-project/types@0.150.0': + resolution: {integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==} + + '@pandacss/config@1.12.1': + resolution: {integrity: sha512-9hPF1VnA4Tkv1ej2sZYYGi2qcpUN44cnB6ge33qyAzhKetT84w4qpjYH9UP8Yu2A2qgWrGkV1AREb/4vqOKluQ==} + engines: {node: '>=20'} - '@pandacss/core@1.8.1': - resolution: {integrity: sha512-8axy9BApvc/oX5/K2/qX23HX1cHvp3MI/fm+CDx31v9zH3MIy4X49MMDeEU9o6L2Q6p6yinPgQZi7gtOqw+mfQ==} + '@pandacss/core@1.12.1': + resolution: {integrity: sha512-8TKYLAC07vj3RNLcKJjujS1in87uCwixEsIUF8/ezwrx0H6BGPTuyK1aVPICvdmWzluyhQwDhj7lWj7GkBuPYw==} + engines: {node: '>=20'} - '@pandacss/dev@1.8.1': - resolution: {integrity: sha512-rHE7JEDNbqLVpybgT1Ff5R1loYxX3sF/a729EVvsBUtcd/xSHZyjhg8vnB5hXajaWt9Ro+u7chAB6+pdqd1Jog==} + '@pandacss/dev@1.12.1': + resolution: {integrity: sha512-Zps8gLws3Ww+aON4gsw9zMQjVrpTosBRn/U97+EGhA54GbxlawubgS+vDK5x09tsUQilAGVxxMUgr38+LfPILA==} + engines: {node: '>=20.12.0'} hasBin: true - '@pandacss/extractor@1.8.1': - resolution: {integrity: sha512-fgztRMZq1f/M8zdCku9ads+Wslje9/stypjN/qLjV436NI2LWktDmWYGTiEyHZTR5yEfI2LtJCa1b1BvZcU07g==} + '@pandacss/extractor@1.12.1': + resolution: {integrity: sha512-uwxShJnbufOvQLEAjLIO7e9cdrFkMrF3QGTm2l+nbiqb5SBtewfoSScvf7MpFc7inOl8NVVnvHs7M8s9cJ7dQw==} + engines: {node: '>=20'} - '@pandacss/generator@1.8.1': - resolution: {integrity: sha512-+20L+KeSbd2tqalH51M8pAMcJ6HM9rgnKXOyNAN/kx78WXec4jCZN9z9CSCFbrRxH/qpcIx20oAXZBbNghHSyQ==} + '@pandacss/generator@1.12.1': + resolution: {integrity: sha512-vLVM20YV/c1F4/FRktSwcbU/smFtd7ArJZ3M4+7oZw0Jx8B30fNk0zYl22ik/PmUOo8a7AdDQ6p3C8iE7+03dg==} + engines: {node: '>=20'} - '@pandacss/is-valid-prop@1.9.1': - resolution: {integrity: sha512-G4UHGPbyDR8UnxITHLiv8h88KWEAAs8NBX8yXLeb98ny2GEEhS3RBMK1Lq/tpNwwWimgLXxHfATyUkzqfgLjtg==} + '@pandacss/is-valid-prop@1.12.1': + resolution: {integrity: sha512-JFmahiSKrpBE48NHl8NIsNO5e5y1SrOrOGvyle9h9rkNrYw+RJrm5CLeGimmyhg2FIymsmZE76sDnw5Zuu2LVA==} + engines: {node: '>=20'} - '@pandacss/logger@1.8.1': - resolution: {integrity: sha512-u++vUM+roJPPle0PQ1BGl6GkxwusfzEbKtX35L/5GtF6+CQ1ZfbD07HlMjEzmyEQ+KeQ8joR1Ubh/YGrZdEWrQ==} + '@pandacss/logger@1.12.1': + resolution: {integrity: sha512-PHpgSS3KubX9l+esHaGmDt4NJUsn8DDZB8+bQTcsOhvYjV/zF+EDNjcaNaTGGgst9o59ikzkBplqRc+3hVDXsQ==} + engines: {node: '>=20'} - '@pandacss/mcp@1.8.1': - resolution: {integrity: sha512-z3VOz9XVvpdQ0bf6a1REGZToFFcwU/0jyK699fRD3jzMg+OJ24j/T8RZvlFoDPCWcifjXI7eUCSnUJ1TVqXfcQ==} + '@pandacss/node@1.12.1': + resolution: {integrity: sha512-pV1cGsLIdxYHdWI6GG04sVgbtuKR2RUnviYERa9+du1TXm+PfGkwepRtRf4gLa9qI4i4ZTVQY+lRp2KfnRnvkA==} + engines: {node: '>=20'} - '@pandacss/node@1.8.1': - resolution: {integrity: sha512-59Cb55sFL+TO2Sd/s2SxSvh0nY/ouBsJQYqRvUkgLL56FDH28euCYvj8Tt6H9rISKl6xhCpixF7svA8YjTOuXg==} + '@pandacss/parser@1.12.1': + resolution: {integrity: sha512-yI5sOktnNi4zIw4ZfHBvyAoPUGWHsJ0fYZr+rQ5eTvsHh4894xr10w3+mDW3V/7two339wG1i6XaSD1hqKVJDw==} + engines: {node: '>=20'} - '@pandacss/parser@1.8.1': - resolution: {integrity: sha512-dyWX+P4zouBuvqbWqySKDWnrIeq/C2jdeS/GjswQny3pGQHwm1np9yqHfNEtKlaIouXYACbjP1cXl/tEgiKXHA==} + '@pandacss/plugin-lightningcss@1.12.1': + resolution: {integrity: sha512-3gkETbXuWtFq8QULctKl+6ZVxmA9dPDbb2G7P9ZOyW9+oVbc0PBXnxZKhArjjqWn6BObo4uOZ/wCHoR6sBUzgw==} + engines: {node: '>=20'} - '@pandacss/postcss@1.8.1': - resolution: {integrity: sha512-xopXqr/Bh/KTewxgsYe2muHIsuLqrZ64RH1cW4KRY5TOI+JaL7M4qAPTqa/fVMh+LV9k0woTd423g7Q3d2oivA==} + '@pandacss/plugin-svelte@1.12.1': + resolution: {integrity: sha512-5pXFre70kRlAbSlQ8hSbnY5JSv5imufpLiNaLCByq4lcffK1rOOH1OjyxM/c5vPEXLGTwQZgqXaIfUnnF7BU1w==} + engines: {node: '>=20'} - '@pandacss/preset-base@1.8.1': - resolution: {integrity: sha512-NJtVQz4Dn3FuFLci8GvbXVGegKvAkYh7xB5TwJA5mqwRIOqWZ6+U/WoVXu9aR9wj3/EYAhqA5qUJQXrC6dUFmA==} + '@pandacss/plugin-vue@1.12.1': + resolution: {integrity: sha512-SJLXaeNMeo3+Sy5g5SRClNLzuPxvp4lO8oTIqV6wP4TK9BcwB84MyeZbEa8A0LYn631lmuE5aZ/isb0zvbLPKw==} + engines: {node: '>=20'} - '@pandacss/preset-panda@1.8.1': - resolution: {integrity: sha512-89QSWcSdhr1ViW6o0YMAQrSCxmY+xsrr0eA6GnNT6FWkjwL1QAtwjezWwODHN26BjlNTLmW8aK39Tepj6Wh2Aw==} + '@pandacss/postcss@1.12.1': + resolution: {integrity: sha512-4V2HfgGOl7tmOOrWXmx3CPN35uNUse/C8xdJULVVzaK9TXYPHewhntqjAn6S0Elq/qEUJv3lUNUkkBMMz7xhzg==} + engines: {node: '>=20'} - '@pandacss/reporter@1.8.1': - resolution: {integrity: sha512-aTAObZ8ALxhGIXtHMEJ0KzDx3au1qlwHe60EA4BGGEPfBg25ntM8SaSbxOMhwUcbD5VffzywRoJeqWMaPmg3zw==} + '@pandacss/preset-base@1.12.1': + resolution: {integrity: sha512-drG+Xif5rOqT/kZxmj0B/tFweQA+aJSlaxQRI3Xvb7jixmYdmZ9My5lNvberhPKcNPQKBv6QPTDxEBWJRSnUtA==} + engines: {node: '>=20'} - '@pandacss/shared@1.8.1': - resolution: {integrity: sha512-8U+iqqvb1hmTRHOCkO4q29OMv//szv/wJAQG6SPEuYth7QH+fEvPMl2qsZyDTe1b+pkB1bt7tpvTF4+lR1K8EA==} + '@pandacss/preset-panda@1.12.1': + resolution: {integrity: sha512-FSMN65X9255j3pI1+RuH/q8G0Q2d8X5G5c44wzavVnnpPKYnz8ZebypuPPJ0Kre+yw00soXx4Kd1rwEtdnMylg==} + engines: {node: '>=20'} - '@pandacss/token-dictionary@1.8.1': - resolution: {integrity: sha512-6uDH/QbxE/sS/QzfaSswxa+hMdDR1U3PUGVD/uCrt3tJ4zTHgR2icZ3vH9GN9k17WFutzcVQaKTKscY3PYn9TA==} + '@pandacss/reporter@1.12.1': + resolution: {integrity: sha512-Vg5ib3dy6B1rI/WT2GyQ9fqBVXhw1g+elSuZvjfCx/5U18N18lDNOq15SkncaFgfStMmpMvUloW669H75lk7Ag==} + engines: {node: '>=20'} - '@pandacss/types@1.8.1': - resolution: {integrity: sha512-5hNn6PsbmSWdHmfETGTGW+gpFmzf0xdKlzbFHIIKHZK+zicCtHIg6iMahZsf9wvYiBu0LAKwgdKR+kDMya5N8w==} + '@pandacss/shared@1.12.1': + resolution: {integrity: sha512-tG1XHOh6G3sr+25dQ9yoiVMqv0fwoqN1tF7UCzD7yRmjX0SQn1kxlLGf1DCSxMuqI5vmVc0x5HTYLyNrPmJJWg==} + engines: {node: '>=20'} - '@playwright/test@1.58.2': - resolution: {integrity: sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==} - engines: {node: '>=18'} + '@pandacss/token-dictionary@1.12.1': + resolution: {integrity: sha512-Bwhu0wzthGccViypx/8hXIe+1XXCkNxxgWe5SB4naQPtYXwIdvNe3k0YABK9TXCxjxMvIdvhH2UrGrZP8SM50g==} + engines: {node: '>=20'} + + '@pandacss/types@1.12.1': + resolution: {integrity: sha512-ucDQwuOrSKhXDuTFMB/VZsrH4zK1DtOvrkCMuzNL9brJiUS8+5IcGR4uP2/jNXm05/iI6zaBbWjwGhbRDsFicQ==} + engines: {node: '>=20'} + + '@playwright/test@1.63.0': + resolution: {integrity: sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ==} + engines: {node: '>=20'} hasBin: true '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/pluginutils@1.0.0-beta.47': - resolution: {integrity: sha512-8QagwMH3kNCuzD8EWL8R2YPW5e4OrHNSAHRFDdmFqEwEaD/KcNKjVoumo+gP2vW5eKB2UPbM6vTYiGZX0ixLnw==} - - '@rollup/rollup-android-arm-eabi@4.60.0': - resolution: {integrity: sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==} + '@rolldown/binding-android-arm-eabi@1.2.9': + resolution: {integrity: sha512-tNISae1QEf/vkb3xkRcjV5SEdzPE97We5IVaa2Z8jSszQPZ8U60B/YCYpw4QI7VidYsBtKavczXf+DyDs9WGxw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.60.0': - resolution: {integrity: sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==} + '@rolldown/binding-android-arm64@1.2.9': + resolution: {integrity: sha512-YC8YsI30o606GTZi0VyzYlsDKFP8W61i/QzayHDkLbNEz/IShqAmTa+hsJRj13xTHA0H+6fk4b2UmGn+Q/cMlg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.60.0': - resolution: {integrity: sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==} + '@rolldown/binding-darwin-arm64@1.2.9': + resolution: {integrity: sha512-IwhlH3qK5urrY8hZiEgGkHKEFN901p/p2bjxCxJlr4GyNnF7wYpUvK+Y43uaRYuC4hpfjzbR3SJC3arX1jGvmw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.0': - resolution: {integrity: sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==} + '@rolldown/binding-darwin-x64@1.2.9': + resolution: {integrity: sha512-XxpJfVzFh+jilRxIXUqcfYAYcunIc/XEzIizsOL1fcJee5Sf7H3mH8WlLmfHfluz5amqR88QQo9izKtmMlavAw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.0': - resolution: {integrity: sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.60.0': - resolution: {integrity: sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==} + '@rolldown/binding-freebsd-x64@1.2.9': + resolution: {integrity: sha512-kSfvhmgeWyfkbT3p/1s5vSgboogoah2zkm9fX2zjg2hHxSV7T4KhMWRUUaRk4OXNqoD3QAUeRqLcs1aZOK4U1g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': - resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==} - cpu: [arm] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-arm-musleabihf@4.60.0': - resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.9': + resolution: {integrity: sha512-1RVzG17pxqbTfYLC352JlLt6kKLG+6Hr30n8DlIJqsnV5luUDd2Qdx9Ayw1Cabfyb1K9k0jXEZ7evxkRoT+uiw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.0': - resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==} + '@rolldown/binding-linux-arm64-gnu@1.2.9': + resolution: {integrity: sha512-BXqPvZ2drqVD+/Z8UpKwcs4Mp7grM+eGFku4CAEKrEtcbAsUpzREphK1sogCRZGreVPiMkiiBtw0n3TPteuqvw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.0': - resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==} + '@rolldown/binding-linux-arm64-musl@1.2.9': + resolution: {integrity: sha512-11vWvo8YDwLzukt27J3aYDWU+gg2P7J+ZOmiJ0hkF5BXZDW7pVya7r40MXDy6ya0i9KamoENSVKIugvJNgFXIA==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - libc: [musl] - - '@rollup/rollup-linux-loong64-gnu@4.60.0': - resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.0': - resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@rollup/rollup-linux-ppc64-gnu@4.60.0': - resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-ppc64-musl@4.60.0': - resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==} + '@rolldown/binding-linux-ppc64-gnu@1.2.9': + resolution: {integrity: sha512-a1tijMkdwsIARtc0F39ApURROkf3NwqinI6TOiSSWCTR7dT96dffNvMUtDHnq64wKNTIZOIlzKrFvvFUznJiyw==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - libc: [musl] - - '@rollup/rollup-linux-riscv64-gnu@4.60.0': - resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@rollup/rollup-linux-riscv64-musl@4.60.0': - resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.0': - resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==} + '@rolldown/binding-linux-s390x-gnu@1.2.9': + resolution: {integrity: sha512-x6SQNdAvv4c3hWqTMaWuawzMX9myaCs/yEmlGsxJzkdClnHW7FbrjQuSiRDhuSYzEYoEMhsaJy9qHG/XNemJPQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.0': - resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==} + '@rolldown/binding-linux-x64-gnu@1.2.9': + resolution: {integrity: sha512-9s0AZ8BFK5/n7B/TBoa2yJE3gI3KURrbXcPBlsAsvjU4VeJKgE90y1YtNxyEUIcHPQkg6/yfF3qihUrcM/Kf0Q==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.0': - resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==} + '@rolldown/binding-linux-x64-musl@1.2.9': + resolution: {integrity: sha512-P7VWAmV+WdJluH7ovnRGoiv2i8To7GAZ+kGzfGup635cyL7SyYl3lSUaA3Gp5THf0n/Co5EyEqb2zbqq+nMOHQ==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - libc: [musl] - - '@rollup/rollup-openbsd-x64@4.60.0': - resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.0': - resolution: {integrity: sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==} + '@rolldown/binding-openharmony-arm64@1.2.9': + resolution: {integrity: sha512-1qixtsE4BK8h+yS3BfmZ09UhA7O/N4IACva6YBr7EBvCJraByTuRcgOTaiA62Tm0vey3UcKXLOaoGHtYmNGEVg==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.0': - resolution: {integrity: sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==} + '@rolldown/binding-win32-arm64-msvc@1.2.9': + resolution: {integrity: sha512-ok8IQjcEPs1AKZfuEUznVBrJw+gK4soq+bx8b1X2XoMqVClarc1q5JDmVtWXY1xfr6ZuHTAsPXHTgTrqKTZeww==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.0': - resolution: {integrity: sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-gnu@4.60.0': - resolution: {integrity: sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==} + '@rolldown/binding-win32-x64-msvc@1.2.9': + resolution: {integrity: sha512-Ip2mXoU0hM0boq3Rf+ekuT653OROSo6aSYcPT1VHE4q52KvyxgFkQgrgb/IEsxOuvQ2fZZbs8khJAyCEPM24/g==} + engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.0': - resolution: {integrity: sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==} - cpu: [x64] - os: [win32] + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -714,72 +709,59 @@ packages: '@standard-schema/utils@0.3.0': resolution: {integrity: sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==} - '@tabler/icons-react@3.35.0': - resolution: {integrity: sha512-XG7t2DYf3DyHT5jxFNp5xyLVbL4hMJYJhiSdHADzAjLRYfL7AnjlRfiHDHeXxkb2N103rEIvTsBRazxXtAUz2g==} + '@tabler/icons-react@3.46.0': + resolution: {integrity: sha512-CCm7xJWhDT2PH4ZIFkP6AgYKtVhq0gpYkjUN+GVh1AzmIQaa77OW0bQPBPQiTE0PsXMR9oSxFqA3qBglzPyrVQ==} peerDependencies: react: '>= 16' - '@tabler/icons@3.35.0': - resolution: {integrity: sha512-yYXe+gJ56xlZFiXwV9zVoe3FWCGuZ/D7/G4ZIlDtGxSx5CGQK110wrnT29gUj52kEZoxqF7oURTk97GQxELOFQ==} + '@tabler/icons@3.46.0': + resolution: {integrity: sha512-f2RYFl3fzPwj5WO82x6en0dmkjefxEfOm16D1ByM6cj/McNiwOkL4VaPUoP9VVIrXAD9WnTSVFr70px703b//A==} - '@tanstack/history@1.139.0': - resolution: {integrity: sha512-l6wcxwDBeh/7Dhles23U1O8lp9kNJmAb2yNjekR6olZwCRNAVA8TCXlVCrueELyFlYZqvQkh0ofxnzG62A1Kkg==} - engines: {node: '>=12'} + '@tanstack/history@1.162.4': + resolution: {integrity: sha512-utTS5L2OkeYUzXGohL1Z8sefu1GLNOJcxe8Hd6iIdc/Xo1K1nDB2JEp4iSFhvYh33xKC9V91TxrS8qfrpoKobQ==} + engines: {node: '>=20.19'} - '@tanstack/react-router@1.139.10': - resolution: {integrity: sha512-SVEH2n38XPtQSbW3BgKpK8G1GdLzbsmo3B/epfjuRk2XlYkSFjj7P8DIoHKOgkaCh3T0hKh/CEEj+D130YmGUw==} - engines: {node: '>=12'} + '@tanstack/react-router@1.170.38': + resolution: {integrity: sha512-iHM9b0aDJbuvftmkiQXawzoqsdV68p2Re2safbVLCnxafe+iLKV++2i3hI/BMAP6uR92/Mjw94JKJJfD7pbwHQ==} + engines: {node: '>=20.19'} peerDependencies: react: '>=18.0.0 || >=19.0.0' react-dom: '>=18.0.0 || >=19.0.0' - '@tanstack/react-store@0.8.1': - resolution: {integrity: sha512-XItJt+rG8c5Wn/2L/bnxys85rBpm0BfMbhb4zmPVLXAKY9POrp1xd6IbU4PKoOI+jSEGc3vntPRfLGSgXfE2Ig==} + '@tanstack/react-store@0.11.1': + resolution: {integrity: sha512-HaIGKI3YLmjBYIvy5DFDY23oNaYZIsTZfngey07Uh5iLVJgM3bIGCnZeOFOqzjFld9JHWcaHJnasD/bKoGKwJQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/react-table@8.21.3': - resolution: {integrity: sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==} - engines: {node: '>=12'} + '@tanstack/react-table@9.2.4': + resolution: {integrity: sha512-Rzp1Q4e0/nIgEjmISYR5HeEgLTNtrG+C7NFZf/AbCxPO5hg+zC3yNGwcoECigUk8SFzzvhXbd2rFdtP2ZiGrfA==} + engines: {node: '>=20'} peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react: '>=18' - '@tanstack/react-virtual@3.13.12': - resolution: {integrity: sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA==} + '@tanstack/react-virtual@3.14.13': + resolution: {integrity: sha512-JbDTAwtzZ99aOeCrAfW5EsE5KSq5RWh6Af2dtFwyLIIk48Ja7vm6n4axu/43T3vfjFnEGJalxJ1wyYjSQD6bSg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/router-core@1.139.10': - resolution: {integrity: sha512-gougqlYumNOn98d2ZhyoRJTNT8RvFip97z6T2T3/JTPrErwOsKaIA2FwlkfLJmJY1JQtUuF38IREJdfQrTJiqg==} - engines: {node: '>=12'} - - '@tanstack/store@0.8.1': - resolution: {integrity: sha512-PtOisLjUZPz5VyPRSCGjNOlwTvabdTBQ2K80DpVL1chGVr35WRxfeavAPdNq6pm/t7F8GhoR2qtmkkqtCEtHYw==} - - '@tanstack/table-core@8.21.3': - resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} - engines: {node: '>=12'} + '@tanstack/router-core@1.171.32': + resolution: {integrity: sha512-X86Jqk3vB2KJcUfS6oLi7B7yxbaa59QEhZRPPP1fRx3k+Jw/Fu1UYVBcRtdwK/OccQnrlQdVoKvNO3QXmyEBOw==} + engines: {node: '>=20.19'} - '@tanstack/virtual-core@3.13.12': - resolution: {integrity: sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==} + '@tanstack/store@0.11.1': + resolution: {integrity: sha512-mzTOBhypOuDJAy/D8n2MfUZ1HFkXnmSETviRyhqEC8LUE7/IZQExOTxMANj3KjTofYTkFNpBY67qaVrT41YccA==} - '@ts-morph/common@0.28.1': - resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==} + '@tanstack/table-core@9.2.4': + resolution: {integrity: sha512-GwdDyGGr6UXAtubF14yAwcXvdaogqfsQgIk89Suebjxob/Rjq2xvfmXsjDF1rQmKmhHsJm9TOY7myxv3i6geJw==} + engines: {node: '>=20'} - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@tanstack/virtual-core@3.17.11': + resolution: {integrity: sha512-+ILjvtHup6Y2hzQ6YzwMgX1Q+oQpxEGOXCEsCNaPoIP0VxMbizIBTmYTDtkerkIQS8/CbP1BRuyt8V/8BCsy1g==} - '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + '@ts-morph/common@0.29.0': + resolution: {integrity: sha512-35oUmphHbJvQ/+UTwFNme/t2p3FoKiGJ5auTjjpNTop2dyREspirjMy82PLSC1pnDJ8ah1GU98hwpVt64YXQsg==} '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} @@ -793,56 +775,182 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.10.1': - resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} + '@types/node@26.6.1': + resolution: {integrity: sha512-VqGJBMCtdhqkBUCcBLvywI0NJ+KLuVzgNnlBUNFOQjqVxzo2lxLUNg1DSey8+u2u6ktswSAxg+s68QLzWHNOuA==} - '@types/react-dom@19.2.3': - resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + '@types/react-dom@19.3.0': + resolution: {integrity: sha512-ZI7bU42mZXXKHn/qNLEw2IrbiINU7X5+vfgdixBHkCNpYWXjKgfQ/P+uyGb5CjOLB9UcnTeg3rylQtV2hym44Q==} peerDependencies: - '@types/react': ^19.2.0 + '@types/react': ^19.3.0 + + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} + + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] - '@types/react@19.2.7': - resolution: {integrity: sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==} + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] - '@vitejs/plugin-react@5.1.1': - resolution: {integrity: sha512-WQfkSw0QbQ5aJ2CHYw23ZGkqnRwqKHD/KYsMeTkZzPT4Jcf0DcBxBtwMJxnu6E7oxw5+JC6ZAiePgh28uJ1HBA==} + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@vitejs/plugin-react@6.1.1': + resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + oxc-transform-react: ^0.145.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + oxc-transform-react: + optional: true - '@vitest/browser@4.0.18': - resolution: {integrity: sha512-gVQqh7paBz3gC+ZdcCmNSWJMk70IUjDeVqi+5m5vYpEHsIwRgw3Y545jljtajhkekIpIp5Gg8oK7bctgY0E2Ng==} + '@vitest/browser@5.0.1': + resolution: {integrity: sha512-s2UroEhP2BZPoen1qrXXTtVqnUcs6y2sxMLGCZ8tZDkH2iM/6tTC2GVTPCgF+oVF3X5M6wC/X2O0MvvoHNmH0Q==} peerDependencies: - vitest: 4.0.18 + vitest: 5.0.1 - '@vitest/expect@4.0.18': - resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - - '@vitest/mocker@4.0.18': - resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} + '@vitest/mocker@5.0.1': + resolution: {integrity: sha512-6K1DoBNAPGvuOcSsGA4D6x+5zEEff/KmOOP3uetT2TrGpVfI+HRHRnJJfKi5ib/g1vx8IYHQD8s0pbJz8WQI7Q==} peerDependencies: msw: ^2.4.9 - vite: ^6.0.0 || ^7.0.0-0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@4.0.18': - resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - - '@vitest/runner@4.0.18': - resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} + '@vitest/pretty-format@5.0.1': + resolution: {integrity: sha512-6guWwj5d9bguuefTOvJoq387tfpkzSv554YdUEGzjJH2PnnmvzTLQ1UQSuAk5wBFVhf2CUmy/S/palOcb6dmpA==} - '@vitest/snapshot@4.0.18': - resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} + '@vitest/spy@5.0.1': + resolution: {integrity: sha512-rbto/mF/SGERxEgYOek7Xm6B9b+y+mVoo+f4b2LymYO8zM1b7uB5nHuhVMTP2hxdzgxvGiZYGxGIaMvL5y180Q==} - '@vitest/spy@4.0.18': - resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} + '@vitest/ui@5.0.1': + resolution: {integrity: sha512-7PvQu/X9/pQoHYfNLAYL22qsD4/+sx2k7zpUA7XvjW0sc40r3/r0lGZ2fsEyOHMuO8Q1KjiO1QQVjJdnWUy/WQ==} + peerDependencies: + vitest: 5.0.1 - '@vitest/utils@4.0.18': - resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} + '@vitest/utils@5.0.1': + resolution: {integrity: sha512-E9+yEA+jsfaoxZcUHFzEqUrQcoNh2EwrPT5efIqkUPUwD5Ua2Li9BRWaYeRwvzvdLgTSVrre8oKNeyrfg7KkdQ==} '@vue/compiler-core@3.5.25': resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==} @@ -859,22 +967,6 @@ packages: '@vue/shared@3.5.25': resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==} - accepts@2.0.0: - resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} - engines: {node: '>= 0.6'} - - agent-base@7.1.4: - resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} - engines: {node: '>= 14'} - - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} @@ -907,9 +999,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - body-parser@2.2.2: - resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==} - engines: {node: '>=18'} + bidi-js@1.1.0: + resolution: {integrity: sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==} brace-expansion@5.0.4: resolution: {integrity: sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==} @@ -919,38 +1010,15 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.28.0: - resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - bundle-n-require@1.1.2: - resolution: {integrity: sha512-bEk2jakVK1ytnZ9R2AAiZEeK/GxPUM8jvcRxHZXifZDMcjkI4EG/GlsJ2YGSVYT9y/p/gA9/0yDY8rCGsSU6Tg==} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - - caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001781: resolution: {integrity: sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==} @@ -975,124 +1043,58 @@ packages: confbox@0.2.4: resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} - content-disposition@1.0.1: - resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} - engines: {node: '>=18'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-es@2.0.0: - resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} - - cookie-signature@1.2.2: - resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} - engines: {node: '>=6.6.0'} - - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} + cookie-es@3.1.1: + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} core-js-pure@3.49.0: resolution: {integrity: sha512-XM4RFka59xATyJv/cS3O3Kml72hQXUeGRuuTmMYFxwzc9/7C8OYTaIR/Ji+Yt8DXzsFLNhat15cE/JP15HrCgw==} - cors@2.8.6: - resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} - engines: {node: '>= 0.10'} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - crosspath@2.0.0: resolution: {integrity: sha512-ju88BYCQ2uvjO2bR+SsgLSTwTSctU+6Vp2ePbKPgSCZyy4MWZxYsT738DlKVRE5utUjobjPRm1MkTYKJxCmpTA==} engines: {node: '>=14.9.0'} + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - cssnano-utils@5.0.1: - resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.32 - - cssstyle@4.6.0: - resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} - engines: {node: '>=18'} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} - - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + data-urls@7.0.0: + resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} decimal.js@10.6.0: resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.321: resolution: {integrity: sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - entities@6.0.1: - resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} - engines: {node: '>=0.12'} - - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + entities@8.1.0: + resolution: {integrity: sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==} + engines: {node: '>=20.19.0'} - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + es-module-lexer@2.3.2: + resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} @@ -1103,41 +1105,16 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eventsource-parser@3.0.6: - resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} - engines: {node: '>=18.0.0'} - - eventsource@3.0.7: - resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} - engines: {node: '>=18.0.0'} - - expect-type@1.3.0: - resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - express-rate-limit@8.3.1: - resolution: {integrity: sha512-D1dKN+cmyPWuvB+G2SREQDzPY1agpBIcTa9sJxOPMCNeH3gwzhqJRDWCXW3gg0y//+LQ/8j52JbMROWyrKdMdw==} - engines: {node: '>= 16'} - peerDependencies: - express: '>= 4.11' - - express@5.2.1: - resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} - engines: {node: '>= 18'} - exsolve@1.0.8: resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} @@ -1148,9 +1125,18 @@ packages: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} @@ -1163,50 +1149,27 @@ packages: picomatch: optional: true + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - finalhandler@2.1.1: - resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} - engines: {node: '>= 18.0.0'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@2.0.0: - resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} - engines: {node: '>= 0.8'} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} fs-extra@11.3.2: resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + get-tsconfig@4.14.3: + resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1216,67 +1179,17 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - hono@4.12.9: - resolution: {integrity: sha512-wy3T8Zm2bsEvxKZM5w21VdHDDcwVS1yUFFY6i8UobSsKfFceT7TOwhbhfKsDyx7tYQlmRM5FLpIuYvNFyjctiA==} - engines: {node: '>=16.9.0'} - - hookable@5.5.3: - resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} - - html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - - https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.7.2: - resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} - engines: {node: '>=0.10.0'} + html-encoding-sniffer@6.0.0: + resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} imask@7.6.1: resolution: {integrity: sha512-sJlIFM7eathUEMChTh9Mrfw/IgiWgJqBKq2VNbyXvBZ7ev/IlO6/KQTKlV/Fm+viQMLrFLG/zCuudrLIwgK2dg==} engines: {npm: '>=4.0.0'} - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ip-address@10.1.0: - resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} - engines: {node: '>= 12'} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1296,50 +1209,28 @@ packages: is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - isbot@5.1.36: resolution: {integrity: sha512-C/ZtXyJqDPZ7G7JPr06ApWyYoHjYexQbS6hPYD4WYCzpv2Qes6Z+CCEfTX4Owzf+1EJ933PoI2p+B9v7wpGZBQ==} engines: {node: '>=18'} - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - javascript-stringify@2.1.0: resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} - jose@6.2.2: - resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - jsdom@26.1.0: - resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} - engines: {node: '>=18'} + jsdom@30.1.0: + resolution: {integrity: sha512-h/Q+H+KmlGf49ITw3TrykSVbg04S75S2O7ZtJc9gMGOWBrQRZmx5AJIKLtJ01e6Kszl+/tpFthCVqxNifxhoqg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} peerDependencies: - canvas: ^3.0.0 + canvas: ^3.2.3 peerDependenciesMeta: canvas: optional: true - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} - hasBin: true - json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-schema-typed@8.0.2: - resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} @@ -1347,82 +1238,145 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - lightningcss-android-arm64@1.30.2: - resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + lightningcss-android-arm64@1.31.1: + resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.30.2: - resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + lightningcss-darwin-arm64@1.31.1: + resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.2: - resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + lightningcss-darwin-x64@1.31.1: + resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.2: - resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.31.1: + resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + lightningcss-linux-arm-gnueabihf@1.31.1: + resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.2: - resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.31.1: + resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [glibc] - lightningcss-linux-arm64-musl@1.30.2: - resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - libc: [musl] - lightningcss-linux-x64-gnu@1.30.2: - resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + lightningcss-linux-arm64-musl@1.31.1: + resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.31.1: + resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.31.1: + resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [glibc] - lightningcss-linux-x64-musl@1.30.2: - resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - libc: [musl] - lightningcss-win32-arm64-msvc@1.30.2: - resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + lightningcss-win32-arm64-msvc@1.31.1: + resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.31.1: + resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} engines: {node: '>= 12.0.0'} - cpu: [arm64] + cpu: [x64] os: [win32] - lightningcss-win32-x64-msvc@1.30.2: - resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.2: - resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + lightningcss@1.31.1: + resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} engines: {node: '>= 12.0.0'} - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} @@ -1430,9 +1384,6 @@ packages: lodash.truncate@4.4.2: resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - look-it-up@2.1.0: resolution: {integrity: sha512-nMoGWW2HurtuJf6XAL56FWTDCWLOTSsanrgwOyaR5Y4e3zfG5N/0cU5xWZSEU3tBxhQugRbV1xL9jb+ug7yZww==} @@ -1440,26 +1391,18 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@11.5.2: + resolution: {integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==} + engines: {node: 20 || >=22} magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - media-typer@1.1.0: - resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} - engines: {node: '>= 0.8'} + magic-string@1.4.1: + resolution: {integrity: sha512-8lyCu36ErXR0J9uaGKlKQoiLZKmtI63YGLE8G2o9jyRPdr4X47LusSOwgOJOzcVtp81fTAAjxR7BwKz682Jhow==} - merge-descriptors@2.0.0: - resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} - engines: {node: '>=18'} + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} @@ -1472,14 +1415,6 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - mime-db@1.54.0: - resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} - engines: {node: '>= 0.6'} - - mime-types@3.0.2: - resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} - engines: {node: '>=18'} - minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -1488,54 +1423,35 @@ packages: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.1.6: - resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} - engines: {node: ^18 || >=20} + nanoid@3.3.19: + resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - negotiator@1.0.0: - resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} - engines: {node: '>= 0.6'} - - node-eval@2.0.0: - resolution: {integrity: sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==} - engines: {node: '>= 4'} + nanoid@6.0.1: + resolution: {integrity: sha512-3wVS3i51pE2pi1k5FFL/95BGfVS0kSsvDVuGXHOtxox/TywUmtgq+3qiTOTbs9J7KfHaXPiN171k/A6dBnaXFw==} + engines: {node: ^22 || ^24 || >=26} + hasBin: true node-releases@2.0.36: resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} - nwsapi@2.2.23: - resolution: {integrity: sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} - object-path@0.11.8: resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} engines: {node: '>= 10.12.0'} - obug@2.1.1: - resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + obug@2.2.1: + resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} + engines: {node: '>=12.20.0'} outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} @@ -1547,27 +1463,12 @@ packages: package-manager-detector@1.6.0: resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} - parse5@7.3.0: - resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-to-regexp@8.3.0: - resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} - pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1581,29 +1482,25 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} - pixelmatch@7.1.0: - resolution: {integrity: sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==} - hasBin: true - - pkce-challenge@5.0.1: - resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==} - engines: {node: '>=16.20.0'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - playwright-core@1.58.2: - resolution: {integrity: sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==} - engines: {node: '>=18'} + playwright-core@1.63.0: + resolution: {integrity: sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==} + engines: {node: '>=20'} hasBin: true - playwright@1.58.2: - resolution: {integrity: sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==} - engines: {node: '>=18'} + playwright@1.63.0: + resolution: {integrity: sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg==} + engines: {node: '>=20'} hasBin: true pluralize@8.0.0: @@ -1626,12 +1523,6 @@ packages: peerDependencies: postcss: ^8.4.32 - postcss-merge-rules@7.0.7: - resolution: {integrity: sha512-njWJrd/Ms6XViwowaaCc+/vqhPG3SmXn725AGrnl+BgTuRPEacjiLEaGq16J6XirMJbtKkTwnt67SS+e2WGoew==} - engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} - peerDependencies: - postcss: ^8.4.32 - postcss-minify-selectors@7.0.5: resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -1657,12 +1548,12 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.6: - resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + postcss@8.5.14: + resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.8: - resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + postcss@8.5.28: + resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} engines: {node: ^10 || ^12 || >=14} prettier@3.2.5: @@ -1673,36 +1564,20 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} - engines: {node: '>=0.6'} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@3.0.2: - resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} - engines: {node: '>= 0.10'} - - react-dom@19.2.0: - resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} + react-dom@19.3.0: + resolution: {integrity: sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==} peerDependencies: - react: ^19.2.0 + react: ^19.3.0 - react-hook-form@7.66.1: - resolution: {integrity: sha512-2KnjpgG2Rhbi+CIiIBQQ9Df6sMGH5ExNyFl4Hw9qO7pIqMBR8Bvu9RQyjl3JM4vehzCh9soiNUM/xYMswb2EiA==} + react-hook-form@7.88.0: + resolution: {integrity: sha512-QRaLOWhX93YCnMiRfnOFRSwWXZNt8qhm2JTZwypoDvKpSffTJHmpzMXt8U6PV5UThvL3IiiLDUWe2nHMtz6Mmw==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 @@ -1716,12 +1591,8 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-refresh@0.18.0: - resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} - engines: {node: '>=0.10.0'} - - react@19.2.0: - resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} + react@19.3.0: + resolution: {integrity: sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==} engines: {node: '>=0.10.0'} readdirp@4.1.2: @@ -1732,84 +1603,38 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rollup@4.60.0: - resolution: {integrity: sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} + rolldown@1.2.9: + resolution: {integrity: sha512-hx/Pv0N1haXRb11qkfnK5MXB/iqr7i0yjWQqmO9uHqZpBgQSqzc8UsSnEpalsh+j1I8qQ2CkXAkJC8Br3dKSlg==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - router@2.2.0: - resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} - engines: {node: '>= 18'} - - rrweb-cssom@0.8.0: - resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - send@1.2.1: - resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} - engines: {node: '>= 18'} + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} - seroval-plugins@1.5.1: - resolution: {integrity: sha512-4FbuZ/TMl02sqv0RTFexu0SP6V+ywaIe5bAWCCEik0fk17BhALgwvUDVF7e3Uvf9pxmwCEJsRPmlkUE6HdzLAw==} + seroval-plugins@1.6.7: + resolution: {integrity: sha512-4Nk35ttD3DTDJW4hgw5StsVAPeU6qnDFnULAouw6tQ7oLTV/ICXrWpsXo2EE52eSP2joUMazbVf52mFEcADqRw==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval@1.5.1: - resolution: {integrity: sha512-OwrZRZAfhHww0WEnKHDY8OM0U/Qs8OTfIDWhUD4BLpNJUfXK4cGmjiagGze086m+mhI+V2nD0gfbHEnJjb9STA==} + seroval@1.6.7: + resolution: {integrity: sha512-AeDcLh0yO2SFm9W71essgnSzLV9DI8ZH0x0knXn2DMnUZj728mpLbxjlbB6IqKCmqh8JA3cEqRyGoNkt584JcQ==} engines: {node: '>=10'} - serve-static@2.2.1: - resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} - engines: {node: '>= 18'} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} - - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} - - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} - - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} - siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -1831,12 +1656,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - - std-env@3.10.0: - resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + std-env@4.2.0: + resolution: {integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1846,60 +1667,52 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - table@6.9.0: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinybench@6.1.4: + resolution: {integrity: sha512-9APumHG7r4yOk4X4WlkmE71aZcv1gvin1czO3OQ1U9iJcFA5Ja/ygyb0vPOVHTthFozUYs8CLoLUlM8grb2lTQ==} + engines: {node: '>=20.0.0'} - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - - tinyexec@1.0.4: - resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + tinyexec@1.3.0: + resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==} engines: {node: '>=18'} tinyglobby@0.2.15: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tinyrainbow@3.1.0: - resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} + + tinyrainbow@3.1.1: + resolution: {integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==} engines: {node: '>=14.0.0'} - tldts-core@6.1.86: - resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + tldts-core@7.4.13: + resolution: {integrity: sha512-mbYsrih5FRtGxs3Usvl/PqwJsNpp+jsmrdFviiK02teHDG0/HebBG/pqCylje3kzgXYzuLoHJF/0mz9W53t8Xg==} - tldts@6.1.86: - resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + tldts@7.4.13: + resolution: {integrity: sha512-iHtaIWWIbMDkCeJdTBzZFGgbluE5J+oHlb2g7+oAz1S1gpuVpabRZdQyd471Vl8UUkcz2vXSL8xZH2kyCe8tfA==} hasBin: true to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@5.1.2: - resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + tough-cookie@6.0.2: + resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==} engines: {node: '>=16'} - tr46@5.1.1: - resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} - engines: {node: '>=18'} + tr46@6.0.0: + resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} + engines: {node: '>=20'} ts-evaluator@1.2.0: resolution: {integrity: sha512-ncSGek1p92bj2ifB7s9UBgryHCkU9vwC5d+Lplt12gT9DH+e41X8dMoHRQjIMeAvyG7j9dEnuHmwgOtuRIQL+Q==} @@ -1911,42 +1724,33 @@ packages: jsdom: optional: true - ts-morph@27.0.2: - resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==} + ts-morph@28.0.0: + resolution: {integrity: sha512-Wp3tnZ2bzwxyTZMtgWVzXDfm7lB1Drz+y9DmmYH/L702PQhPyVrp3pkou3yIz4qjS14GY9kcpmLiOOMvl8oG1g==} ts-pattern@5.9.0: resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} - tsconfck@3.1.6: - resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} - engines: {node: ^18 || >=20} + typescript@6.0.2: + resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} + engines: {node: '>=14.17'} hasBin: true - peerDependencies: - typescript: ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} - engines: {node: '>=14.17'} + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} hasBin: true - undici-types@7.16.0: - resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + undici-types@8.9.0: + resolution: {integrity: sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==} + + undici@8.10.2: + resolution: {integrity: sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==} + engines: {node: '>=22.19.0'} universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -1961,27 +1765,24 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - valibot@1.2.0: - resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} + valibot@1.5.0: + resolution: {integrity: sha512-nil6AkP2TChWL43Z5uJ6GTxX01CUA+g8LWUM+N/rB9NBbkUMaUsi9PUNzlUPgoKASgmx9f7eGOYpJ04/fSa6FQ==} peerDependencies: typescript: '>=5' peerDependenciesMeta: typescript: optional: true - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vite@7.2.4: - resolution: {integrity: sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==} + vite@8.3.0: + resolution: {integrity: sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.7.1 + esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 - lightningcss: ^1.21.0 sass: ^1.70.0 sass-embedded: ^1.70.0 stylus: '>=0.54.8' @@ -1992,12 +1793,14 @@ packages: peerDependenciesMeta: '@types/node': optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true jiti: optional: true less: optional: true - lightningcss: - optional: true sass: optional: true sass-embedded: @@ -2013,20 +1816,23 @@ packages: yaml: optional: true - vitest@4.0.18: - resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} - engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + vitest@5.0.1: + resolution: {integrity: sha512-iA95lQbKEkvrtTkdAgnWbXfbipWiiWe/hDl2P5tMi6WFwD76G0NxXAGp/M9EOcYupeGJRr6wppMc7CoA41TQjg==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 - '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.18 - '@vitest/browser-preview': 4.0.18 - '@vitest/browser-webdriverio': 4.0.18 - '@vitest/ui': 4.0.18 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.1 + '@vitest/browser-preview': 5.0.1 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.1 + '@vitest/coverage-v8': 5.0.1 + '@vitest/ui': 5.0.1 happy-dom: '*' jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: '@edge-runtime/vm': optional: true @@ -2040,6 +1846,10 @@ packages: optional: true '@vitest/browser-webdriverio': optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true '@vitest/ui': optional: true happy-dom: @@ -2051,27 +1861,21 @@ packages: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + webidl-conversions@8.0.1: + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} + engines: {node: '>=20'} - whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} + whatwg-mimetype@5.0.0: + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} - whatwg-url@14.2.0: - resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} - engines: {node: '>=18'} + whatwg-url@16.0.1: + resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + whatwg-url@17.1.1: + resolution: {integrity: sha512-ohjk1mdUebJVadRt3bAhQhx8lSnISq+GDttK79LFl8EHQkAPvzwctoasC4hs8tBt6kLAncBWWyq1N52qEfKvDw==} + engines: {node: ^22.14.0 || >=24.0.0} why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} @@ -2082,11 +1886,8 @@ packages: resolution: {integrity: sha512-0yweIbkINJodk27gX9LBGMzyQdBDan3s/dEAiwBOj+Mf0PPyWL6/rikalkv8EeD0E8jm4o5RXEOrFTP3NXbhJg==} engines: {node: '>=12.17'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.21.3: + resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -2104,217 +1905,128 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yocto-queue@1.2.2: resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} - zod-to-json-schema@3.25.1: - resolution: {integrity: sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==} - peerDependencies: - zod: ^3.25 || ^4 - zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} snapshots: - '@asamuzakjp/css-color@3.2.0': - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 10.4.3 - - '@babel/code-frame@7.29.0': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/compat-data@7.29.0': {} - - '@babel/core@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.2 - '@babel/template': 7.28.6 - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.29.1': - dependencies: - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/helper-compilation-targets@7.28.6': + '@asamuzakjp/css-color@7.0.0': dependencies: - '@babel/compat-data': 7.29.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-globals@7.28.0': {} - - '@babel/helper-module-imports@7.28.6': - dependencies: - '@babel/traverse': 7.29.0 - '@babel/types': 7.29.0 - transitivePeerDependencies: - - supports-color + '@csstools/css-calc': 3.4.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1))(@csstools/css-tokenizer@4.0.1) + '@csstools/css-color-parser': 4.2.3(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1))(@csstools/css-tokenizer@4.0.1) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.1) + '@csstools/css-tokenizer': 4.0.1 + lru-cache: 11.5.2 - '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + '@asamuzakjp/dom-selector@9.1.4': dependencies: - '@babel/core': 7.29.0 - '@babel/helper-module-imports': 7.28.6 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.29.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-plugin-utils@7.28.6': {} + bidi-js: 1.1.0 + css-tree: 3.2.1 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.5.2 '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.28.5': {} - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helpers@7.29.2': - dependencies: - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - '@babel/parser@7.29.2': dependencies: '@babel/types': 7.29.0 - '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 - '@babel/runtime-corejs3@7.29.2': dependencies: core-js-pure: 3.49.0 - '@babel/template@7.28.6': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 - - '@babel/traverse@7.29.0': - dependencies: - '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.1 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 - '@babel/template': 7.28.6 - '@babel/types': 7.29.0 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@biomejs/biome@2.3.15': + '@biomejs/biome@2.5.14': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.3.15 - '@biomejs/cli-darwin-x64': 2.3.15 - '@biomejs/cli-linux-arm64': 2.3.15 - '@biomejs/cli-linux-arm64-musl': 2.3.15 - '@biomejs/cli-linux-x64': 2.3.15 - '@biomejs/cli-linux-x64-musl': 2.3.15 - '@biomejs/cli-win32-arm64': 2.3.15 - '@biomejs/cli-win32-x64': 2.3.15 + '@biomejs/cli-darwin-arm64': 2.5.14 + '@biomejs/cli-darwin-x64': 2.5.14 + '@biomejs/cli-linux-arm64': 2.5.14 + '@biomejs/cli-linux-arm64-musl': 2.5.14 + '@biomejs/cli-linux-x64': 2.5.14 + '@biomejs/cli-linux-x64-musl': 2.5.14 + '@biomejs/cli-win32-arm64': 2.5.14 + '@biomejs/cli-win32-x64': 2.5.14 - '@biomejs/cli-darwin-arm64@2.3.15': + '@biomejs/cli-darwin-arm64@2.5.14': optional: true - '@biomejs/cli-darwin-x64@2.3.15': + '@biomejs/cli-darwin-x64@2.5.14': optional: true - '@biomejs/cli-linux-arm64-musl@2.3.15': + '@biomejs/cli-linux-arm64-musl@2.5.14': optional: true - '@biomejs/cli-linux-arm64@2.3.15': + '@biomejs/cli-linux-arm64@2.5.14': optional: true - '@biomejs/cli-linux-x64-musl@2.3.15': + '@biomejs/cli-linux-x64-musl@2.5.14': optional: true - '@biomejs/cli-linux-x64@2.3.15': + '@biomejs/cli-linux-x64@2.5.14': optional: true - '@biomejs/cli-win32-arm64@2.3.15': + '@biomejs/cli-win32-arm64@2.5.14': optional: true - '@biomejs/cli-win32-x64@2.3.15': + '@biomejs/cli-win32-x64@2.5.14': optional: true - '@clack/core@0.5.0': + '@blazediff/core@1.10.0': {} + + '@bramus/specificity@2.4.2': dependencies: - picocolors: 1.1.1 + css-tree: 3.2.1 + + '@clack/core@1.4.2': + dependencies: + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@clack/prompts@0.11.0': + '@clack/prompts@1.6.0': dependencies: - '@clack/core': 0.5.0 - picocolors: 1.1.1 + '@clack/core': 1.4.2 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 sisteransi: 1.0.5 - '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@6.1.1': {} - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-calc@3.4.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1))(@csstools/css-tokenizer@4.0.1)': dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.1) + '@csstools/css-tokenizer': 4.0.1 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@4.2.3(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1))(@csstools/css-tokenizer@4.0.1)': dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/color-helpers': 6.1.1 + '@csstools/css-calc': 3.4.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1))(@csstools/css-tokenizer@4.0.1) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.1) + '@csstools/css-tokenizer': 4.0.1 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.1)': dependencies: - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-tokenizer': 4.0.1 - '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-syntax-patches-for-csstree@1.1.14(css-tree@3.2.1)': + optionalDependencies: + css-tree: 3.2.1 + + '@csstools/css-tokenizer@4.0.1': {} - '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.6)': + '@csstools/postcss-cascade-layers@5.0.2(postcss@8.5.14)': dependencies: '@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.1) - postcss: 8.5.6 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 '@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.1.1)': @@ -2399,56 +2111,29 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@hono/node-server@1.19.11(hono@4.12.9)': - dependencies: - hono: 4.12.9 + '@exodus/bytes@1.15.1': {} - '@hookform/resolvers@5.2.2(react-hook-form@7.66.1(react@19.2.0))': + '@hookform/resolvers@5.9.1(@standard-schema/spec@1.1.0)(ajv@8.18.0)(react-hook-form@7.88.0(react@19.3.0))(valibot@1.5.0(typescript@7.0.2))(zod@4.3.6)': dependencies: '@standard-schema/utils': 0.3.0 - react-hook-form: 7.66.1(react@19.2.0) - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 + react-hook-form: 7.88.0(react@19.3.0) + optionalDependencies: + '@standard-schema/spec': 1.1.0 + ajv: 8.18.0 + valibot: 1.5.0(typescript@7.0.2) + zod: 4.3.6 '@jridgewell/resolve-uri@3.1.2': {} '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.31': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@modelcontextprotocol/sdk@1.27.1(zod@4.3.6)': - dependencies: - '@hono/node-server': 1.19.11(hono@4.12.9) - ajv: 8.18.0 - ajv-formats: 3.0.1(ajv@8.18.0) - content-type: 1.0.5 - cors: 2.8.6 - cross-spawn: 7.0.6 - eventsource: 3.0.7 - eventsource-parser: 3.0.6 - express: 5.2.1 - express-rate-limit: 8.3.1(express@5.2.1) - hono: 4.12.9 - jose: 6.2.2 - json-schema-typed: 8.0.2 - pkce-challenge: 5.0.1 - raw-body: 3.0.2 - zod: 4.3.6 - zod-to-json-schema: 3.25.1(zod@4.3.6) - transitivePeerDependencies: - - supports-color - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2461,121 +2146,107 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@pandacss/config@1.8.1': + '@oxc-project/types@0.150.0': {} + + '@pandacss/config@1.12.1': dependencies: - '@pandacss/logger': 1.8.1 - '@pandacss/preset-base': 1.8.1 - '@pandacss/preset-panda': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/types': 1.8.1 - bundle-n-require: 1.1.2 + '@pandacss/logger': 1.12.1 + '@pandacss/preset-base': 1.12.1 + '@pandacss/preset-panda': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/types': 1.12.1 + esbuild: 0.25.12 escalade: 3.2.0 + get-tsconfig: 4.14.3 microdiff: 1.5.0 - typescript: 5.9.3 - - '@pandacss/core@1.8.1': - dependencies: - '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.6) - '@pandacss/is-valid-prop': 1.9.1 - '@pandacss/logger': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/token-dictionary': 1.8.1 - '@pandacss/types': 1.8.1 - browserslist: 4.28.0 - hookable: 5.5.3 - lightningcss: 1.30.2 + typescript: 6.0.2 + + '@pandacss/core@1.12.1': + dependencies: + '@csstools/postcss-cascade-layers': 5.0.2(postcss@8.5.14) + '@pandacss/is-valid-prop': 1.12.1 + '@pandacss/logger': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/token-dictionary': 1.12.1 + '@pandacss/types': 1.12.1 + browserslist: 4.28.1 lodash.merge: 4.6.2 outdent: 0.8.0 - postcss: 8.5.6 - postcss-discard-duplicates: 7.0.2(postcss@8.5.6) - postcss-discard-empty: 7.0.1(postcss@8.5.6) - postcss-merge-rules: 7.0.7(postcss@8.5.6) - postcss-minify-selectors: 7.0.5(postcss@8.5.6) - postcss-nested: 7.0.2(postcss@8.5.6) - postcss-normalize-whitespace: 7.0.1(postcss@8.5.6) + postcss: 8.5.14 + postcss-discard-duplicates: 7.0.2(postcss@8.5.14) + postcss-discard-empty: 7.0.1(postcss@8.5.14) + postcss-minify-selectors: 7.0.5(postcss@8.5.14) + postcss-nested: 7.0.2(postcss@8.5.14) + postcss-normalize-whitespace: 7.0.1(postcss@8.5.14) postcss-selector-parser: 7.1.1 ts-pattern: 5.9.0 - '@pandacss/dev@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': - dependencies: - '@clack/prompts': 0.11.0 - '@pandacss/config': 1.8.1 - '@pandacss/logger': 1.8.1 - '@pandacss/mcp': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/node': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/postcss': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/preset-base': 1.8.1 - '@pandacss/preset-panda': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/token-dictionary': 1.8.1 - '@pandacss/types': 1.8.1 + '@pandacss/dev@1.12.1(jsdom@30.1.0)(typescript@7.0.2)': + dependencies: + '@clack/prompts': 1.6.0 + '@pandacss/config': 1.12.1 + '@pandacss/logger': 1.12.1 + '@pandacss/node': 1.12.1(jsdom@30.1.0)(typescript@7.0.2) + '@pandacss/postcss': 1.12.1(jsdom@30.1.0)(typescript@7.0.2) + '@pandacss/preset-base': 1.12.1 + '@pandacss/preset-panda': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/token-dictionary': 1.12.1 + '@pandacss/types': 1.12.1 cac: 6.7.14 transitivePeerDependencies: - - '@cfworker/json-schema' - jsdom - - supports-color - typescript - '@pandacss/extractor@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': + '@pandacss/extractor@1.12.1(jsdom@30.1.0)(typescript@7.0.2)': dependencies: - '@pandacss/shared': 1.8.1 - ts-evaluator: 1.2.0(jsdom@26.1.0)(typescript@5.9.3) - ts-morph: 27.0.2 + '@pandacss/shared': 1.12.1 + ts-evaluator: 1.2.0(jsdom@30.1.0)(typescript@7.0.2) + ts-morph: 28.0.0 transitivePeerDependencies: - jsdom - typescript - '@pandacss/generator@1.8.1': + '@pandacss/generator@1.12.1': dependencies: - '@pandacss/core': 1.8.1 - '@pandacss/is-valid-prop': 1.9.1 - '@pandacss/logger': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/token-dictionary': 1.8.1 - '@pandacss/types': 1.8.1 + '@pandacss/core': 1.12.1 + '@pandacss/is-valid-prop': 1.12.1 + '@pandacss/logger': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/token-dictionary': 1.12.1 + '@pandacss/types': 1.12.1 javascript-stringify: 2.1.0 outdent: 0.8.0 pluralize: 8.0.0 - postcss: 8.5.6 + postcss: 8.5.14 ts-pattern: 5.9.0 - '@pandacss/is-valid-prop@1.9.1': {} + '@pandacss/is-valid-prop@1.12.1': {} - '@pandacss/logger@1.8.1': + '@pandacss/logger@1.12.1': dependencies: - '@pandacss/types': 1.8.1 + '@pandacss/types': 1.12.1 kleur: 4.1.5 - '@pandacss/mcp@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': - dependencies: - '@clack/prompts': 0.11.0 - '@modelcontextprotocol/sdk': 1.27.1(zod@4.3.6) - '@pandacss/logger': 1.8.1 - '@pandacss/node': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/token-dictionary': 1.8.1 - '@pandacss/types': 1.8.1 - zod: 4.3.6 - transitivePeerDependencies: - - '@cfworker/json-schema' - - jsdom - - supports-color - - typescript - - '@pandacss/node@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': - dependencies: - '@pandacss/config': 1.8.1 - '@pandacss/core': 1.8.1 - '@pandacss/generator': 1.8.1 - '@pandacss/logger': 1.8.1 - '@pandacss/parser': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/reporter': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/token-dictionary': 1.8.1 - '@pandacss/types': 1.8.1 - browserslist: 4.28.0 + '@pandacss/node@1.12.1(jsdom@30.1.0)(typescript@7.0.2)': + dependencies: + '@pandacss/config': 1.12.1 + '@pandacss/core': 1.12.1 + '@pandacss/generator': 1.12.1 + '@pandacss/logger': 1.12.1 + '@pandacss/parser': 1.12.1(jsdom@30.1.0)(typescript@7.0.2) + '@pandacss/plugin-lightningcss': 1.12.1 + '@pandacss/plugin-svelte': 1.12.1 + '@pandacss/plugin-vue': 1.12.1 + '@pandacss/reporter': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/token-dictionary': 1.12.1 + '@pandacss/types': 1.12.1 + browserslist: 4.28.1 chokidar: 4.0.3 fast-glob: 3.3.3 fs-extra: 11.3.2 + get-tsconfig: 4.14.3 glob-parent: 6.0.2 is-glob: 4.0.3 lodash.merge: 4.6.2 @@ -2584,331 +2255,341 @@ snapshots: p-limit: 5.0.0 package-manager-detector: 1.6.0 perfect-debounce: 1.0.0 - picomatch: 4.0.3 + picomatch: 4.0.4 pkg-types: 2.3.0 pluralize: 8.0.0 - postcss: 8.5.6 + postcss: 8.5.14 prettier: 3.2.5 - ts-morph: 27.0.2 + ts-morph: 28.0.0 ts-pattern: 5.9.0 - tsconfck: 3.1.6(typescript@5.9.3) transitivePeerDependencies: - jsdom - typescript - '@pandacss/parser@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': + '@pandacss/parser@1.12.1(jsdom@30.1.0)(typescript@7.0.2)': dependencies: - '@pandacss/config': 1.8.1 - '@pandacss/core': 1.8.1 - '@pandacss/extractor': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - '@pandacss/logger': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/types': 1.8.1 - '@vue/compiler-sfc': 3.5.25 - magic-string: 0.30.21 - ts-morph: 27.0.2 + '@pandacss/config': 1.12.1 + '@pandacss/core': 1.12.1 + '@pandacss/extractor': 1.12.1(jsdom@30.1.0)(typescript@7.0.2) + '@pandacss/logger': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/types': 1.12.1 + ts-morph: 28.0.0 ts-pattern: 5.9.0 transitivePeerDependencies: - jsdom - typescript - '@pandacss/postcss@1.8.1(jsdom@26.1.0)(typescript@5.9.3)': + '@pandacss/plugin-lightningcss@1.12.1': + dependencies: + '@pandacss/logger': 1.12.1 + '@pandacss/types': 1.12.1 + browserslist: 4.28.1 + lightningcss: 1.31.1 + + '@pandacss/plugin-svelte@1.12.1': + dependencies: + '@pandacss/types': 1.12.1 + magic-string: 0.30.21 + + '@pandacss/plugin-vue@1.12.1': dependencies: - '@pandacss/node': 1.8.1(jsdom@26.1.0)(typescript@5.9.3) - postcss: 8.5.6 + '@pandacss/types': 1.12.1 + '@vue/compiler-sfc': 3.5.25 + magic-string: 0.30.21 + + '@pandacss/postcss@1.12.1(jsdom@30.1.0)(typescript@7.0.2)': + dependencies: + '@pandacss/node': 1.12.1(jsdom@30.1.0)(typescript@7.0.2) + postcss: 8.5.14 transitivePeerDependencies: - jsdom - typescript - '@pandacss/preset-base@1.8.1': + '@pandacss/preset-base@1.12.1': dependencies: - '@pandacss/types': 1.8.1 + '@pandacss/types': 1.12.1 - '@pandacss/preset-panda@1.8.1': + '@pandacss/preset-panda@1.12.1': dependencies: - '@pandacss/types': 1.8.1 + '@pandacss/types': 1.12.1 - '@pandacss/reporter@1.8.1': + '@pandacss/reporter@1.12.1': dependencies: - '@pandacss/core': 1.8.1 - '@pandacss/generator': 1.8.1 - '@pandacss/logger': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/types': 1.8.1 + '@pandacss/core': 1.12.1 + '@pandacss/generator': 1.12.1 + '@pandacss/logger': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/types': 1.12.1 table: 6.9.0 wordwrapjs: 5.1.1 - '@pandacss/shared@1.8.1': {} + '@pandacss/shared@1.12.1': {} - '@pandacss/token-dictionary@1.8.1': + '@pandacss/token-dictionary@1.12.1': dependencies: - '@pandacss/logger': 1.8.1 - '@pandacss/shared': 1.8.1 - '@pandacss/types': 1.8.1 - picomatch: 4.0.3 + '@pandacss/logger': 1.12.1 + '@pandacss/shared': 1.12.1 + '@pandacss/types': 1.12.1 + picomatch: 4.0.4 ts-pattern: 5.9.0 - '@pandacss/types@1.8.1': {} + '@pandacss/types@1.12.1': {} - '@playwright/test@1.58.2': + '@playwright/test@1.63.0': dependencies: - playwright: 1.58.2 + playwright: 1.63.0 '@polka/url@1.0.0-next.29': {} - '@rolldown/pluginutils@1.0.0-beta.47': {} - - '@rollup/rollup-android-arm-eabi@4.60.0': - optional: true - - '@rollup/rollup-android-arm64@4.60.0': - optional: true - - '@rollup/rollup-darwin-arm64@4.60.0': - optional: true - - '@rollup/rollup-darwin-x64@4.60.0': - optional: true - - '@rollup/rollup-freebsd-arm64@4.60.0': - optional: true - - '@rollup/rollup-freebsd-x64@4.60.0': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.60.0': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.60.0': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.60.0': + '@rolldown/binding-android-arm-eabi@1.2.9': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.0': + '@rolldown/binding-android-arm64@1.2.9': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.0': + '@rolldown/binding-darwin-arm64@1.2.9': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.0': + '@rolldown/binding-darwin-x64@1.2.9': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.0': + '@rolldown/binding-freebsd-x64@1.2.9': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.0': + '@rolldown/binding-linux-arm-gnueabihf@1.2.9': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.0': + '@rolldown/binding-linux-arm64-gnu@1.2.9': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.0': + '@rolldown/binding-linux-arm64-musl@1.2.9': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.0': + '@rolldown/binding-linux-ppc64-gnu@1.2.9': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.0': + '@rolldown/binding-linux-s390x-gnu@1.2.9': optional: true - '@rollup/rollup-linux-x64-musl@4.60.0': + '@rolldown/binding-linux-x64-gnu@1.2.9': optional: true - '@rollup/rollup-openbsd-x64@4.60.0': + '@rolldown/binding-linux-x64-musl@1.2.9': optional: true - '@rollup/rollup-openharmony-arm64@4.60.0': + '@rolldown/binding-openharmony-arm64@1.2.9': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.0': + '@rolldown/binding-win32-arm64-msvc@1.2.9': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.0': + '@rolldown/binding-win32-x64-msvc@1.2.9': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.0': - optional: true + '@rolldown/pluginutils@1.0.1': {} - '@rollup/rollup-win32-x64-msvc@4.60.0': + '@standard-schema/spec@1.1.0': optional: true - '@standard-schema/spec@1.1.0': {} - '@standard-schema/utils@0.3.0': {} - '@tabler/icons-react@3.35.0(react@19.2.0)': + '@tabler/icons-react@3.46.0(react@19.3.0)': dependencies: - '@tabler/icons': 3.35.0 - react: 19.2.0 + '@tabler/icons': 3.46.0 + react: 19.3.0 - '@tabler/icons@3.35.0': {} + '@tabler/icons@3.46.0': {} - '@tanstack/history@1.139.0': {} + '@tanstack/history@1.162.4': {} - '@tanstack/react-router@1.139.10(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-router@1.170.38(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/history': 1.139.0 - '@tanstack/react-store': 0.8.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0) - '@tanstack/router-core': 1.139.10 + '@tanstack/history': 1.162.4 + '@tanstack/react-store': 0.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/router-core': 1.171.32 isbot: 5.1.36 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-store@0.8.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-store@0.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/store': 0.8.1 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) - use-sync-external-store: 1.6.0(react@19.2.0) + '@tanstack/store': 0.11.1 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + use-sync-external-store: 1.6.0(react@19.3.0) - '@tanstack/react-table@8.21.3(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-table@9.2.4(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/table-core': 8.21.3 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@tanstack/react-store': 0.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@tanstack/table-core': 9.2.4 + react: 19.3.0 + transitivePeerDependencies: + - react-dom - '@tanstack/react-virtual@3.13.12(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@tanstack/react-virtual@3.14.13(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/virtual-core': 3.13.12 - react: 19.2.0 - react-dom: 19.2.0(react@19.2.0) + '@tanstack/virtual-core': 3.17.11 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) - '@tanstack/router-core@1.139.10': + '@tanstack/router-core@1.171.32': dependencies: - '@tanstack/history': 1.139.0 - '@tanstack/store': 0.8.1 - cookie-es: 2.0.0 - seroval: 1.5.1 - seroval-plugins: 1.5.1(seroval@1.5.1) - tiny-invariant: 1.3.3 - tiny-warning: 1.0.3 + '@tanstack/history': 1.162.4 + cookie-es: 3.1.1 + seroval: 1.6.7 + seroval-plugins: 1.6.7(seroval@1.6.7) - '@tanstack/store@0.8.1': {} + '@tanstack/store@0.11.1': {} - '@tanstack/table-core@8.21.3': {} + '@tanstack/table-core@9.2.4': + dependencies: + '@tanstack/store': 0.11.1 - '@tanstack/virtual-core@3.13.12': {} + '@tanstack/virtual-core@3.17.11': {} - '@ts-morph/common@0.28.1': + '@ts-morph/common@0.29.0': dependencies: minimatch: 10.2.4 path-browserify: 1.0.1 tinyglobby: 0.2.15 - '@types/babel__core@7.20.5': + '@types/chai@5.2.3': dependencies: - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.28.0 + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 - '@types/babel__generator@7.27.0': - dependencies: - '@babel/types': 7.29.0 + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.8': {} - '@types/babel__template@7.4.4': + '@types/node@17.0.45': {} + + '@types/node@26.6.1': dependencies: - '@babel/parser': 7.29.2 - '@babel/types': 7.29.0 + undici-types: 8.9.0 - '@types/babel__traverse@7.28.0': + '@types/react-dom@19.3.0(@types/react@19.3.0)': dependencies: - '@babel/types': 7.29.0 + '@types/react': 19.3.0 - '@types/chai@5.2.3': + '@types/react@19.3.0': dependencies: - '@types/deep-eql': 4.0.2 - assertion-error: 2.0.1 + csstype: 3.2.3 + + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true - '@types/deep-eql@4.0.2': {} + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true - '@types/estree@1.0.8': {} + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true - '@types/node@17.0.45': {} + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true - '@types/node@24.10.1': - dependencies: - undici-types: 7.16.0 + '@typescript/typescript-sunos-x64@7.0.2': + optional: true - '@types/react-dom@19.2.3(@types/react@19.2.7)': - dependencies: - '@types/react': 19.2.7 + '@typescript/typescript-win32-arm64@7.0.2': + optional: true - '@types/react@19.2.7': - dependencies: - csstype: 3.2.3 + '@typescript/typescript-win32-x64@7.0.2': + optional: true - '@vitejs/plugin-react@5.1.1(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2))': + '@vitejs/plugin-react@6.1.1(vite@8.3.0(@types/node@26.6.1))': dependencies: - '@babel/core': 7.29.0 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-beta.47 - '@types/babel__core': 7.20.5 - react-refresh: 0.18.0 - vite: 7.2.4(@types/node@24.10.1)(lightningcss@1.30.2) - transitivePeerDependencies: - - supports-color + '@rolldown/pluginutils': 1.0.1 + vite: 8.3.0(@types/node@26.6.1) - '@vitest/browser@4.0.18(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2))(vitest@4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2))': + '@vitest/browser@5.0.1(vite@8.3.0(@types/node@26.6.1))(vitest@5.0.1)': dependencies: - '@vitest/mocker': 4.0.18(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2)) - '@vitest/utils': 4.0.18 - magic-string: 0.30.21 - pixelmatch: 7.1.0 + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.0.1(vite@8.3.0(@types/node@26.6.1)) + '@vitest/ui': 5.0.1(vitest@5.0.1) + '@vitest/utils': 5.0.1 + magic-string: 1.4.1 pngjs: 7.0.0 sirv: 3.0.2 - tinyrainbow: 3.1.0 - vitest: 4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2) - ws: 8.20.0 + tinyrainbow: 3.1.1 + vitest: 5.0.1(@types/node@26.6.1)(@vitest/ui@5.0.1)(jsdom@30.1.0)(vite@8.3.0(@types/node@26.6.1)) + ws: 8.21.3 transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/expect@4.0.18': + '@vitest/mocker@5.0.1(vite@8.3.0(@types/node@26.6.1))': dependencies: - '@standard-schema/spec': 1.1.0 - '@types/chai': 5.2.3 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - chai: 6.2.2 - tinyrainbow: 3.1.0 - - '@vitest/mocker@4.0.18(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2))': - dependencies: - '@vitest/spy': 4.0.18 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.1 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 1.4.1 optionalDependencies: - vite: 7.2.4(@types/node@24.10.1)(lightningcss@1.30.2) + vite: 8.3.0(@types/node@26.6.1) - '@vitest/pretty-format@4.0.18': + '@vitest/pretty-format@5.0.1': dependencies: - tinyrainbow: 3.1.0 + tinyrainbow: 3.1.1 - '@vitest/runner@4.0.18': - dependencies: - '@vitest/utils': 4.0.18 - pathe: 2.0.3 + '@vitest/spy@5.0.1': {} - '@vitest/snapshot@4.0.18': + '@vitest/ui@5.0.1(vitest@5.0.1)': dependencies: - '@vitest/pretty-format': 4.0.18 - magic-string: 0.30.21 + '@vitest/utils': 5.0.1 + fflate: 0.8.3 + flatted: 3.4.4 pathe: 2.0.3 + sirv: 3.0.2 + tinyrainbow: 3.1.1 + vitest: 5.0.1(@types/node@26.6.1)(@vitest/ui@5.0.1)(jsdom@30.1.0)(vite@8.3.0(@types/node@26.6.1)) - '@vitest/spy@4.0.18': {} - - '@vitest/utils@4.0.18': + '@vitest/utils@5.0.1': dependencies: - '@vitest/pretty-format': 4.0.18 - tinyrainbow: 3.1.0 + '@vitest/pretty-format': 5.0.1 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.1 '@vue/compiler-core@3.5.25': dependencies: @@ -2932,7 +2613,7 @@ snapshots: '@vue/shared': 3.5.25 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.6 + postcss: 8.5.14 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.25': @@ -2942,17 +2623,6 @@ snapshots: '@vue/shared@3.5.25': {} - accepts@2.0.0: - dependencies: - mime-types: 3.0.2 - negotiator: 1.0.0 - - agent-base@7.1.4: {} - - ajv-formats@3.0.1(ajv@8.18.0): - optionalDependencies: - ajv: 8.18.0 - ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 @@ -2976,19 +2646,9 @@ snapshots: baseline-browser-mapping@2.10.10: {} - body-parser@2.2.2: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.4.3 - http-errors: 2.0.1 - iconv-lite: 0.7.2 - on-finished: 2.4.1 - qs: 6.15.0 - raw-body: 3.0.2 - type-is: 2.0.1 - transitivePeerDependencies: - - supports-color + bidi-js@1.1.0: + dependencies: + require-from-string: 2.0.2 brace-expansion@5.0.4: dependencies: @@ -2998,14 +2658,6 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.28.0: - dependencies: - baseline-browser-mapping: 2.10.10 - caniuse-lite: 1.0.30001781 - electron-to-chromium: 1.5.321 - node-releases: 2.0.36 - update-browserslist-db: 1.2.3(browserslist@4.28.0) - browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.10.10 @@ -3014,32 +2666,8 @@ snapshots: node-releases: 2.0.36 update-browserslist-db: 1.2.3(browserslist@4.28.1) - bundle-n-require@1.1.2: - dependencies: - esbuild: 0.25.12 - node-eval: 2.0.0 - - bytes@3.1.2: {} - cac@6.7.14: {} - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - - caniuse-api@3.0.0: - dependencies: - browserslist: 4.28.0 - caniuse-lite: 1.0.30001781 - lodash.memoize: 4.1.2 - lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001781: {} chai@6.2.2: {} @@ -3058,90 +2686,45 @@ snapshots: confbox@0.2.4: {} - content-disposition@1.0.1: {} - - content-type@1.0.5: {} - convert-source-map@2.0.0: {} - cookie-es@2.0.0: {} - - cookie-signature@1.2.2: {} - - cookie@0.7.2: {} + cookie-es@3.1.1: {} core-js-pure@3.49.0: {} - cors@2.8.6: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - crosspath@2.0.0: dependencies: '@types/node': 17.0.45 - cssesc@3.0.0: {} - - cssnano-utils@5.0.1(postcss@8.5.6): + css-tree@3.2.1: dependencies: - postcss: 8.5.6 + mdn-data: 2.27.1 + source-map-js: 1.2.1 - cssstyle@4.6.0: - dependencies: - '@asamuzakjp/css-color': 3.2.0 - rrweb-cssom: 0.8.0 + cssesc@3.0.0: {} csstype@3.2.3: {} - data-urls@5.0.0: - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - - debug@4.4.3: + data-urls@7.0.0: dependencies: - ms: 2.1.3 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + transitivePeerDependencies: + - '@noble/hashes' decimal.js@10.6.0: {} - depd@2.0.0: {} - detect-libc@2.1.2: {} - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - ee-first@1.1.1: {} - electron-to-chromium@1.5.321: {} emoji-regex@8.0.0: {} - encodeurl@2.0.0: {} - entities@4.5.0: {} - entities@6.0.1: {} - - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-module-lexer@1.7.0: {} + entities@8.1.0: {} - es-object-atoms@1.1.1: - dependencies: - es-errors: 1.3.0 + es-module-lexer@2.3.2: {} esbuild@0.25.12: optionalDependencies: @@ -3174,61 +2757,13 @@ snapshots: escalade@3.2.0: {} - escape-html@1.0.3: {} - estree-walker@2.0.2: {} estree-walker@3.0.3: dependencies: '@types/estree': 1.0.8 - etag@1.8.1: {} - - eventsource-parser@3.0.6: {} - - eventsource@3.0.7: - dependencies: - eventsource-parser: 3.0.6 - - expect-type@1.3.0: {} - - express-rate-limit@8.3.1(express@5.2.1): - dependencies: - express: 5.2.1 - ip-address: 10.1.0 - - express@5.2.1: - dependencies: - accepts: 2.0.0 - body-parser: 2.2.2 - content-disposition: 1.0.1 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.2.2 - debug: 4.4.3 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 2.1.1 - fresh: 2.0.0 - http-errors: 2.0.1 - merge-descriptors: 2.0.0 - mime-types: 3.0.2 - on-finished: 2.4.1 - once: 1.4.0 - parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.15.0 - range-parser: 1.2.1 - router: 2.2.0 - send: 1.2.1 - serve-static: 2.2.1 - statuses: 2.0.2 - type-is: 2.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color + expect-type@1.4.0: {} exsolve@1.0.8: {} @@ -3242,34 +2777,37 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fast-uri@3.1.0: {} + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 + fastq@1.20.1: dependencies: reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.4): optionalDependencies: - picomatch: 4.0.3 + picomatch: 4.0.4 + + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + + fflate@0.8.3: {} fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - finalhandler@2.1.1: - dependencies: - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - - forwarded@0.2.0: {} - - fresh@2.0.0: {} + flatted@3.4.4: {} fs-extra@11.3.2: dependencies: @@ -3277,33 +2815,12 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fsevents@2.3.2: - optional: true - fsevents@2.3.3: optional: true - function-bind@1.1.2: {} - - gensync@1.0.0-beta.2: {} - - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: + get-tsconfig@4.14.3: dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 + resolve-pkg-maps: 1.0.0 glob-parent@5.1.2: dependencies: @@ -3313,64 +2830,18 @@ snapshots: dependencies: is-glob: 4.0.3 - gopd@1.2.0: {} - graceful-fs@4.2.11: {} - has-symbols@1.1.0: {} - - hasown@2.0.2: - dependencies: - function-bind: 1.1.2 - - hono@4.12.9: {} - - hookable@5.5.3: {} - - html-encoding-sniffer@4.0.0: - dependencies: - whatwg-encoding: 3.1.1 - - http-errors@2.0.1: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 - - http-proxy-agent@7.0.2: - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - - https-proxy-agent@7.0.6: + html-encoding-sniffer@6.0.0: dependencies: - agent-base: 7.1.4 - debug: 4.4.3 + '@exodus/bytes': 1.15.1 transitivePeerDependencies: - - supports-color - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - - iconv-lite@0.7.2: - dependencies: - safer-buffer: 2.1.2 + - '@noble/hashes' imask@7.6.1: dependencies: '@babel/runtime-corejs3': 7.29.2 - inherits@2.0.4: {} - - ip-address@10.1.0: {} - - ipaddr.js@1.9.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -3383,53 +2854,39 @@ snapshots: is-potential-custom-element-name@1.0.1: {} - is-promise@4.0.0: {} - isbot@5.1.36: {} - isexe@2.0.0: {} - javascript-stringify@2.1.0: {} - jose@6.2.2: {} - js-tokens@4.0.0: {} - jsdom@26.1.0: + jsdom@30.1.0: dependencies: - cssstyle: 4.6.0 - data-urls: 5.0.0 + '@asamuzakjp/css-color': 7.0.0 + '@asamuzakjp/dom-selector': 9.1.4 + '@bramus/specificity': 2.4.2 + '@csstools/css-syntax-patches-for-csstree': 1.1.14(css-tree@3.2.1) + '@exodus/bytes': 1.15.1 + css-tree: 3.2.1 + data-urls: 7.0.0 decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + html-encoding-sniffer: 6.0.0 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.23 - parse5: 7.3.0 - rrweb-cssom: 0.8.0 + lru-cache: 11.5.2 + parse5: 8.0.1 saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 5.1.2 + tough-cookie: 6.0.2 + undici: 8.10.2 w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - ws: 8.20.0 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 17.1.1 xml-name-validator: 5.0.0 transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - jsesc@3.1.0: {} + - '@noble/hashes' json-schema-traverse@1.0.0: {} - json-schema-typed@8.0.2: {} - - json5@2.2.3: {} - jsonfile@6.2.0: dependencies: universalify: 2.0.1 @@ -3438,84 +2895,125 @@ snapshots: kleur@4.1.5: {} - lightningcss-android-arm64@1.30.2: + lightningcss-android-arm64@1.31.1: + optional: true + + lightningcss-android-arm64@1.33.0: + optional: true + + lightningcss-darwin-arm64@1.31.1: + optional: true + + lightningcss-darwin-arm64@1.33.0: + optional: true + + lightningcss-darwin-x64@1.31.1: + optional: true + + lightningcss-darwin-x64@1.33.0: + optional: true + + lightningcss-freebsd-x64@1.31.1: + optional: true + + lightningcss-freebsd-x64@1.33.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.31.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true + + lightningcss-linux-arm64-gnu@1.31.1: + optional: true + + lightningcss-linux-arm64-gnu@1.33.0: optional: true - lightningcss-darwin-arm64@1.30.2: + lightningcss-linux-arm64-musl@1.31.1: optional: true - lightningcss-darwin-x64@1.30.2: + lightningcss-linux-arm64-musl@1.33.0: optional: true - lightningcss-freebsd-x64@1.30.2: + lightningcss-linux-x64-gnu@1.31.1: optional: true - lightningcss-linux-arm-gnueabihf@1.30.2: + lightningcss-linux-x64-gnu@1.33.0: optional: true - lightningcss-linux-arm64-gnu@1.30.2: + lightningcss-linux-x64-musl@1.31.1: optional: true - lightningcss-linux-arm64-musl@1.30.2: + lightningcss-linux-x64-musl@1.33.0: optional: true - lightningcss-linux-x64-gnu@1.30.2: + lightningcss-win32-arm64-msvc@1.31.1: optional: true - lightningcss-linux-x64-musl@1.30.2: + lightningcss-win32-arm64-msvc@1.33.0: optional: true - lightningcss-win32-arm64-msvc@1.30.2: + lightningcss-win32-x64-msvc@1.31.1: optional: true - lightningcss-win32-x64-msvc@1.30.2: + lightningcss-win32-x64-msvc@1.33.0: optional: true - lightningcss@1.30.2: + lightningcss@1.31.1: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.31.1 + lightningcss-darwin-arm64: 1.31.1 + lightningcss-darwin-x64: 1.31.1 + lightningcss-freebsd-x64: 1.31.1 + lightningcss-linux-arm-gnueabihf: 1.31.1 + lightningcss-linux-arm64-gnu: 1.31.1 + lightningcss-linux-arm64-musl: 1.31.1 + lightningcss-linux-x64-gnu: 1.31.1 + lightningcss-linux-x64-musl: 1.31.1 + lightningcss-win32-arm64-msvc: 1.31.1 + lightningcss-win32-x64-msvc: 1.31.1 + + lightningcss@1.33.0: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.30.2 - lightningcss-darwin-arm64: 1.30.2 - lightningcss-darwin-x64: 1.30.2 - lightningcss-freebsd-x64: 1.30.2 - lightningcss-linux-arm-gnueabihf: 1.30.2 - lightningcss-linux-arm64-gnu: 1.30.2 - lightningcss-linux-arm64-musl: 1.30.2 - lightningcss-linux-x64-gnu: 1.30.2 - lightningcss-linux-x64-musl: 1.30.2 - lightningcss-win32-arm64-msvc: 1.30.2 - lightningcss-win32-x64-msvc: 1.30.2 - - lodash.memoize@4.1.2: {} + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 lodash.merge@4.6.2: {} lodash.truncate@4.4.2: {} - lodash.uniq@4.5.0: {} - look-it-up@2.1.0: {} loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - lru-cache@10.4.3: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 + lru-cache@11.5.2: {} magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - math-intrinsics@1.1.0: {} - - media-typer@1.1.0: {} + magic-string@1.4.1: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 - merge-descriptors@2.0.0: {} + mdn-data@2.27.1: {} merge2@1.4.1: {} @@ -3526,49 +3024,25 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - mime-db@1.54.0: {} - - mime-types@3.0.2: - dependencies: - mime-db: 1.54.0 - minimatch@10.2.4: dependencies: brace-expansion: 5.0.4 mrmime@2.0.1: {} - ms@2.1.3: {} - nanoid@3.3.11: {} - nanoid@5.1.6: {} - - negotiator@1.0.0: {} + nanoid@3.3.19: {} - node-eval@2.0.0: - dependencies: - path-is-absolute: 1.0.1 + nanoid@6.0.1: {} node-releases@2.0.36: {} - nwsapi@2.2.23: {} - object-assign@4.1.1: {} - object-inspect@1.13.4: {} - object-path@0.11.8: {} - obug@2.1.1: {} - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 + obug@2.2.1: {} outdent@0.8.0: {} @@ -3578,20 +3052,12 @@ snapshots: package-manager-detector@1.6.0: {} - parse5@7.3.0: + parse5@8.0.1: dependencies: - entities: 6.0.1 - - parseurl@1.3.3: {} + entities: 8.1.0 path-browserify@1.0.1: {} - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-to-regexp@8.3.0: {} - pathe@2.0.3: {} perfect-debounce@1.0.0: {} @@ -3600,13 +3066,9 @@ snapshots: picomatch@2.3.1: {} - picomatch@4.0.3: {} - - pixelmatch@7.1.0: - dependencies: - pngjs: 7.0.0 + picomatch@4.0.4: {} - pkce-challenge@5.0.1: {} + picomatch@4.0.7: {} pkg-types@2.3.0: dependencies: @@ -3614,48 +3076,38 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 - playwright-core@1.58.2: {} + playwright-core@1.63.0: {} - playwright@1.58.2: + playwright@1.63.0: dependencies: - playwright-core: 1.58.2 - optionalDependencies: - fsevents: 2.3.2 + playwright-core: 1.63.0 pluralize@8.0.0: {} pngjs@7.0.0: {} - postcss-discard-duplicates@7.0.2(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - - postcss-discard-empty@7.0.1(postcss@8.5.6): + postcss-discard-duplicates@7.0.2(postcss@8.5.14): dependencies: - postcss: 8.5.6 + postcss: 8.5.14 - postcss-merge-rules@7.0.7(postcss@8.5.6): + postcss-discard-empty@7.0.1(postcss@8.5.14): dependencies: - browserslist: 4.28.0 - caniuse-api: 3.0.0 - cssnano-utils: 5.0.1(postcss@8.5.6) - postcss: 8.5.6 - postcss-selector-parser: 7.1.1 + postcss: 8.5.14 - postcss-minify-selectors@7.0.5(postcss@8.5.6): + postcss-minify-selectors@7.0.5(postcss@8.5.14): dependencies: cssesc: 3.0.0 - postcss: 8.5.6 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 - postcss-nested@7.0.2(postcss@8.5.6): + postcss-nested@7.0.2(postcss@8.5.14): dependencies: - postcss: 8.5.6 + postcss: 8.5.14 postcss-selector-parser: 7.1.1 - postcss-normalize-whitespace@7.0.1(postcss@8.5.6): + postcss-normalize-whitespace@7.0.1(postcss@8.5.14): dependencies: - postcss: 8.5.6 + postcss: 8.5.14 postcss-value-parser: 4.2.0 postcss-selector-parser@7.1.1: @@ -3665,15 +3117,15 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.6: + postcss@8.5.14: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.8: + postcss@8.5.28: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.19 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -3685,178 +3137,73 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - punycode@2.3.1: {} - qs@6.15.0: - dependencies: - side-channel: 1.1.0 - queue-microtask@1.2.3: {} - range-parser@1.2.1: {} - - raw-body@3.0.2: + react-dom@19.3.0(react@19.3.0): dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.7.2 - unpipe: 1.0.0 + react: 19.3.0 + scheduler: 0.28.0 - react-dom@19.2.0(react@19.2.0): + react-hook-form@7.88.0(react@19.3.0): dependencies: - react: 19.2.0 - scheduler: 0.27.0 + react: 19.3.0 - react-hook-form@7.66.1(react@19.2.0): - dependencies: - react: 19.2.0 - - react-imask@7.6.1(react@19.2.0): + react-imask@7.6.1(react@19.3.0): dependencies: imask: 7.6.1 prop-types: 15.8.1 - react: 19.2.0 + react: 19.3.0 react-is@16.13.1: {} - react-refresh@0.18.0: {} - - react@19.2.0: {} + react@19.3.0: {} readdirp@4.1.2: {} require-from-string@2.0.2: {} + resolve-pkg-maps@1.0.0: {} + reusify@1.1.0: {} - rollup@4.60.0: + rolldown@1.2.9: dependencies: - '@types/estree': 1.0.8 + '@oxc-project/types': 0.150.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.0 - '@rollup/rollup-android-arm64': 4.60.0 - '@rollup/rollup-darwin-arm64': 4.60.0 - '@rollup/rollup-darwin-x64': 4.60.0 - '@rollup/rollup-freebsd-arm64': 4.60.0 - '@rollup/rollup-freebsd-x64': 4.60.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.0 - '@rollup/rollup-linux-arm-musleabihf': 4.60.0 - '@rollup/rollup-linux-arm64-gnu': 4.60.0 - '@rollup/rollup-linux-arm64-musl': 4.60.0 - '@rollup/rollup-linux-loong64-gnu': 4.60.0 - '@rollup/rollup-linux-loong64-musl': 4.60.0 - '@rollup/rollup-linux-ppc64-gnu': 4.60.0 - '@rollup/rollup-linux-ppc64-musl': 4.60.0 - '@rollup/rollup-linux-riscv64-gnu': 4.60.0 - '@rollup/rollup-linux-riscv64-musl': 4.60.0 - '@rollup/rollup-linux-s390x-gnu': 4.60.0 - '@rollup/rollup-linux-x64-gnu': 4.60.0 - '@rollup/rollup-linux-x64-musl': 4.60.0 - '@rollup/rollup-openbsd-x64': 4.60.0 - '@rollup/rollup-openharmony-arm64': 4.60.0 - '@rollup/rollup-win32-arm64-msvc': 4.60.0 - '@rollup/rollup-win32-ia32-msvc': 4.60.0 - '@rollup/rollup-win32-x64-gnu': 4.60.0 - '@rollup/rollup-win32-x64-msvc': 4.60.0 - fsevents: 2.3.3 - - router@2.2.0: - dependencies: - debug: 4.4.3 - depd: 2.0.0 - is-promise: 4.0.0 - parseurl: 1.3.3 - path-to-regexp: 8.3.0 - transitivePeerDependencies: - - supports-color - - rrweb-cssom@0.8.0: {} + '@rolldown/binding-android-arm-eabi': 1.2.9 + '@rolldown/binding-android-arm64': 1.2.9 + '@rolldown/binding-darwin-arm64': 1.2.9 + '@rolldown/binding-darwin-x64': 1.2.9 + '@rolldown/binding-freebsd-x64': 1.2.9 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.9 + '@rolldown/binding-linux-arm64-gnu': 1.2.9 + '@rolldown/binding-linux-arm64-musl': 1.2.9 + '@rolldown/binding-linux-ppc64-gnu': 1.2.9 + '@rolldown/binding-linux-s390x-gnu': 1.2.9 + '@rolldown/binding-linux-x64-gnu': 1.2.9 + '@rolldown/binding-linux-x64-musl': 1.2.9 + '@rolldown/binding-openharmony-arm64': 1.2.9 + '@rolldown/binding-win32-arm64-msvc': 1.2.9 + '@rolldown/binding-win32-x64-msvc': 1.2.9 run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - safer-buffer@2.1.2: {} - saxes@6.0.0: dependencies: xmlchars: 2.2.0 - scheduler@0.27.0: {} - - semver@6.3.1: {} - - send@1.2.1: - dependencies: - debug: 4.4.3 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 2.0.0 - http-errors: 2.0.1 - mime-types: 3.0.2 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - - seroval-plugins@1.5.1(seroval@1.5.1): - dependencies: - seroval: 1.5.1 - - seroval@1.5.1: {} - - serve-static@2.2.1: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 1.2.1 - transitivePeerDependencies: - - supports-color - - setprototypeof@1.2.0: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - side-channel-list@1.0.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - - side-channel-map@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 + scheduler@0.28.0: {} - side-channel-weakmap@1.0.2: + seroval-plugins@1.6.7(seroval@1.6.7): dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - object-inspect: 1.13.4 - side-channel-map: 1.0.1 + seroval: 1.6.7 - side-channel@1.1.0: - dependencies: - es-errors: 1.3.0 - object-inspect: 1.13.4 - side-channel-list: 1.0.0 - side-channel-map: 1.0.1 - side-channel-weakmap: 1.0.2 + seroval@1.6.7: {} siginfo@2.0.0: {} @@ -3878,9 +3225,7 @@ snapshots: stackback@0.0.2: {} - statuses@2.0.2: {} - - std-env@3.10.0: {} + std-env@4.2.0: {} string-width@4.2.3: dependencies: @@ -3892,8 +3237,6 @@ snapshots: dependencies: ansi-regex: 5.0.1 - symbol-tree@3.2.4: {} - table@6.9.0: dependencies: ajv: 8.18.0 @@ -3902,172 +3245,162 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tiny-invariant@1.3.3: {} + tinybench@6.1.4: {} - tiny-warning@1.0.3: {} - - tinybench@2.9.0: {} - - tinyexec@1.0.4: {} + tinyexec@1.3.0: {} tinyglobby@0.2.15: dependencies: - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + + tinyglobby@0.2.17: + dependencies: + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 - tinyrainbow@3.1.0: {} + tinyrainbow@3.1.1: {} - tldts-core@6.1.86: {} + tldts-core@7.4.13: {} - tldts@6.1.86: + tldts@7.4.13: dependencies: - tldts-core: 6.1.86 + tldts-core: 7.4.13 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} - totalist@3.0.1: {} - tough-cookie@5.1.2: + tough-cookie@6.0.2: dependencies: - tldts: 6.1.86 + tldts: 7.4.13 - tr46@5.1.1: + tr46@6.0.0: dependencies: punycode: 2.3.1 - ts-evaluator@1.2.0(jsdom@26.1.0)(typescript@5.9.3): + ts-evaluator@1.2.0(jsdom@30.1.0)(typescript@7.0.2): dependencies: ansi-colors: 4.1.3 crosspath: 2.0.0 object-path: 0.11.8 - typescript: 5.9.3 + typescript: 7.0.2 optionalDependencies: - jsdom: 26.1.0 + jsdom: 30.1.0 - ts-morph@27.0.2: + ts-morph@28.0.0: dependencies: - '@ts-morph/common': 0.28.1 + '@ts-morph/common': 0.29.0 code-block-writer: 13.0.3 ts-pattern@5.9.0: {} - tsconfck@3.1.6(typescript@5.9.3): - optionalDependencies: - typescript: 5.9.3 - - type-is@2.0.1: - dependencies: - content-type: 1.0.5 - media-typer: 1.1.0 - mime-types: 3.0.2 - - typescript@5.9.3: {} + typescript@6.0.2: {} - undici-types@7.16.0: {} + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + + undici-types@8.9.0: {} + + undici@8.10.2: {} universalify@2.0.1: {} - unpipe@1.0.0: {} - - update-browserslist-db@1.2.3(browserslist@4.28.0): - dependencies: - browserslist: 4.28.0 - escalade: 3.2.0 - picocolors: 1.1.1 - update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: browserslist: 4.28.1 escalade: 3.2.0 picocolors: 1.1.1 - use-sync-external-store@1.6.0(react@19.2.0): + use-sync-external-store@1.6.0(react@19.3.0): dependencies: - react: 19.2.0 + react: 19.3.0 util-deprecate@1.0.2: {} - valibot@1.2.0(typescript@5.9.3): + valibot@1.5.0(typescript@7.0.2): optionalDependencies: - typescript: 5.9.3 - - vary@1.1.2: {} + typescript: 7.0.2 - vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2): + vite@8.3.0(@types/node@26.6.1): dependencies: - esbuild: 0.25.12 - fdir: 6.5.0(picomatch@4.0.3) - picomatch: 4.0.3 - postcss: 8.5.8 - rollup: 4.60.0 - tinyglobby: 0.2.15 + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.28 + rolldown: 1.2.9 + tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 24.10.1 + '@types/node': 26.6.1 fsevents: 2.3.3 - lightningcss: 1.30.2 - - vitest@4.0.18(@types/node@24.10.1)(jsdom@26.1.0)(lightningcss@1.30.2): - dependencies: - '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.2.4(@types/node@24.10.1)(lightningcss@1.30.2)) - '@vitest/pretty-format': 4.0.18 - '@vitest/runner': 4.0.18 - '@vitest/snapshot': 4.0.18 - '@vitest/spy': 4.0.18 - '@vitest/utils': 4.0.18 - es-module-lexer: 1.7.0 - expect-type: 1.3.0 - magic-string: 0.30.21 - obug: 2.1.1 - pathe: 2.0.3 - picomatch: 4.0.3 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 1.0.4 - tinyglobby: 0.2.15 - tinyrainbow: 3.1.0 - vite: 7.2.4(@types/node@24.10.1)(lightningcss@1.30.2) + + vitest@5.0.1(@types/node@26.6.1)(@vitest/ui@5.0.1)(jsdom@30.1.0)(vite@8.3.0(@types/node@26.6.1)): + dependencies: + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.1(vite@8.3.0(@types/node@26.6.1)) + chai: 6.2.2 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.1 + obug: 2.2.1 + picomatch: 4.0.7 + std-env: 4.2.0 + tinybench: 6.1.4 + tinyexec: 1.3.0 + tinyglobby: 0.2.17 + vite: 8.3.0(@types/node@26.6.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 24.10.1 - jsdom: 26.1.0 + '@types/node': 26.6.1 + '@vitest/ui': 5.0.1(vitest@5.0.1) + jsdom: 30.1.0 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - terser - - tsx - - yaml w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 - webidl-conversions@7.0.0: {} - - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 + webidl-conversions@8.0.1: {} - whatwg-mimetype@4.0.0: {} + whatwg-mimetype@5.0.0: {} - whatwg-url@14.2.0: + whatwg-url@16.0.1: dependencies: - tr46: 5.1.1 - webidl-conversions: 7.0.0 + '@exodus/bytes': 1.15.1 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' - which@2.0.2: + whatwg-url@17.1.1: dependencies: - isexe: 2.0.0 + '@exodus/bytes': 1.15.1 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' why-is-node-running@2.3.0: dependencies: @@ -4076,20 +3409,13 @@ snapshots: wordwrapjs@5.1.1: {} - wrappy@1.0.2: {} - - ws@8.20.0: {} + ws@8.21.3: {} xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} - yallist@3.1.1: {} - yocto-queue@1.2.2: {} - zod-to-json-schema@3.25.1(zod@4.3.6): - dependencies: - zod: 4.3.6 - - zod@4.3.6: {} + zod@4.3.6: + optional: true diff --git a/scripts/flat-to-xml.mjs b/scripts/flat-to-xml.mjs index af321bc..e17af63 100644 --- a/scripts/flat-to-xml.mjs +++ b/scripts/flat-to-xml.mjs @@ -222,7 +222,7 @@ function buildXml(journals, dateCloture) { parts.push(`${indent(1)}`) parts.push("") - return parts.join("\n") + "\n" + return `${parts.join("\n")}\n` } // --------------------------------------------------------------------------- diff --git a/tests/engine/checks.test.ts b/tests/engine/checks.test.ts index a26861e..f0e0345 100644 --- a/tests/engine/checks.test.ts +++ b/tests/engine/checks.test.ts @@ -1,32 +1,32 @@ import { describe, expect, it } from "vitest" import { - checkFileName, - checkHeaderPresence, - checkColumnOrder, + checkChronologicalOrder, checkColumnCount, - checkSeparator, - checkDateFormat, - checkNumericFormat, + checkColumnOrder, checkCompteNum, - checkMandatoryFields, + checkDateFormat, + checkDateValidity, + checkDateYearRange, checkDebitCredit, - checkSensValues, - checkChronologicalOrder, - checkEcritureNumSequence, - checkOpeningEntries, checkDebitCreditBalance, - checkEncoding, + checkDebitCreditExclusive, + checkEcritureNumSequence, checkEmptyFile, - checkDateValidity, - checkPieceDateCoherence, - checkFieldCountMismatch, checkEmptyLines, - checkDebitCreditExclusive, + checkEncoding, + checkFieldCountMismatch, + checkFileName, + checkHeaderPresence, + checkMandatoryFields, checkNumericDotSeparator, + checkNumericFormat, checkNumericThousandsSeparator, - checkDateYearRange, + checkOpeningEntries, + checkPieceDateCoherence, + checkSensValues, + checkSeparator, } from "../../packages/engine/src/fec/checks.js" -import type { FecParsedFile, FecParsedLineIssue } from "../../packages/engine/src/fec/types.js" +import type { FecParsedFile } from "../../packages/engine/src/fec/types.js" import { BIC_COLUMN_NAMES } from "../../packages/engine/src/fec/types.js" // --------------------------------------------------------------------------- @@ -966,7 +966,7 @@ describe("checkFieldCountMismatch", () => { it("should return nothing when lineIssues is undefined", () => { const parsed = makeParsed() - delete (parsed as Record)["lineIssues"] + delete (parsed as Record).lineIssues expect(checkFieldCountMismatch(parsed)).toEqual([]) }) }) diff --git a/tests/engine/parseFlatFile.test.ts b/tests/engine/parseFlatFile.test.ts index a60f1ea..7d4b3b6 100644 --- a/tests/engine/parseFlatFile.test.ts +++ b/tests/engine/parseFlatFile.test.ts @@ -144,7 +144,7 @@ describe("parseFlatFile", () => { const result = parseFlatFile(content, "whitespace.txt") expect(result.headers[0]).toBe("A") - expect(result.entries[0]!["A"]).toBe("1") + expect(result.entries[0]!.A).toBe("1") }) }) diff --git a/tests/engine/parseXmlFile.test.ts b/tests/engine/parseXmlFile.test.ts index bd88488..bb9d96e 100644 --- a/tests/engine/parseXmlFile.test.ts +++ b/tests/engine/parseXmlFile.test.ts @@ -82,8 +82,8 @@ describe("parseXmlFile", () => { for (const entry of result.entries) { // JournalCode and JournalLib come from parent element // They should be populated (possibly empty if the XML doesn't have them) - expect(typeof entry["JournalCode"]).toBe("string") - expect(typeof entry["JournalLib"]).toBe("string") + expect(typeof entry.JournalCode).toBe("string") + expect(typeof entry.JournalLib).toBe("string") } }) @@ -92,7 +92,7 @@ describe("parseXmlFile", () => { const result = parseXmlFile(content, fileName) for (const entry of result.entries) { - const compteNum = entry["CompteNum"]! + const compteNum = entry.CompteNum! if (compteNum.length > 0) { // The first 3 characters should be digits per FEC spec expect(compteNum.length).toBeGreaterThanOrEqual(3) @@ -156,8 +156,8 @@ describe("parseXmlFile", () => { const result = parseXmlFile(content, "montantsens_d.xml") expect(result.entries.length).toBe(1) - expect(result.entries[0]!["Debit"]).toBe("1000.50") - expect(result.entries[0]!["Credit"]).toBe("0") + expect(result.entries[0]!.Debit).toBe("1000.50") + expect(result.entries[0]!.Credit).toBe("0") }) it("should convert Montant with Sens=C to Credit", () => { @@ -185,8 +185,8 @@ describe("parseXmlFile", () => { const result = parseXmlFile(content, "montantsens_c.xml") expect(result.entries.length).toBe(1) - expect(result.entries[0]!["Debit"]).toBe("0") - expect(result.entries[0]!["Credit"]).toBe("500.25") + expect(result.entries[0]!.Debit).toBe("0") + expect(result.entries[0]!.Credit).toBe("500.25") }) it("should convert Montant with Sens=+1 to Debit", () => { @@ -213,8 +213,8 @@ describe("parseXmlFile", () => { ` const result = parseXmlFile(content, "montantsens_plus1.xml") - expect(result.entries[0]!["Debit"]).toBe("750") - expect(result.entries[0]!["Credit"]).toBe("0") + expect(result.entries[0]!.Debit).toBe("750") + expect(result.entries[0]!.Credit).toBe("0") }) it("should convert Montant with Sens=-1 to Credit", () => { @@ -241,8 +241,8 @@ describe("parseXmlFile", () => { ` const result = parseXmlFile(content, "montantsens_minus1.xml") - expect(result.entries[0]!["Debit"]).toBe("0") - expect(result.entries[0]!["Credit"]).toBe("250") + expect(result.entries[0]!.Debit).toBe("0") + expect(result.entries[0]!.Credit).toBe("250") }) it("should not overwrite existing Debit/Credit when Montant/Sens also present", () => { @@ -272,8 +272,8 @@ describe("parseXmlFile", () => { const result = parseXmlFile(content, "both.xml") // Existing Debit/Credit should take precedence - expect(result.entries[0]!["Debit"]).toBe("999") - expect(result.entries[0]!["Credit"]).toBe("0") + expect(result.entries[0]!.Debit).toBe("999") + expect(result.entries[0]!.Credit).toBe("0") }) it("should handle invalid Sens value gracefully", () => { @@ -301,8 +301,8 @@ describe("parseXmlFile", () => { const result = parseXmlFile(content, "invalidsens.xml") // Invalid Sens = empty Debit/Credit, checks will catch it - expect(result.entries[0]!["Debit"]).toBe("") - expect(result.entries[0]!["Credit"]).toBe("") + expect(result.entries[0]!.Debit).toBe("") + expect(result.entries[0]!.Credit).toBe("") }) }) }) diff --git a/tests/engine/validateFecFile.test.ts b/tests/engine/validateFecFile.test.ts index 529b339..a878e6c 100644 --- a/tests/engine/validateFecFile.test.ts +++ b/tests/engine/validateFecFile.test.ts @@ -1,8 +1,8 @@ import { readFileSync } from "node:fs" import path from "node:path" import { describe, expect, it } from "vitest" +import type { FecValidationResult } from "../../packages/engine/src/fec/types.js" import { validateFecFile } from "../../packages/engine/src/fec/validate.js" -import type { FecCheckResult, FecValidationResult } from "../../packages/engine/src/fec/types.js" const TXT_SAMPLES_DIR = path.resolve(__dirname, "../../samples/txt") const XML_SAMPLES_DIR = path.resolve(__dirname, "../../samples/xml") @@ -15,30 +15,10 @@ function readXmlSample(fileName: string): string { return readFileSync(path.join(XML_SAMPLES_DIR, fileName), "utf-8") } -function getCheckIds(result: FecValidationResult): string[] { - return result.checks.map((c) => c.id) -} - -function getErrorIds(result: FecValidationResult): string[] { - return result.checks.filter((c) => c.severity === "error").map((c) => c.id) -} - -function getWarningIds(result: FecValidationResult): string[] { - return result.checks.filter((c) => c.severity === "warning").map((c) => c.id) -} - -function hasCheck(result: FecValidationResult, id: string): boolean { - return result.checks.some((c) => c.id === id) -} - function hasError(result: FecValidationResult, id: string): boolean { return result.checks.some((c) => c.id === id && c.severity === "error") } -function hasWarning(result: FecValidationResult, id: string): boolean { - return result.checks.some((c) => c.id === id && c.severity === "warning") -} - // --------------------------------------------------------------------------- // Flat file samples // --------------------------------------------------------------------------- diff --git a/workflows/build/website/Dockerfile b/workflows/build/website/Dockerfile index 5732c50..274ac6a 100644 --- a/workflows/build/website/Dockerfile +++ b/workflows/build/website/Dockerfile @@ -4,7 +4,7 @@ # Multi-stage build: build React app with Vite, serve with Nginx # ============================================================================== -FROM node:22-alpine AS base +FROM node:24-alpine AS base RUN npm i -g pnpm@latest # Define build arguments for Vite environment variables @@ -24,7 +24,7 @@ WORKDIR /root COPY . . RUN CI=true pnpm install --no-frozen-lockfile ARG CACHEBUST -RUN pnpm --filter='@arrhes/fec-engine' run test +RUN pnpm --filter='@comptasse/fec-engine' run test RUN pnpm run build # Deploy stage - serve static files with Nginx diff --git a/workflows/dev/website/Dockerfile b/workflows/dev/website/Dockerfile index f27b6e3..7cb52a9 100644 --- a/workflows/dev/website/Dockerfile +++ b/workflows/dev/website/Dockerfile @@ -6,7 +6,7 @@ # Dependencies are installed inside the container on startup (CMD). # ============================================================================== -ARG NODE_VERSION="22.16.0" +ARG NODE_VERSION="24" ARG PNPM_VERSION="10.12.1" FROM node:${NODE_VERSION}-bullseye-slim