From 5d754abe13c16af7ff890c58a6920bdee5ac1d0d Mon Sep 17 00:00:00 2001 From: Kai Sereni Date: Thu, 7 Aug 2025 15:23:36 -0700 Subject: [PATCH] Updated to latest node version, typing, compatibility --- direct-file/.vscode/settings.json | 2 + .../df-client/df-client-app/package.json | 14 +- .../df-client/df-client-app/postcss.config.js | 4 +- .../df-client/df-client-app/src/App.test.tsx | 1 + .../df-client/df-client-app/src/App.tsx | 2 +- .../src/all-screens/AllScreensMenu.tsx | 8 +- .../all-screens/AllScreensScreenHeader.tsx | 8 +- .../stateTaxesSettingsDefaults.tsx | 2 +- .../df-client-app/src/auth/session.test.ts | 1 + .../src/components/Alert/MefAlert.test.tsx | 1 + .../CertifyCheckbox/CertifyCheckbox.test.tsx | 1 + .../ClosingSoonBanner.test.tsx | 1 + .../CollectionDataPreview.test.tsx | 3 +- .../ConfirmationModal.test.tsx | 1 + .../ConnectivityBanner.test.tsx | 1 + .../ContentDisplay/ContentDisplay.test.tsx | 1 + .../EndOfFilingSeasonBanner.test.tsx | 1 + .../FederalReturnStatusAlert.test.tsx | 1 + .../FormControl/ComplexFormControl.test.tsx | 1 + .../FormControl/DFTextInputMask.tsx | 2 +- .../FormControl/TextFormControl.test.tsx | 1 + .../FormControl/TextFormControl.tsx | 4 +- .../src/components/Head/Head.test.tsx | 1 + .../src/components/Header/Header.test.tsx | 1 + .../components/IconDisplay/IconDisplay.tsx | 3 +- .../src/components/IconList/IconList.test.tsx | 1 + .../IntroContent/IntroContent.test.tsx | 1 + .../src/components/QuietErrorMessage.tsx | 8 +- .../ScreenAlertAggregator.tsx | 10 +- .../SectionsAlertAggregator.test.tsx | 1 + .../StateTaxesCard/StateTaxesCard.test.tsx | 1 + .../SubmitButton/SubmitButton.test.tsx | 1 + .../AggregateSummaryAlert.test.tsx | 1 + .../SummaryAlert/SummaryErrorAlert.test.tsx | 1 + .../SummaryTable/SummaryTable.test.tsx | 1 + .../components/SurveyModal/SurveryModal.tsx | 2 +- .../SystemAlertAggregator.test.tsx | 1 + .../PriorYearTaxReturnCard.test.tsx | 1 + .../TaxReturnCard/TaxReturnCard.test.tsx | 1 + .../Translation/Translation.test.tsx | 1 + .../ChecklistSubcategory.test.tsx | 1 + .../factTypes/Address/Address.test.tsx | 1 + .../BankAccount/BankAccount.test.tsx | 1 + .../factTypes/Boolean/Boolean.test.tsx | 1 + .../CollectionItemReference.test.tsx | 1 + .../CollectionItemReference.tsx | 2 +- .../factTypes/DatePicker/DatePicker.test.tsx | 1 + .../src/components/factTypes/Ein/Ein.test.tsx | 1 + .../components/factTypes/Enum/Enum.test.tsx | 1 + .../src/components/factTypes/Enum/Enum.tsx | 4 +- .../GenericString/GenericString.test.tsx | 1 + .../factTypes/MultiEnum/MultiEnum.test.tsx | 1 + .../factTypes/MultiEnum/MultiEnum.tsx | 2 +- .../PhoneNumber/PhoneNumber.test.tsx | 1 + .../src/components/factTypes/Tin/Tin.test.tsx | 1 + .../src/components/screenUtils.ts | 2 +- .../customSystemAlertConfigs.tsx | 2 +- .../generate-src/readRawFacts.ts | 8 +- .../src/fact-dictionary/generate-src/xml-src | 1 - .../fact-dictionary/generate-src/xmlFactPaths | 1 - .../df-client-app/src/flow/Condition.test.ts | 1 + .../src/hooks/useApiHook.test.tsx | 1 + .../src/hooks/useEnumOptions.test.ts | 1 + .../src/hooks/useFactControl.test.ts | 1 + .../hooks/useGetTranslationValues.test.tsx | 1 + .../hooks/useNetworkConnectionStatus.test.tsx | 1 + .../hooks/usePollForSubmissionStatus.test.tsx | 1 + .../src/hooks/useSubmit.test.tsx | 1 + .../useTranslationContextFromFacts.test.ts | 1 + .../src/hooks/useUrlTranslator.test.tsx | 1 + .../df-client-app/src/misc/apiHelpers.test.ts | 1 + .../RejectedReturnDetails.test.tsx | 1 + .../slices/data-import/DevDataImportConfig.ts | 44 +- .../dataImportAllowMixOfValidW2s.test.ts | 2 +- .../dataImportIncompleteResponse.test.ts | 2 +- .../ErrorScreen/ErrorScreen.test.tsx | 1 + .../ReturnRejectedScreen.test.tsx | 1 + .../TransferInfoModal.test.tsx | 1 + .../TransferReturnScreen.test.tsx | 1 + .../WaitingForAcceptanceScreen.test.tsx | 1 + .../src/screens/DataView.test.tsx | 1 + .../src/screens/ScreenHeader.tsx | 2 +- .../data-view/CollectionHubDataView.test.tsx | 1 + .../CollectionHubDataViewInner.test.tsx | 1 + .../data-view/CollectionItemDataView.test.tsx | 1 + .../data-view/CollectionLoopRenderer.test.tsx | 1 + .../screens/data-view/SubSubCategory.test.tsx | 1 + .../src/screens/data-view/SubSubCategory.tsx | 11 +- .../src/test/FlowRender.test.tsx | 1 + .../factDictionaryTests/paymentMethod.test.ts | 1 + .../test/functionalFlowTests/aboutYou.test.ts | 1 + .../src/test/functionalFlowTests/cdcc.test.ts | 1 + .../test/functionalFlowTests/credits.test.ts | 1 + .../functionalFlowTests/deductions.test.ts | 1 + .../test/scenarioTests/flowSnapshots.test.ts | 3 +- .../src/test/scenarioTests/jsonScenarios | 1 - .../src/test/scenarioTests/scenarios.test.ts | 3 +- .../df-client-app/src/utils/condition.ts | 7 +- .../src/utils/errorBoundary.test.tsx | 3 +- .../df-client/df-client-app/vite.config.ts | 17 +- .../df-client/df-static-site/package.json | 9 +- .../df-static-site/postcss.config.js | 4 +- .../df-client/df-static-site/src/App.tsx | 2 +- .../df-client/df-static-site/tsconfig.json | 10 +- .../df-client/df-static-site/vite.config.ts | 6 +- .../eslint-plugin-df-rules/package.json | 6 +- .../eslint-plugin-df-rules/src/index.ts | 2 +- direct-file/df-client/package-lock.json | 4261 +++++++++++------ direct-file/df-client/package.json | 9 +- direct-file/docker-compose.yaml | 17 +- 110 files changed, 3088 insertions(+), 1494 deletions(-) delete mode 120000 direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xml-src delete mode 120000 direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xmlFactPaths delete mode 120000 direct-file/df-client/df-client-app/src/test/scenarioTests/jsonScenarios diff --git a/direct-file/.vscode/settings.json b/direct-file/.vscode/settings.json index 4e2bef5..8a20cc0 100644 --- a/direct-file/.vscode/settings.json +++ b/direct-file/.vscode/settings.json @@ -7,4 +7,6 @@ "files.watcherExclude": { "**/target": true }, + "java.compile.nullAnalysis.mode": "automatic", + "java.configuration.updateBuildConfiguration": "interactive", } diff --git a/direct-file/df-client/df-client-app/package.json b/direct-file/df-client/df-client-app/package.json index a1ec26a..15d6131 100644 --- a/direct-file/df-client/df-client-app/package.json +++ b/direct-file/df-client/df-client-app/package.json @@ -28,7 +28,7 @@ "react-router-dom": "^6.27.0", "ts-pattern": "^5.5.0", "uuid": "^9.0.0", - "vite": "^5.4.15", + "vite": "^7.1.0", "vite-tsconfig-paths": "^4.2.0", "web-vitals": "^2.1.0" }, @@ -43,8 +43,6 @@ "coverage": "vitest --coverage", "export-locales": "vite-node src/scripts/exportLocales.ts", "export-ga-events": "vite-node src/scripts/exportGAEvents.ts", - "format-write": "cd .. && npm run format-write", - "format": "cd .. && npm run format", "generate-dependency-graph": "vite-node src/fact-dictionary/generateDependencyGraph.ts", "generate-fact-dictionary": "vite-node src/fact-dictionary/generate-src/generate.ts", "generate-module-graph": "vite-node src/fact-dictionary/generateModuleGraph.ts", @@ -57,7 +55,7 @@ "postimport-locales": "prettier -w src/locales", "prebuild:ts": "npm run generate-fact-dictionary", "prelint:ts": "npm run build:ts", - "prestart": "npm install; npm run generate-fact-dictionary", + "prestart": "npm install && npm run generate-fact-dictionary", "prestart:promisc": "npm run generate-fact-dictionary", "pretest:ci:3": "npm run generate-fact-dictionary", "pretest:ci:2": "npm run generate-fact-dictionary", @@ -87,8 +85,8 @@ "@types/react-dom": "^18.3.1", "@types/stringify-object": "^4.0.5", "@types/uuid": "^9.0.1", - "@vitest/coverage-v8": "^1.4.0", - "@vitest/ui": "^1.4.0", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", "autoprefixer": "^10.4.14", "browserslist-to-esbuild": "^1.2.0", "eslint-plugin-df-rules": "^1.0.0", @@ -101,9 +99,9 @@ "stringify-object": "^5.0.0", "ts-node": "^10.9.1", "typescript": "5.6.3", - "vite-node": "^2.1.8", + "vite-node": "^3.2.4", "vite-plugin-singlefile": "^0.13.5", - "vitest": "^1.6.1", + "vitest": "^3.2.4", "zod": "^3.23.8" } } diff --git a/direct-file/df-client/df-client-app/postcss.config.js b/direct-file/df-client/df-client-app/postcss.config.js index a47ef4f..48b0d18 100644 --- a/direct-file/df-client/df-client-app/postcss.config.js +++ b/direct-file/df-client/df-client-app/postcss.config.js @@ -1,5 +1,5 @@ -module.exports = { +export default { plugins: { autoprefixer: {}, }, -}; +}; \ No newline at end of file diff --git a/direct-file/df-client/df-client-app/src/App.test.tsx b/direct-file/df-client/df-client-app/src/App.test.tsx index 2f62446..7038d3c 100644 --- a/direct-file/df-client/df-client-app/src/App.test.tsx +++ b/direct-file/df-client/df-client-app/src/App.test.tsx @@ -1,6 +1,7 @@ import { render, screen } from '@testing-library/react'; import { mockUseTranslation } from './test/mocks/mockFunctions.js'; import App from './App.js'; +import { vi } from 'vitest'; vi.mock(`react-i18next`, () => ({ useTranslation: mockUseTranslation, diff --git a/direct-file/df-client/df-client-app/src/App.tsx b/direct-file/df-client/df-client-app/src/App.tsx index 0eedff4..2431f81 100644 --- a/direct-file/df-client/df-client-app/src/App.tsx +++ b/direct-file/df-client/df-client-app/src/App.tsx @@ -36,7 +36,7 @@ import { isFlowEnabled } from './constants/pageConstants.js'; import { store } from './redux/store.js'; // These styles are global so we make sure it is imported at the root -import '@trussworks/react-uswds/lib/index.css'; +import '../node_modules/@trussworks/react-uswds/lib/index.css' import FileYourStateTaxesDetails from './components/FileYourStateTaxesDetails/FileYourStateTaxesDetails.js'; import { FactGraphTranslationContext } from './context/FactGraphTranslationContext.js'; import { DataImportMagicScreen } from './components/DataImportMagicScreen/DataImportMagicScreen.js'; diff --git a/direct-file/df-client/df-client-app/src/all-screens/AllScreensMenu.tsx b/direct-file/df-client/df-client-app/src/all-screens/AllScreensMenu.tsx index 128dc59..368aa2e 100644 --- a/direct-file/df-client/df-client-app/src/all-screens/AllScreensMenu.tsx +++ b/direct-file/df-client/df-client-app/src/all-screens/AllScreensMenu.tsx @@ -208,28 +208,28 @@ const AllScreensMenu: FC = ({ id='check-show-conditionals' name='conditionals' label='Show conditional screen logic' - onChange={(e) => onConditionalScreenLogicToggle(e.target.checked)} + onChange={(e: any) => onConditionalScreenLogicToggle(e.target.checked)} checked={showConditionalScreenLogic} /> setShowModals(e.target.checked)} + onChange={(e: any) => setShowModals(e.target.checked)} checked={showModals} /> setShowDataviews(e.target.checked)} + onChange={(e: any) => setShowDataviews(e.target.checked)} checked={showDataviews} /> setHideAlerts(e.target.checked)} + onChange={(e: any) => setHideAlerts(e.target.checked)} checked={hideAlerts} /> diff --git a/direct-file/df-client/df-client-app/src/all-screens/AllScreensScreenHeader.tsx b/direct-file/df-client/df-client-app/src/all-screens/AllScreensScreenHeader.tsx index 2c5e714..4a81c19 100644 --- a/direct-file/df-client/df-client-app/src/all-screens/AllScreensScreenHeader.tsx +++ b/direct-file/df-client/df-client-app/src/all-screens/AllScreensScreenHeader.tsx @@ -1,6 +1,6 @@ import { FC } from 'react'; import { Accordion, Tag } from '@trussworks/react-uswds'; -import { AccordionItemProps } from '@trussworks/react-uswds/lib/components/Accordion/Accordion.js'; +import { CommonAccordionItemProps } from '@irs/df-common'; import { dependenciesPerTaxTest } from './AllScreensContext.js'; import { BatchDetails, CONTENT_BATCHES, calculateScreenStatus } from '../flow/batches.js'; import { ScreenConfig } from '../flow/ScreenConfig.js'; @@ -85,7 +85,7 @@ const AllScreensScreenHeader: FC = ({ screen }) => ); if (taxTestsAffectedByScreen.length > 0) { - const taxTestsItems: AccordionItemProps[] = [ + const taxTestsItems: CommonAccordionItemProps[] = [ { title: `Tax tests affected (${taxTestsAffectedByScreen.length})`, content: ( @@ -106,7 +106,7 @@ const AllScreensScreenHeader: FC = ({ screen }) => if (screen.batches.length > 0) { const batchDetailsContent = getBatchDetailsContent(screen); - const batchDetailsItems: AccordionItemProps[] = [ + const batchDetailsItems: CommonAccordionItemProps[] = [ { title: `Batch Details`, content: batchDetailsContent, @@ -135,7 +135,7 @@ const AllScreensScreenHeader: FC = ({ screen }) => screenHeaderTitle.push({taxTestsAffectedByScreen.length} tests); } - const screenHeaderItems: AccordionItemProps[] = [ + const screenHeaderItems: CommonAccordionItemProps[] = [ { title: screenHeaderTitle, content: screenHeaderContent, diff --git a/direct-file/df-client/df-client-app/src/all-screens/postSubmission/stateTaxesSettingsDefaults.tsx b/direct-file/df-client/df-client-app/src/all-screens/postSubmission/stateTaxesSettingsDefaults.tsx index 54abab3..ac4a3c0 100644 --- a/direct-file/df-client/df-client-app/src/all-screens/postSubmission/stateTaxesSettingsDefaults.tsx +++ b/direct-file/df-client/df-client-app/src/all-screens/postSubmission/stateTaxesSettingsDefaults.tsx @@ -6,7 +6,7 @@ import { v4 as uuidv4 } from 'uuid'; import { SubmissionStatusContextType } from '../../context/SubmissionStatusContext/SubmissionStatusContext.js'; import { TaxReturnSubmissionStatus } from '../../types/core.js'; import { InterceptingFactGraph } from '../../factgraph/InterceptingFactGraph.js'; -import scenarioJson from '../../test/scenarioTests/jsonScenarios/mfj-all-income-types-withholding.json'; +import scenarioJson from '../../../../../backend/src/test/resources/scenarios/mfj-all-income-types-withholding.json' import { TaxReturnsSliceStateData } from '../../redux/slices/tax-return/taxReturnSlice.js'; const noop = () => { diff --git a/direct-file/df-client/df-client-app/src/auth/session.test.ts b/direct-file/df-client/df-client-app/src/auth/session.test.ts index 7055439..1057f28 100644 --- a/direct-file/df-client/df-client-app/src/auth/session.test.ts +++ b/direct-file/df-client/df-client-app/src/auth/session.test.ts @@ -1,5 +1,6 @@ import { sessionStorageMock } from '../test/mocks/mockFunctions.js'; import { SessionClock } from './session.js'; +import { vi } from 'vitest'; const SessionManagerMock = { closeAlert: vi.fn(), diff --git a/direct-file/df-client/df-client-app/src/components/Alert/MefAlert.test.tsx b/direct-file/df-client/df-client-app/src/components/Alert/MefAlert.test.tsx index 7a72aec..4ef0482 100644 --- a/direct-file/df-client/df-client-app/src/components/Alert/MefAlert.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/Alert/MefAlert.test.tsx @@ -1,5 +1,6 @@ import MefAlert, { MefAlertProps } from './MefAlert.js'; import { render, screen, within } from '@testing-library/react'; +import { vi } from 'vitest'; const { mockT, mockI18n } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/CertifyCheckbox/CertifyCheckbox.test.tsx b/direct-file/df-client/df-client-app/src/components/CertifyCheckbox/CertifyCheckbox.test.tsx index dce2217..8c7671f 100644 --- a/direct-file/df-client/df-client-app/src/components/CertifyCheckbox/CertifyCheckbox.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/CertifyCheckbox/CertifyCheckbox.test.tsx @@ -1,4 +1,5 @@ import { i18n, renderWithTranslationProvider as render } from '../../test/test-utils.js'; +import { vi } from 'vitest'; import CertifyCheckbox from './CertifyCheckbox.js'; diff --git a/direct-file/df-client/df-client-app/src/components/ClosingSoonBanner/ClosingSoonBanner.test.tsx b/direct-file/df-client/df-client-app/src/components/ClosingSoonBanner/ClosingSoonBanner.test.tsx index 5634a90..71f75ef 100644 --- a/direct-file/df-client/df-client-app/src/components/ClosingSoonBanner/ClosingSoonBanner.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/ClosingSoonBanner/ClosingSoonBanner.test.tsx @@ -5,6 +5,7 @@ import { Mock } from 'vitest'; import mockEnYaml from '../../locales/en.yaml'; import { mockUseTranslation } from '../../test/mocks/mockFunctions.js'; import ClosingSoonBanner from './index.js'; +import { vi } from 'vitest'; vi.mock(`react-i18next`, () => ({ useTranslation: mockUseTranslation, diff --git a/direct-file/df-client/df-client-app/src/components/CollectionDataPreview/CollectionDataPreview.test.tsx b/direct-file/df-client/df-client-app/src/components/CollectionDataPreview/CollectionDataPreview.test.tsx index 25cd077..4eb628d 100644 --- a/direct-file/df-client/df-client-app/src/components/CollectionDataPreview/CollectionDataPreview.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/CollectionDataPreview/CollectionDataPreview.test.tsx @@ -5,13 +5,14 @@ import CollectionDataPreview from './CollectionDataPreview.js'; import { Path } from '../../flow/Path.js'; import { Provider } from 'react-redux'; import { store } from '../../redux/store.js'; -import marge from '../../redux/slices/data-import/mocks/marge.json'; +import marge from '../../../../../backend/src/main/resources/dataimportservice/mocks/marge.json' import { processPopulateResult } from '../../redux/slices/data-import/processPopulateResult.js'; import { DataImportRootResponseSchema } from '../../redux/slices/data-import/schema/DataImportServiceResponse.js'; import { FactGraphContextProvider } from '../../factgraph/FactGraphContext.js'; import mockEnYaml from '../../locales/en.yaml'; import { getEmptySystemAlertsMap, SystemAlertContext } from '../../context/SystemAlertContext/SystemAlertContext.js'; import * as useApiHook from '../../hooks/useApiHook.js'; +import { vi } from 'vitest'; vi.mock(`react-i18next`, () => ({ useTranslation: mockUseTranslation, diff --git a/direct-file/df-client/df-client-app/src/components/ConfirmationModal/ConfirmationModal.test.tsx b/direct-file/df-client/df-client-app/src/components/ConfirmationModal/ConfirmationModal.test.tsx index fa3f1e7..c9589fb 100644 --- a/direct-file/df-client/df-client-app/src/components/ConfirmationModal/ConfirmationModal.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/ConfirmationModal/ConfirmationModal.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react'; import { initI18n } from '../../i18n.js'; import ConfirmationModal from './ConfirmationModal.js'; +import { vi } from 'vitest'; const i18next = await initI18n(); i18next.addResourceBundle(`test`, `translation`, { diff --git a/direct-file/df-client/df-client-app/src/components/ConnectivityBanner/ConnectivityBanner.test.tsx b/direct-file/df-client/df-client-app/src/components/ConnectivityBanner/ConnectivityBanner.test.tsx index 6e315d3..81c2b61 100644 --- a/direct-file/df-client/df-client-app/src/components/ConnectivityBanner/ConnectivityBanner.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/ConnectivityBanner/ConnectivityBanner.test.tsx @@ -7,6 +7,7 @@ import { mockUseTranslation } from '../../test/mocks/mockFunctions.js'; import { NetworkConnectionContext } from '../../context/networkConnectionContext.js'; import ConnectivityBanner from './index.js'; import { NetworkStatus } from '../../hooks/useNetworkConnectionStatus.js'; +import { vi } from 'vitest'; vi.mock(`react-i18next`, () => ({ useTranslation: mockUseTranslation, diff --git a/direct-file/df-client/df-client-app/src/components/ContentDisplay/ContentDisplay.test.tsx b/direct-file/df-client/df-client-app/src/components/ContentDisplay/ContentDisplay.test.tsx index e0bd5a5..b22757d 100644 --- a/direct-file/df-client/df-client-app/src/components/ContentDisplay/ContentDisplay.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/ContentDisplay/ContentDisplay.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react'; import { initI18n } from '../../i18n.js'; import ContentDisplay from './ContentDisplay.js'; +import { vi } from 'vitest'; vi.mock(`../../hooks/useTranslationContextFromFacts`, () => ({ default: () => { diff --git a/direct-file/df-client/df-client-app/src/components/EndOfFilingSeasonBanner/EndOfFilingSeasonBanner.test.tsx b/direct-file/df-client/df-client-app/src/components/EndOfFilingSeasonBanner/EndOfFilingSeasonBanner.test.tsx index da4e440..0b80fa6 100644 --- a/direct-file/df-client/df-client-app/src/components/EndOfFilingSeasonBanner/EndOfFilingSeasonBanner.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/EndOfFilingSeasonBanner/EndOfFilingSeasonBanner.test.tsx @@ -9,6 +9,7 @@ import { } from '../../constants/taxConstants.js'; import { v4 as uuidv4 } from 'uuid'; import { expect } from 'vitest'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/FederalReturnStatusAlert/FederalReturnStatusAlert.test.tsx b/direct-file/df-client/df-client-app/src/components/FederalReturnStatusAlert/FederalReturnStatusAlert.test.tsx index 2a162ae..224fb54 100644 --- a/direct-file/df-client/df-client-app/src/components/FederalReturnStatusAlert/FederalReturnStatusAlert.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/FederalReturnStatusAlert/FederalReturnStatusAlert.test.tsx @@ -8,6 +8,7 @@ import { v4 as uuidv4 } from 'uuid'; import { beforeAll, afterAll } from 'vitest'; import { MEF_REJECTION_ERROR_CODES } from '../../constants/rejectionConstants.js'; import { FactGraphContextProvider } from '../../factgraph/FactGraphContext.js'; +import { vi } from 'vitest'; const { t } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/FormControl/ComplexFormControl.test.tsx b/direct-file/df-client/df-client-app/src/components/FormControl/ComplexFormControl.test.tsx index 28b43cb..1f501d3 100644 --- a/direct-file/df-client/df-client-app/src/components/FormControl/ComplexFormControl.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/FormControl/ComplexFormControl.test.tsx @@ -4,6 +4,7 @@ import { ComplexFormControl } from './ComplexFormControl.js'; import { PAGE_HEADING_ID } from '../PageTitle/index.js'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { Path } from '../../fact-dictionary/Path.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/FormControl/DFTextInputMask.tsx b/direct-file/df-client/df-client-app/src/components/FormControl/DFTextInputMask.tsx index fbdf446..df9374b 100644 --- a/direct-file/df-client/df-client-app/src/components/FormControl/DFTextInputMask.tsx +++ b/direct-file/df-client/df-client-app/src/components/FormControl/DFTextInputMask.tsx @@ -1,6 +1,6 @@ import React, { forwardRef, useEffect, useState } from 'react'; import classnames from 'classnames'; -import type { TextInputProps } from '@trussworks/react-uswds/lib/components/forms/TextInput/TextInput.js'; +import type { TextInputProps } from './DFTextInput.js'; import { DFTextInput } from './DFTextInput.js'; export type AllProps = TextInputProps & { diff --git a/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.test.tsx b/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.test.tsx index 6534023..6bbe13c 100644 --- a/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.test.tsx @@ -4,6 +4,7 @@ import { userEvent } from '@testing-library/user-event'; import { TextFormControl } from './TextFormControl.js'; import { ConcretePath, JSEitherL, JSEitherR, JSeither } from '@irs/js-factgraph-scala'; import { Path } from '../../fact-dictionary/Path.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.tsx b/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.tsx index 4cfc1f2..8d4fa6e 100644 --- a/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.tsx +++ b/direct-file/df-client/df-client-app/src/components/FormControl/TextFormControl.tsx @@ -1,7 +1,7 @@ import { Dispatch, SetStateAction, useId } from 'react'; import { ConcretePath, JSeither } from '@irs/js-factgraph-scala'; import { FormGroup, InputGroup, InputPrefix, TextInput, InputSuffix } from '@trussworks/react-uswds'; -import type { TextInputProps } from '@trussworks/react-uswds/lib/components/forms/TextInput/TextInput.js'; +import type { TextInputProps } from './DFTextInput.js'; import { useFactControl } from '../../hooks/useFactControl.js'; import { buildControlErrorId, buildFormControlId, buildHintId, buildHintKey, sanitizeString } from './helpers.js'; import Translation from '../Translation/index.js'; @@ -191,7 +191,7 @@ export function TextFormControl({ onChange(event.target.value)} + onChange={(event: any) => onChange(event.target.value)} {...formControlProps} /> ); diff --git a/direct-file/df-client/df-client-app/src/components/Head/Head.test.tsx b/direct-file/df-client/df-client-app/src/components/Head/Head.test.tsx index 3088830..6032d8f 100644 --- a/direct-file/df-client/df-client-app/src/components/Head/Head.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/Head/Head.test.tsx @@ -5,6 +5,7 @@ import { mockUseTranslation } from '../../test/mocks/mockFunctions.js'; import Head from './Head.js'; import { NetworkConnectionContext } from '../../context/networkConnectionContext.js'; import { Helmet, HelmetProvider } from 'react-helmet-async'; +import { vi } from 'vitest'; vi.mock(`react-i18next`, () => ({ useTranslation: mockUseTranslation, diff --git a/direct-file/df-client/df-client-app/src/components/Header/Header.test.tsx b/direct-file/df-client/df-client-app/src/components/Header/Header.test.tsx index 0f55db4..e1cb5d8 100644 --- a/direct-file/df-client/df-client-app/src/components/Header/Header.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/Header/Header.test.tsx @@ -5,6 +5,7 @@ import { BrowserRouter } from 'react-router-dom'; import mockEnYaml from '../../locales/en.yaml'; import { sessionStorageMock, mockUseTranslation } from '../../test/mocks/mockFunctions.js'; import { authKeys } from '../../auth/constants.js'; +import { vi } from 'vitest'; import Header from './Header.js'; diff --git a/direct-file/df-client/df-client-app/src/components/IconDisplay/IconDisplay.tsx b/direct-file/df-client/df-client-app/src/components/IconDisplay/IconDisplay.tsx index 84e83b3..0e3fca8 100644 --- a/direct-file/df-client/df-client-app/src/components/IconDisplay/IconDisplay.tsx +++ b/direct-file/df-client/df-client-app/src/components/IconDisplay/IconDisplay.tsx @@ -2,7 +2,6 @@ import { FC, PropsWithChildren } from 'react'; import { Icon } from '@trussworks/react-uswds'; // mysterious linter error, but the build is fine // eslint-disable-next-line import/no-unresolved -import { IconProps } from '@trussworks/react-uswds/lib/components/Icon/Icon.js'; import classNames from 'classnames'; import styles from './IconDisplay.module.scss'; import { useTranslation } from 'react-i18next'; @@ -18,7 +17,7 @@ export type IconDisplayProps = PropsWithChildren< style?: React.CSSProperties; i18nKey?: string; isCentered?: boolean; - } & Omit + } & any >; /* we can pass in className and bare style props, which will be merged with the styles from the module, diff --git a/direct-file/df-client/df-client-app/src/components/IconList/IconList.test.tsx b/direct-file/df-client/df-client-app/src/components/IconList/IconList.test.tsx index a0fb079..022591e 100644 --- a/direct-file/df-client/df-client-app/src/components/IconList/IconList.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/IconList/IconList.test.tsx @@ -4,6 +4,7 @@ import { FactGraphContextProvider } from '../../factgraph/FactGraphContext.js'; import { setupStore } from '../../redux/store.js'; import { render, screen } from '@testing-library/react'; import { BrowserRouter } from 'react-router-dom'; +import { vi } from 'vitest'; import IconList from './IconList.js'; diff --git a/direct-file/df-client/df-client-app/src/components/IntroContent/IntroContent.test.tsx b/direct-file/df-client/df-client-app/src/components/IntroContent/IntroContent.test.tsx index 0382e01..7941775 100644 --- a/direct-file/df-client/df-client-app/src/components/IntroContent/IntroContent.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/IntroContent/IntroContent.test.tsx @@ -2,6 +2,7 @@ import { PropsWithoutRef, ComponentProps } from 'react'; import { render, screen } from '@testing-library/react'; import IntroContent from './IntroContent.js'; import { initI18n } from '../../i18n.js'; +import { vi } from 'vitest'; vi.mock(`../../hooks/useTranslationContextFromFacts`, () => ({ default: () => { diff --git a/direct-file/df-client/df-client-app/src/components/QuietErrorMessage.tsx b/direct-file/df-client/df-client-app/src/components/QuietErrorMessage.tsx index af7f10d..dea0d3b 100644 --- a/direct-file/df-client/df-client-app/src/components/QuietErrorMessage.tsx +++ b/direct-file/df-client/df-client-app/src/components/QuietErrorMessage.tsx @@ -1,10 +1,16 @@ import type { ErrorMessage } from '@trussworks/react-uswds'; import classnames from 'classnames'; +import React from 'react'; /** * Stylistically identical to trusswork's ErrorMessage component, but without the alert role */ -export const QuietErrorMessage: typeof ErrorMessage = ({ children, className, id }) => { +type Props = { + children: React.ReactNode; + className: string; + id: string; +} +export const QuietErrorMessage: typeof ErrorMessage = ({ children, className, id }: Props) => { const classes = classnames(`usa-error-message`, className); return ( diff --git a/direct-file/df-client/df-client-app/src/components/ScreenAlertAggregator/ScreenAlertAggregator.tsx b/direct-file/df-client/df-client-app/src/components/ScreenAlertAggregator/ScreenAlertAggregator.tsx index e0cb53c..68002e7 100644 --- a/direct-file/df-client/df-client-app/src/components/ScreenAlertAggregator/ScreenAlertAggregator.tsx +++ b/direct-file/df-client/df-client-app/src/components/ScreenAlertAggregator/ScreenAlertAggregator.tsx @@ -28,8 +28,6 @@ function parseAlertsByType(alerts: Al case `error`: errors.push(alert); break; - default: - assertNever(alert.props.type); } }); @@ -94,7 +92,7 @@ const ScreenAlertAggregator = ({ // Mef errors mefErrors.map((mefError) => ( @@ -103,7 +101,7 @@ const ScreenAlertAggregator = ({ { // Tax return errors taxReturnErrors.map((taxReturnError) => ( - + )) } { @@ -114,7 +112,7 @@ const ScreenAlertAggregator = ({ // MeF warnings mefWarnings.map((mefWarning) => ( @@ -126,7 +124,7 @@ const ScreenAlertAggregator = ({ const { childConfigs, ...props } = taxReturnWarning.props; return ( - + {childConfigs?.map((childConfig) => { return ( { return { diff --git a/direct-file/df-client/df-client-app/src/components/StateTaxesCard/StateTaxesCard.test.tsx b/direct-file/df-client/df-client-app/src/components/StateTaxesCard/StateTaxesCard.test.tsx index 882f671..c709525 100644 --- a/direct-file/df-client/df-client-app/src/components/StateTaxesCard/StateTaxesCard.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/StateTaxesCard/StateTaxesCard.test.tsx @@ -8,6 +8,7 @@ import { FactGraphContextProvider } from '../../factgraph/FactGraphContext.js'; import { TaxReturnsContext } from '../../context/TaxReturnsContext.js'; import { wrapComponent } from '../../test/helpers.js'; import { setupStore } from '../../redux/store.js'; +import { vi } from 'vitest'; const { t } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/SubmitButton/SubmitButton.test.tsx b/direct-file/df-client/df-client-app/src/components/SubmitButton/SubmitButton.test.tsx index 2d6706a..5837329 100644 --- a/direct-file/df-client/df-client-app/src/components/SubmitButton/SubmitButton.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/SubmitButton/SubmitButton.test.tsx @@ -13,6 +13,7 @@ import { } from '../../context/SystemAlertContext/SystemAlertContext.js'; import { TaxReturnsContext } from '../../context/TaxReturnsContext.js'; import { userEvent } from '@testing-library/user-event'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { const submit = vi.fn(() => ({ hasSubmitError: false, isRetryDisabled: false })); diff --git a/direct-file/df-client/df-client-app/src/components/SummaryAlert/AggregateSummaryAlert.test.tsx b/direct-file/df-client/df-client-app/src/components/SummaryAlert/AggregateSummaryAlert.test.tsx index 16af968..1362b2d 100644 --- a/direct-file/df-client/df-client-app/src/components/SummaryAlert/AggregateSummaryAlert.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/SummaryAlert/AggregateSummaryAlert.test.tsx @@ -1,6 +1,7 @@ import AggregateSummaryAlert, { AggregateSummaryAlertProps } from './AggregateSummaryAlert.js'; import { render, screen } from '@testing-library/react'; import { MutableRefObject } from 'react'; +import { vi } from 'vitest'; const { mockT, mockI18n } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/SummaryAlert/SummaryErrorAlert.test.tsx b/direct-file/df-client/df-client-app/src/components/SummaryAlert/SummaryErrorAlert.test.tsx index c32b796..c1a0915 100644 --- a/direct-file/df-client/df-client-app/src/components/SummaryAlert/SummaryErrorAlert.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/SummaryAlert/SummaryErrorAlert.test.tsx @@ -10,6 +10,7 @@ import { FactGraphContextProvider } from '../../factgraph/FactGraphContext.js'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { MutableRefObject } from 'react'; import { setupStore } from '../../redux/store.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/SummaryTable/SummaryTable.test.tsx b/direct-file/df-client/df-client-app/src/components/SummaryTable/SummaryTable.test.tsx index cc1fd87..4e856f6 100644 --- a/direct-file/df-client/df-client-app/src/components/SummaryTable/SummaryTable.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/SummaryTable/SummaryTable.test.tsx @@ -3,6 +3,7 @@ import { initI18n } from '../../i18n.js'; import mockEnYaml from '../../locales/en.yaml'; import { SummaryTable } from './SummaryTable.js'; import { getByTextWithTags } from '../../utils/test-utils.js'; +import { vi } from 'vitest'; const i18next = await initI18n(); i18next.addResourceBundle(`test`, `translation`, mockEnYaml); diff --git a/direct-file/df-client/df-client-app/src/components/SurveyModal/SurveryModal.tsx b/direct-file/df-client/df-client-app/src/components/SurveyModal/SurveryModal.tsx index cbe460a..3742c5e 100644 --- a/direct-file/df-client/df-client-app/src/components/SurveyModal/SurveryModal.tsx +++ b/direct-file/df-client/df-client-app/src/components/SurveyModal/SurveryModal.tsx @@ -122,7 +122,7 @@ const SurveyModal = ({ modalRef, toggleModal, openSurveyConfirmationModal }: Sur checked={isChecked} required className='full-width-checkbox' - onChange={(e) => setIsChecked(e.target.checked ? true : false)} + onChange={(e: any) => setIsChecked(e.target.checked ? true : false)} /> diff --git a/direct-file/df-client/df-client-app/src/components/SystemAlertAggregator/SystemAlertAggregator.test.tsx b/direct-file/df-client/df-client-app/src/components/SystemAlertAggregator/SystemAlertAggregator.test.tsx index b99909f..e427c18 100644 --- a/direct-file/df-client/df-client-app/src/components/SystemAlertAggregator/SystemAlertAggregator.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/SystemAlertAggregator/SystemAlertAggregator.test.tsx @@ -6,6 +6,7 @@ import { SystemAlertKey, } from '../../context/SystemAlertContext/SystemAlertContext.js'; import { render, screen } from '@testing-library/react'; +import { vi } from 'vitest'; const { mockT, mockI18n } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/TaxReturnCard/PriorYearTaxReturnCard.test.tsx b/direct-file/df-client/df-client-app/src/components/TaxReturnCard/PriorYearTaxReturnCard.test.tsx index 339541f..7b607d5 100644 --- a/direct-file/df-client/df-client-app/src/components/TaxReturnCard/PriorYearTaxReturnCard.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/TaxReturnCard/PriorYearTaxReturnCard.test.tsx @@ -7,6 +7,7 @@ import { Provider } from 'react-redux'; import { TaxReturnsContext } from '../../context/TaxReturnsContext.js'; import { v4 as uuidv4 } from 'uuid'; import { getCurrentTaxYearReturn } from '../../utils/taxReturnUtils.js'; +import { vi } from 'vitest'; const currentTaxYear = parseInt(CURRENT_TAX_YEAR); const previousTaxYear = Number.parseInt(CURRENT_TAX_YEAR) - 1; diff --git a/direct-file/df-client/df-client-app/src/components/TaxReturnCard/TaxReturnCard.test.tsx b/direct-file/df-client/df-client-app/src/components/TaxReturnCard/TaxReturnCard.test.tsx index 6d37435..3ee8d9d 100644 --- a/direct-file/df-client/df-client-app/src/components/TaxReturnCard/TaxReturnCard.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/TaxReturnCard/TaxReturnCard.test.tsx @@ -8,6 +8,7 @@ import { CreateTaxReturnCard } from './CreateTaxReturnCard.js'; import en from '../../locales/en.yaml'; import { store } from '../../redux/store.js'; import { Provider } from 'react-redux'; +import { vi } from 'vitest'; const { mockIsFlowEnabled } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/components/Translation/Translation.test.tsx b/direct-file/df-client/df-client-app/src/components/Translation/Translation.test.tsx index 9416715..57a0e5a 100644 --- a/direct-file/df-client/df-client-app/src/components/Translation/Translation.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/Translation/Translation.test.tsx @@ -2,6 +2,7 @@ import { render, screen } from '@testing-library/react'; import Translation from './Translation.js'; import { initI18n } from '../../i18n.js'; +import { vi } from 'vitest'; vi.mock(`../../hooks/useTranslationContextFromFacts`, () => ({ default: () => { diff --git a/direct-file/df-client/df-client-app/src/components/checklist/ChecklistSubcategory/ChecklistSubcategory.test.tsx b/direct-file/df-client/df-client-app/src/components/checklist/ChecklistSubcategory/ChecklistSubcategory.test.tsx index d7267fb..f41954a 100644 --- a/direct-file/df-client/df-client-app/src/components/checklist/ChecklistSubcategory/ChecklistSubcategory.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/checklist/ChecklistSubcategory/ChecklistSubcategory.test.tsx @@ -6,6 +6,7 @@ import { screen } from '@testing-library/react'; import { HelmetProvider } from 'react-helmet-async'; import { FactGraphContextProvider } from '../../../factgraph/FactGraphContext.js'; import { setupStore } from '../../../redux/store.js'; +import { vi } from 'vitest'; const sharedProps = { isNext: true, diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Address/Address.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Address/Address.test.tsx index 8e743cf..7197c93 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Address/Address.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Address/Address.test.tsx @@ -11,6 +11,7 @@ import { setupStore } from '../../../redux/store.js'; import { createRef } from 'react'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { Path } from '../../../flow/Path.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/BankAccount/BankAccount.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/BankAccount/BankAccount.test.tsx index e457b0b..330b347 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/BankAccount/BankAccount.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/BankAccount/BankAccount.test.tsx @@ -8,6 +8,7 @@ import { setupStore } from '../../../redux/store.js'; import { Path } from '../../../flow/Path.js'; import type { useFactControl } from '../../../hooks/useFactControl.js'; import type { BankAccount as SFGBankAccount, BankAccountValidationFailure } from '@irs/js-factgraph-scala'; +import { vi } from 'vitest'; const mockUseFactControl = await vi.hoisted(async () => { type UseFactControl = typeof useFactControl; diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Boolean/Boolean.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Boolean/Boolean.test.tsx index 6fb71ef..254e086 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Boolean/Boolean.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Boolean/Boolean.test.tsx @@ -7,6 +7,7 @@ import { setupStore } from '../../../redux/store.js'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { test, expect } from 'vitest'; import { AbsolutePath } from '../../../fact-dictionary/Path.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { // useFact related hooks diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.test.tsx index f28adca..9d8aeda 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.test.tsx @@ -10,6 +10,7 @@ import { Path } from '../../../flow/Path.js'; import { mockUseTranslation } from '../../../test/mocks/mockFunctions.js'; import CollectionItemReference from './CollectionItemReference.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { const getCollectionPath = vi.fn((path: FgPath) => path); diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.tsx index fa7e862..7a11270 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/CollectionItemReference/CollectionItemReference.tsx @@ -62,7 +62,7 @@ const CollectionItemReference = forwardRef( name={path} label={} value={value} - onChange={(event) => onChange(event.target.value)} + onChange={(event: any) => onChange(event.target.value)} defaultChecked={defaultChecked} required key={fullPath} diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/DatePicker/DatePicker.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/DatePicker/DatePicker.test.tsx index 79f6e0a..4c39221 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/DatePicker/DatePicker.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/DatePicker/DatePicker.test.tsx @@ -4,6 +4,7 @@ import { Path } from '../../../flow/Path.js'; import { i18n, renderWithTranslationProvider as render, fireEvent } from '../../../test/test-utils.js'; import { DatePicker, validateDate } from './DatePicker.js'; import { ConcretePath, Day } from '@irs/js-factgraph-scala'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { // useFact related hooks diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Ein/Ein.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Ein/Ein.test.tsx index 494512f..37a1dab 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Ein/Ein.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Ein/Ein.test.tsx @@ -5,6 +5,7 @@ import { createRef } from 'react'; import { Path } from '../../../flow/Path.js'; import { customRender } from '../../../utils/test-utils.js'; import Ein from './Ein.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.test.tsx index f56fda8..a0a185e 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.test.tsx @@ -6,6 +6,7 @@ import { Path as FgPath } from '../../../fact-dictionary/Path.js'; import { FactGraphContextProvider } from '../../../factgraph/FactGraphContext.js'; import { setupStore } from '../../../redux/store.js'; import { Path } from '../../../flow/Path.js'; +import { vi } from 'vitest'; import Enum from './Enum.js'; diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.tsx index 210217d..9f100b4 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Enum/Enum.tsx @@ -99,7 +99,7 @@ const Enum = forwardRef( id={path} name={path} validationStatus={showError ? `error` : undefined} - onChange={(event) => handleValueChange(event.target.value)} + onChange={(event: any) => handleValueChange(event.target.value)} value={selectedValue} aria-describedby={errorId} required={required} @@ -125,7 +125,7 @@ const Enum = forwardRef( name={path} label={} value={value} - onChange={(event) => handleValueChange(event.target.value)} + onChange={(event: any) => handleValueChange(event.target.value)} defaultChecked={value === fact?.getValue()} key={fullPath} required diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/GenericString/GenericString.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/GenericString/GenericString.test.tsx index 839325c..9873803 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/GenericString/GenericString.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/GenericString/GenericString.test.tsx @@ -10,6 +10,7 @@ import { FactGraphContextProvider } from '../../../factgraph/FactGraphContext.js import { setupStore } from '../../../redux/store.js'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { Path } from '../../../flow/Path.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.test.tsx index 66ca0b9..298de4c 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.test.tsx @@ -3,6 +3,7 @@ import { render } from '@testing-library/react'; import MultiEnum from './MultiEnum.js'; import { Path as FgPath } from '../../../fact-dictionary/Path.js'; import { Path } from '../../../flow/Path.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { const getOptionsPath = vi.fn((path: FgPath) => { diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.tsx index 61a5062..a691855 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/MultiEnum/MultiEnum.tsx @@ -104,7 +104,7 @@ const MultiEnum = forwardRef( name={path} value={value} checked={selectedValues.has(value)} - onChange={(event) => handleValueChange(event.target.value)} + onChange={(event: any) => handleValueChange(event.target.value)} /> ))} diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/PhoneNumber/PhoneNumber.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/PhoneNumber/PhoneNumber.test.tsx index 0bd00a5..b12e40f 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/PhoneNumber/PhoneNumber.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/PhoneNumber/PhoneNumber.test.tsx @@ -11,6 +11,7 @@ import { setupStore } from '../../../redux/store.js'; import { createRef } from 'react'; import { ConcretePath } from '@irs/js-factgraph-scala'; import { Path } from '../../../flow/Path.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/factTypes/Tin/Tin.test.tsx b/direct-file/df-client/df-client-app/src/components/factTypes/Tin/Tin.test.tsx index d95935e..377eeba 100644 --- a/direct-file/df-client/df-client-app/src/components/factTypes/Tin/Tin.test.tsx +++ b/direct-file/df-client/df-client-app/src/components/factTypes/Tin/Tin.test.tsx @@ -5,6 +5,7 @@ import { createRef } from 'react'; import { Path } from '../../../flow/Path.js'; import { customRender } from '../../../utils/test-utils.js'; import Tin from './Tin.js'; +import { vi } from 'vitest'; // This mock allows for testing of any component that is rendered using the // useTranslation hook from react-i18next. diff --git a/direct-file/df-client/df-client-app/src/components/screenUtils.ts b/direct-file/df-client/df-client-app/src/components/screenUtils.ts index 7ccd992..419fd5b 100644 --- a/direct-file/df-client/df-client-app/src/components/screenUtils.ts +++ b/direct-file/df-client/df-client-app/src/components/screenUtils.ts @@ -53,7 +53,7 @@ export function conditionsAsKeySuffix({ props: { condition, conditions } }: Scre const normalizedConditions = condition === undefined ? conditions ?? [] : [condition]; return normalizedConditions - .map((condition) => + .map((condition: any) => typeof condition === `string` ? condition : `${condition.operator ?? `isTrue`}:${condition.condition}` ) .join(`-`); diff --git a/direct-file/df-client/df-client-app/src/context/SystemAlertContext/customSystemAlertConfigs.tsx b/direct-file/df-client/df-client-app/src/context/SystemAlertContext/customSystemAlertConfigs.tsx index 1035145..57f396a 100644 --- a/direct-file/df-client/df-client-app/src/context/SystemAlertContext/customSystemAlertConfigs.tsx +++ b/direct-file/df-client/df-client-app/src/context/SystemAlertContext/customSystemAlertConfigs.tsx @@ -52,7 +52,7 @@ const getTinMismatchCustomConfig: CustomSystemAlertConfigBuilder = (options = {} : { primaryFilerSsnOrItinLink: , }, - }; + } as any; }; /** diff --git a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/readRawFacts.ts b/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/readRawFacts.ts index b0ba612..6fc28d1 100644 --- a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/readRawFacts.ts +++ b/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/readRawFacts.ts @@ -1,9 +1,10 @@ import fs from 'fs'; import { XMLParser, XMLValidator, X2jOptions } from 'fast-xml-parser'; import { RawFact } from '../FactTypes.js'; +import path from 'path'; export default function readRawFacts(): RawFact[] { - const FACT_DICTIONARY_FOLDER = `./src/fact-dictionary/generate-src/xml-src/`; + const FACT_DICTIONARY_FOLDER = `../../backend/src/main/resources/tax/`; const XML_PARSER_OPTIONS: X2jOptions = { ignoreAttributes: false, @@ -22,7 +23,10 @@ export default function readRawFacts(): RawFact[] { // eslint-disable-next-line no-console console.log(`Reading file ${dictionaryFile}`); // nosemgrep: eslint.detect-non-literal-fs-filename - const rawXmlString = fs.readFileSync(FACT_DICTIONARY_FOLDER + dictionaryFile, `utf-8`); + const rawXmlString = fs.readFileSync( + path.join(FACT_DICTIONARY_FOLDER, dictionaryFile), + `utf-8` + ); const xmlValidationResult = XMLValidator.validate(rawXmlString, { allowBooleanAttributes: true, diff --git a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xml-src b/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xml-src deleted file mode 120000 index 3eca942..0000000 --- a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xml-src +++ /dev/null @@ -1 +0,0 @@ -../../../../../backend/src/main/resources/tax \ No newline at end of file diff --git a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xmlFactPaths b/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xmlFactPaths deleted file mode 120000 index d3dc5af..0000000 --- a/direct-file/df-client/df-client-app/src/fact-dictionary/generate-src/xmlFactPaths +++ /dev/null @@ -1 +0,0 @@ -../../../../../backend/src/main/resources/factgraphservice/xmlFactPaths \ No newline at end of file diff --git a/direct-file/df-client/df-client-app/src/flow/Condition.test.ts b/direct-file/df-client/df-client-app/src/flow/Condition.test.ts index 5b1455a..615e881 100644 --- a/direct-file/df-client/df-client-app/src/flow/Condition.test.ts +++ b/direct-file/df-client/df-client-app/src/flow/Condition.test.ts @@ -9,6 +9,7 @@ import { initialState as initialTelemetryState } from '../redux/slices/telemetry import { initialState as initialESigState } from '../redux/slices/electronic-signature/electronicSignatureSlice.js'; import { initialSystemAlertState } from '../redux/slices/system-alert/systemAlertSlice.js'; +import { vi } from 'vitest'; vi.mock(`../redux/store.js`); diff --git a/direct-file/df-client/df-client-app/src/hooks/useApiHook.test.tsx b/direct-file/df-client/df-client-app/src/hooks/useApiHook.test.tsx index 13aa985..a93b5bc 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useApiHook.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/useApiHook.test.tsx @@ -15,6 +15,7 @@ import { taxReturnFetch } from '../redux/slices/tax-return/taxReturnFetch.js'; import { Provider } from 'react-redux'; import { store } from '../redux/store.js'; import { fetchTaxReturns } from '../redux/slices/tax-return/taxReturnSlice.js'; +import { vi } from 'vitest'; vi.mock(`../redux/slices/tax-return/taxReturnFetch.js`, () => ({ taxReturnFetch: vi.fn(), // Mock the function diff --git a/direct-file/df-client/df-client-app/src/hooks/useEnumOptions.test.ts b/direct-file/df-client/df-client-app/src/hooks/useEnumOptions.test.ts index ad7cb6a..5c74b5e 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useEnumOptions.test.ts +++ b/direct-file/df-client/df-client-app/src/hooks/useEnumOptions.test.ts @@ -1,5 +1,6 @@ import { Path } from '../fact-dictionary/Path.js'; import { useEnumOptions } from './useEnumOptions.js'; +import { vi } from 'vitest'; const mockFactGraph = vi.hoisted(() => { const getOptionsPathForEnum = vi.fn(); diff --git a/direct-file/df-client/df-client-app/src/hooks/useFactControl.test.ts b/direct-file/df-client/df-client-app/src/hooks/useFactControl.test.ts index 9d8b1a6..52d649b 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useFactControl.test.ts +++ b/direct-file/df-client/df-client-app/src/hooks/useFactControl.test.ts @@ -3,6 +3,7 @@ import { useFactControl, UseFactControlParameters } from './useFactControl.js'; import { EitherL, EitherR } from '@irs/js-factgraph-scala/src/typings/utils/JSEither.js'; import { Dispatch, SetStateAction } from 'react'; import { renderHook } from '@testing-library/react'; +import { vi } from 'vitest'; type TestError = string; type TestRawValue = { isValid: true } | { isValid: false; error: TestError }; diff --git a/direct-file/df-client/df-client-app/src/hooks/useGetTranslationValues.test.tsx b/direct-file/df-client/df-client-app/src/hooks/useGetTranslationValues.test.tsx index 1d24881..095cc30 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useGetTranslationValues.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/useGetTranslationValues.test.tsx @@ -1,6 +1,7 @@ import { useGetTranslationValues } from './useGetTranslationValues.js'; import { renderHook } from '@testing-library/react'; import { getTranslationValuesRecursive } from '../utils/i18nUtils.js'; +import { vi } from 'vitest'; const { mockT, mockI18n } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/hooks/useNetworkConnectionStatus.test.tsx b/direct-file/df-client/df-client-app/src/hooks/useNetworkConnectionStatus.test.tsx index 28e5102..bfb460d 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useNetworkConnectionStatus.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/useNetworkConnectionStatus.test.tsx @@ -2,6 +2,7 @@ import { renderHook, act } from '@testing-library/react'; import useNetworkConnectionStatus from './useNetworkConnectionStatus.js'; import App from '../App.js'; import { renderWithTranslationProvider } from '../test/test-utils.js'; +import { vi } from 'vitest'; const intervalTime = 50; const initialStatus = { online: true, prevOnlineStatus: true }; diff --git a/direct-file/df-client/df-client-app/src/hooks/usePollForSubmissionStatus.test.tsx b/direct-file/df-client/df-client-app/src/hooks/usePollForSubmissionStatus.test.tsx index fe0b1da..cb4373f 100644 --- a/direct-file/df-client/df-client-app/src/hooks/usePollForSubmissionStatus.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/usePollForSubmissionStatus.test.tsx @@ -10,6 +10,7 @@ import { getCurrentTaxYearReturn, getLatestSubmission } from '../utils/taxReturn import { TaxReturnsContext } from '../context/TaxReturnsContext.js'; import { store } from '../redux/store.js'; import { Provider } from 'react-redux'; +import { vi } from 'vitest'; const mockFetchTaxReturnsApiRequest = vi.fn(); const mockFetchSubmissionStatusApiRequest = vi.fn(); diff --git a/direct-file/df-client/df-client-app/src/hooks/useSubmit.test.tsx b/direct-file/df-client/df-client-app/src/hooks/useSubmit.test.tsx index 72bcbf8..6113d74 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useSubmit.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/useSubmit.test.tsx @@ -15,6 +15,7 @@ import { SystemAlertContext, SystemAlertKey, } from '../context/SystemAlertContext/SystemAlertContext.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/hooks/useTranslationContextFromFacts.test.ts b/direct-file/df-client/df-client-app/src/hooks/useTranslationContextFromFacts.test.ts index 54dc6cc..9a31c45 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useTranslationContextFromFacts.test.ts +++ b/direct-file/df-client/df-client-app/src/hooks/useTranslationContextFromFacts.test.ts @@ -1,6 +1,7 @@ import { Path } from '../fact-dictionary/Path.js'; import useTranslationContextFromFacts from './useTranslationContextFromFacts.js'; import { Day, FactGraph } from '@irs/js-factgraph-scala'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { // translation diff --git a/direct-file/df-client/df-client-app/src/hooks/useUrlTranslator.test.tsx b/direct-file/df-client/df-client-app/src/hooks/useUrlTranslator.test.tsx index 3c20660..fd6b656 100644 --- a/direct-file/df-client/df-client-app/src/hooks/useUrlTranslator.test.tsx +++ b/direct-file/df-client/df-client-app/src/hooks/useUrlTranslator.test.tsx @@ -2,6 +2,7 @@ import useUrlTranslator from './useUrlTranslator.js'; import { renderHook } from '@testing-library/react'; import { LANGUAGE_CODE_PLACEHOLDER } from '../utils/urlUtils.js'; import { StateProfile } from '../types/StateProfile.js'; +import { vi } from 'vitest'; const { mockUseTranslation } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/misc/apiHelpers.test.ts b/direct-file/df-client/df-client-app/src/misc/apiHelpers.test.ts index 7b8aae7..bc9a313 100644 --- a/direct-file/df-client/df-client-app/src/misc/apiHelpers.test.ts +++ b/direct-file/df-client/df-client-app/src/misc/apiHelpers.test.ts @@ -1,5 +1,6 @@ import { formatAndAppendHeaders, SM_UNIVERSALID, XFF_HEADER, TID_HEADER } from './apiHelpers.js'; import { v4 as uuidv4 } from 'uuid'; +import { vi } from 'vitest'; const { VITE_SADI_AUTH_ID, diff --git a/direct-file/df-client/df-client-app/src/pages/TaxReturnDetails/RejectedReturnDetails/RejectedReturnDetails.test.tsx b/direct-file/df-client/df-client-app/src/pages/TaxReturnDetails/RejectedReturnDetails/RejectedReturnDetails.test.tsx index e65edc4..1ed4266 100644 --- a/direct-file/df-client/df-client-app/src/pages/TaxReturnDetails/RejectedReturnDetails/RejectedReturnDetails.test.tsx +++ b/direct-file/df-client/df-client-app/src/pages/TaxReturnDetails/RejectedReturnDetails/RejectedReturnDetails.test.tsx @@ -5,6 +5,7 @@ import { v4 as uuidv4 } from 'uuid'; import { BrowserRouter } from 'react-router-dom'; import { TaxReturn } from '../../../types/core.js'; import enLocale from '../../../locales/en.yaml'; +import { vi } from 'vitest'; const { mockT, mockI18n } = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/redux/slices/data-import/DevDataImportConfig.ts b/direct-file/df-client/df-client-app/src/redux/slices/data-import/DevDataImportConfig.ts index 1815193..2e20c4b 100644 --- a/direct-file/df-client/df-client-app/src/redux/slices/data-import/DevDataImportConfig.ts +++ b/direct-file/df-client/df-client-app/src/redux/slices/data-import/DevDataImportConfig.ts @@ -1,25 +1,25 @@ -import homer from './mocks/homer.json'; -import marge from './mocks/marge.json'; -import lisa from './mocks/lisa.json'; -import lisaKnockout from './mocks/lisa_knockout.json'; -import bart from './mocks/bart.json'; -import sean from './mocks/sean.json'; -import abe from './mocks/abe.json'; -import grandma from './mocks/grandma.json'; -import milhouse from './mocks/milhouse.json'; -import sideshowbob from './mocks/sideshowbob.json'; -import krusty from './mocks/krusty.json'; -import margeWithOnlySadiSuccess from './mocks/marge_with_only_sadi_success.json'; -import ned from './mocks/ned.json'; -import december27 from './mocks/december27.json'; -import kent from './mocks/kent.json'; -import jon from './mocks/jon.json'; -import margeWithSpaces from './mocks/marge__simpson.json'; -import w2ParseError from './mocks/w2_parse_error.json'; -import carly from './mocks/carly.json'; -import w2_with_decimal_values from './mocks/w2_with_decimal_values.json'; -import maude from './mocks/maude.json'; -import rod from './mocks/rod.json'; +import homer from '../../../../../../backend/src/main/resources/dataimportservice/mocks/homer.json'; +import marge from '../../../../../../backend/src/main/resources/dataimportservice/mocks/marge.json'; +import lisa from '../../../../../../backend/src/main/resources/dataimportservice/mocks/lisa.json'; +import lisaKnockout from '../../../../../../backend/src/main/resources/dataimportservice/mocks/lisa_knockout.json'; +import bart from '../../../../../../backend/src/main/resources/dataimportservice/mocks/bart.json'; +import sean from '../../../../../../backend/src/main/resources/dataimportservice/mocks/sean.json'; +import abe from '../../../../../../backend/src/main/resources/dataimportservice/mocks/abe.json'; +import grandma from '../../../../../../backend/src/main/resources/dataimportservice/mocks/grandma.json'; +import milhouse from '../../../../../../backend/src/main/resources/dataimportservice/mocks/milhouse.json'; +import sideshowbob from '../../../../../../backend/src/main/resources/dataimportservice/mocks/sideshowbob.json'; +import krusty from '../../../../../../backend/src/main/resources/dataimportservice/mocks/krusty.json'; +import margeWithOnlySadiSuccess from '../../../../../../backend/src/main/resources/dataimportservice/mocks/marge_with_only_sadi_success.json'; +import ned from '../../../../../../backend/src/main/resources/dataimportservice/mocks/ned.json'; +import december27 from '../../../../../../backend/src/main/resources/dataimportservice/mocks/december27.json'; +import kent from '../../../../../../backend/src/main/resources/dataimportservice/mocks/kent.json'; +import jon from '../../../../../../backend/src/main/resources/dataimportservice/mocks/jon.json'; +import margeWithSpaces from '../../../../../../backend/src/main/resources/dataimportservice/mocks/marge__simpson.json'; +import w2ParseError from '../../../../../../backend/src/main/resources/dataimportservice/mocks/w2_parse_error.json'; +import carly from '../../../../../../backend/src/main/resources/dataimportservice/mocks/carly.json'; +import w2_with_decimal_values from '../../../../../../backend/src/main/resources/dataimportservice/mocks/w2_with_decimal_values.json'; +import maude from '../../../../../../backend/src/main/resources/dataimportservice/mocks/maude.json'; +import rod from '../../../../../../backend/src/main/resources/dataimportservice/mocks/rod.json'; import { DataImportProfile } from './dataImportProfileTypes.js'; import { DataImportRootResponseSchema } from './schema/DataImportServiceResponse.js'; diff --git a/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportAllowMixOfValidW2s.test.ts b/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportAllowMixOfValidW2s.test.ts index 82c5a19..d306609 100644 --- a/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportAllowMixOfValidW2s.test.ts +++ b/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportAllowMixOfValidW2s.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from 'vitest'; import { processPopulateResult } from '../processPopulateResult.js'; import { DataImportRootResponseSchema } from '../schema/DataImportServiceResponse.js'; -import marge from '../mocks/marge.json'; +import marge from '../../../../../../../backend/src/main/resources/dataimportservice/mocks/marge.json' const copy = (data: unknown) => JSON.parse(JSON.stringify(data)); diff --git a/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportIncompleteResponse.test.ts b/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportIncompleteResponse.test.ts index 2b21357..c673e3b 100644 --- a/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportIncompleteResponse.test.ts +++ b/direct-file/df-client/df-client-app/src/redux/slices/data-import/tests/dataImportIncompleteResponse.test.ts @@ -3,7 +3,7 @@ import { store } from '../../../store.js'; import { fetchProfile } from '../dataImportProfileSlice.js'; import { fetchDataImportProfile } from '../fetchDataImportProfile.js'; import { Mock, describe, expect, it, vi } from 'vitest'; -import marge from '../mocks/marge.json'; +import marge from '../../../../../../../backend/src/main/resources/dataimportservice/mocks/marge.json' vi.mock(`../fetchDataImportProfile.js`, () => ({ fetchDataImportProfile: vi.fn(), // Mock the function diff --git a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ErrorScreen/ErrorScreen.test.tsx b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ErrorScreen/ErrorScreen.test.tsx index 3d7a14a..7b9aa6f 100644 --- a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ErrorScreen/ErrorScreen.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ErrorScreen/ErrorScreen.test.tsx @@ -5,6 +5,7 @@ import { SystemAlertContextProvider } from '../../../context/SystemAlertContext/ import { store } from '../../../redux/store.js'; import { Provider } from 'react-redux'; import { wrapComponent } from '../../../test/helpers.js'; +import { vi } from 'vitest'; const handleGoBack = vi.fn(); const errorMessage = `Details about an error!`; diff --git a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ReturnRejectedScreen/ReturnRejectedScreen.test.tsx b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ReturnRejectedScreen/ReturnRejectedScreen.test.tsx index 9a611b2..f84e9e9 100644 --- a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ReturnRejectedScreen/ReturnRejectedScreen.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/ReturnRejectedScreen/ReturnRejectedScreen.test.tsx @@ -3,6 +3,7 @@ import { render, screen, within } from '@testing-library/react'; import { CURRENT_TAX_YEAR, FEDERAL_RETURN_STATUS } from '../../../constants/taxConstants.js'; import { userEvent } from '@testing-library/user-event'; import { wrapComponent } from '../../../test/helpers.js'; +import { vi } from 'vitest'; const mockHandleGoBack = vi.fn(); diff --git a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferInfoModal/TransferInfoModal.test.tsx b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferInfoModal/TransferInfoModal.test.tsx index 8415f63..a3265bf 100644 --- a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferInfoModal/TransferInfoModal.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferInfoModal/TransferInfoModal.test.tsx @@ -6,6 +6,7 @@ import TransferInfoModal, { TransferInfoModalProps } from './TransferInfoModal.j import { v4 as uuidv4 } from 'uuid'; import { userEvent } from '@testing-library/user-event'; import { InterceptingFactGraph } from '../../../factgraph/InterceptingFactGraph.js'; +import { vi } from 'vitest'; const mockFetchPdf = vi.fn(); const { mockUseFetchPdf, mockI18n, mockUseFactGraph } = vi.hoisted(() => ({ diff --git a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferReturnScreen/TransferReturnScreen.test.tsx b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferReturnScreen/TransferReturnScreen.test.tsx index 3fb556b..f805b9c 100644 --- a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferReturnScreen/TransferReturnScreen.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/TransferReturnScreen/TransferReturnScreen.test.tsx @@ -8,6 +8,7 @@ import { InterceptingFactGraph } from '../../../factgraph/InterceptingFactGraph. import { SystemAlertConfigs, SystemAlertContext } from '../../../context/SystemAlertContext/SystemAlertContext.js'; import { initI18n } from '../../../i18n.js'; import { StateApiErrorCode } from '../../../constants/stateApiConstants.js'; +import { vi } from 'vitest'; const { mockUseFactGraph } = vi.hoisted(() => ({ mockUseFactGraph: vi.fn(() => ({ diff --git a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/WaitingForAcceptanceScreen/WaitingForAcceptanceScreen.test.tsx b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/WaitingForAcceptanceScreen/WaitingForAcceptanceScreen.test.tsx index f523841..84cc504 100644 --- a/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/WaitingForAcceptanceScreen/WaitingForAcceptanceScreen.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/AuthorizeStateScreen/WaitingForAcceptanceScreen/WaitingForAcceptanceScreen.test.tsx @@ -14,6 +14,7 @@ import { TaxReturnSubmissionStatus } from '../../../types/core.js'; import { Provider } from 'react-redux'; import { store } from '../../../redux/store.js'; import { getEmptySystemAlertsMap, SystemAlertContext } from '../../../context/SystemAlertContext/SystemAlertContext.js'; +import { vi } from 'vitest'; const NOW = new Date(); const BEFORE_LOCKOUT = new Date(new Date().setSeconds(NOW.getSeconds() - (STATUS_FETCH_LOCKOUT_SECONDS + 1))); diff --git a/direct-file/df-client/df-client-app/src/screens/DataView.test.tsx b/direct-file/df-client/df-client-app/src/screens/DataView.test.tsx index 8dfec3c..103af13 100644 --- a/direct-file/df-client/df-client-app/src/screens/DataView.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/DataView.test.tsx @@ -33,6 +33,7 @@ import { ReactNode } from 'react'; import { getEmptySystemAlertsMap, SystemAlertContext } from '../context/SystemAlertContext/SystemAlertContext.js'; import * as pageConstants from '../constants/pageConstants.js'; import CollectionItemDataView from './data-view/CollectionItemDataView.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/screens/ScreenHeader.tsx b/direct-file/df-client/df-client-app/src/screens/ScreenHeader.tsx index 25a4b8b..ba76ace 100644 --- a/direct-file/df-client/df-client-app/src/screens/ScreenHeader.tsx +++ b/direct-file/df-client/df-client-app/src/screens/ScreenHeader.tsx @@ -16,7 +16,7 @@ export const BackButton = () => { type='button' className='screen__back-button' unstyled - onClick={(evt) => { + onChange={(evt: any) => { evt.preventDefault(); // @ts-expect-error react navigation type is not defined correctly navigate(-1, { preventScrollReset: true }); diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataView.test.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataView.test.tsx index 22ba7c4..a16b3f7 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataView.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataView.test.tsx @@ -23,6 +23,7 @@ import { baseFilerData, primaryFilerId, makeInterestReportData } from '../../tes import CollectionHubDataView from './CollectionHubDataView.js'; import { initI18n } from '../../i18n.js'; import { setupStore } from '../../redux/store.js'; +import { vi } from 'vitest'; const intReportId1 = `9d164507-0c5a-469d-8d36-49d2f7af0b7a`; const intReportId2 = `24aa5dee-e381-4927-a0d9-07658287086c`; diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataViewInner.test.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataViewInner.test.tsx index 937a87c..b322a34 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataViewInner.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionHubDataViewInner.test.tsx @@ -20,6 +20,7 @@ import en from '../../locales/en.yaml'; import { baseFilerData, primaryFilerId, makeSocialSecurityReport } from '../../test/testData.js'; import CollectionHubDataView from './CollectionHubDataView.js'; import { initI18n } from '../../i18n.js'; +import { vi } from 'vitest'; const ssReportId1 = `423bef54-e524-463c-829f-0948df47a4bd`; const ssReportId2 = `08eea4dd-c0ee-4128-9afc-2b74dca27101`; diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionItemDataView.test.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionItemDataView.test.tsx index e60ee0e..113ba6e 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionItemDataView.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionItemDataView.test.tsx @@ -24,6 +24,7 @@ import CollectionItemDataView from './CollectionItemDataView.js'; import { SystemAlertContext, getEmptySystemAlertsMap } from '../../context/SystemAlertContext/SystemAlertContext.js'; import { setupStore } from '../../redux/store.js'; import { ReactNode } from 'react'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionLoopRenderer.test.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionLoopRenderer.test.tsx index 9b4658b..3bded43 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/CollectionLoopRenderer.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/CollectionLoopRenderer.test.tsx @@ -25,6 +25,7 @@ import { makeW2Data, primaryFilerId, } from '../../test/testData.js'; +import { vi } from 'vitest'; const mocks = vi.hoisted(() => { return { diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.test.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.test.tsx index d73b9bb..ede0601 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.test.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.test.tsx @@ -21,6 +21,7 @@ import { createTinWrapper, } from '../../test/persistenceWrappers.js'; import { setupFactGraph } from '../../test/setupFactGraph.js'; +import { vi } from 'vitest'; // Test data for rendering subsubcategories const w2Id = `0b1e355e-3d19-415d-8470-fbafd9f58361`; diff --git a/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.tsx b/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.tsx index 0146c85..3e6854a 100644 --- a/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.tsx +++ b/direct-file/df-client/df-client-app/src/screens/data-view/SubSubCategory.tsx @@ -533,10 +533,13 @@ export function SubSubCategory({ const allAssertions = availableScreens .flatMap((sc) => - sc.content.filter( - (c) => - conditionsPass(c.props, factGraph, collectionId) && - (c.componentName === `FactAssertion` || c.componentName === `FactResultAssertion`) + sc.content.filter((c) => + { + return ( + conditionsPass(c.props, factGraph, collectionId) && + (c.componentName === `FactAssertion` || c.componentName === `FactResultAssertion`) + ) + } ) ) .filter((result) => result); diff --git a/direct-file/df-client/df-client-app/src/test/FlowRender.test.tsx b/direct-file/df-client/df-client-app/src/test/FlowRender.test.tsx index 2e6b95d..e573594 100644 --- a/direct-file/df-client/df-client-app/src/test/FlowRender.test.tsx +++ b/direct-file/df-client/df-client-app/src/test/FlowRender.test.tsx @@ -13,6 +13,7 @@ import { store } from '../redux/store.js'; import { taxReturnFetch } from '../redux/slices/tax-return/taxReturnFetch.js'; import { Mock } from 'vitest'; import { taxReturnCreate } from '../redux/slices/tax-return/taxReturnCreate.js'; +import { vi } from 'vitest'; vi.mock(`../redux/slices/tax-return/taxReturnFetch.js`, () => ({ taxReturnFetch: vi.fn(), // Mock the function diff --git a/direct-file/df-client/df-client-app/src/test/factDictionaryTests/paymentMethod.test.ts b/direct-file/df-client/df-client-app/src/test/factDictionaryTests/paymentMethod.test.ts index b3cec89..eefc424 100644 --- a/direct-file/df-client/df-client-app/src/test/factDictionaryTests/paymentMethod.test.ts +++ b/direct-file/df-client/df-client-app/src/test/factDictionaryTests/paymentMethod.test.ts @@ -4,6 +4,7 @@ import { createBooleanWrapper, createDayWrapper } from '../persistenceWrappers.j import { baseFilerData, filerWithPaymentDueData } from '../testData.js'; import { setupFactGraph } from '../setupFactGraph.js'; import { CURRENT_TAX_YEAR } from '../../constants/taxConstants.js'; +import { vi } from 'vitest'; describe(`Payment method`, () => { const basePaymentMethodData = { diff --git a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/aboutYou.test.ts b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/aboutYou.test.ts index 5ef1a49..9c97b38 100644 --- a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/aboutYou.test.ts +++ b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/aboutYou.test.ts @@ -22,6 +22,7 @@ import { CURRENT_TAX_YEAR } from '../../constants/taxConstants.js'; import { v4 as uuidv4 } from 'uuid'; import { fetchTaxReturns } from '../../redux/slices/tax-return/taxReturnSlice.js'; import { fetchProfile } from '../../redux/slices/data-import/dataImportProfileSlice.js'; +import { vi } from 'vitest'; vi.mock(`../../redux/slices/tax-return/taxReturnFetch.js`, () => ({ taxReturnFetch: vi.fn(), // Mock the function diff --git a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/cdcc.test.ts b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/cdcc.test.ts index 2cdb71b..50a16c6 100644 --- a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/cdcc.test.ts +++ b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/cdcc.test.ts @@ -12,6 +12,7 @@ import flowNodes from '../../flow/flow.js'; import makeGivenFacts from './functionalFlowUtils.js'; import { CollectionItemReferenceFactory } from '@irs/js-factgraph-scala'; import { setupFactGraph } from '../setupFactGraph.js'; +import { vi } from 'vitest'; const flow = createFlowConfig(flowNodes); const givenFacts = makeGivenFacts(flow); diff --git a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/credits.test.ts b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/credits.test.ts index 5769801..21548c8 100644 --- a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/credits.test.ts +++ b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/credits.test.ts @@ -13,6 +13,7 @@ import flowNodes from '../../flow/flow.js'; import { TAX_YEAR_2023 } from '../../constants/taxConstants.js'; import makeGivenFacts from './functionalFlowUtils.js'; import { setupFactGraph } from '../setupFactGraph.js'; +import { vi } from 'vitest'; const flow = createFlowConfig(flowNodes); const givenFacts = makeGivenFacts(flow); diff --git a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/deductions.test.ts b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/deductions.test.ts index 1353f0e..321873f 100644 --- a/direct-file/df-client/df-client-app/src/test/functionalFlowTests/deductions.test.ts +++ b/direct-file/df-client/df-client-app/src/test/functionalFlowTests/deductions.test.ts @@ -13,6 +13,7 @@ import { } from '../testData.js'; import makeGivenFacts from './functionalFlowUtils.js'; import { setupFactGraph } from '../setupFactGraph.js'; +import { vi } from 'vitest'; const flow = createFlowConfig(flowNodes); const givenFacts = makeGivenFacts(flow); diff --git a/direct-file/df-client/df-client-app/src/test/scenarioTests/flowSnapshots.test.ts b/direct-file/df-client/df-client-app/src/test/scenarioTests/flowSnapshots.test.ts index 14c7d3a..52ba387 100644 --- a/direct-file/df-client/df-client-app/src/test/scenarioTests/flowSnapshots.test.ts +++ b/direct-file/df-client/df-client-app/src/test/scenarioTests/flowSnapshots.test.ts @@ -11,7 +11,8 @@ import { fetchDataImportProfile } from '../../redux/slices/data-import/fetchData import { fetchProfile } from '../../redux/slices/data-import/dataImportProfileSlice.js'; import { store } from '../../redux/store.js'; import { TaxReturn } from '../../types/core.js'; -import marge from '../../redux/slices/data-import/mocks/marge.json'; +import { vi } from 'vitest'; +import marge from '../../../../../backend/src/main/resources/dataimportservice/mocks/marge.json' vi.mock(`../../redux/slices/data-import/fetchDataImportProfile.js`, () => ({ fetchDataImportProfile: vi.fn(), // Mock the function diff --git a/direct-file/df-client/df-client-app/src/test/scenarioTests/jsonScenarios b/direct-file/df-client/df-client-app/src/test/scenarioTests/jsonScenarios deleted file mode 120000 index b80cd2b..0000000 --- a/direct-file/df-client/df-client-app/src/test/scenarioTests/jsonScenarios +++ /dev/null @@ -1 +0,0 @@ -../../../../../backend/src/test/resources/scenarios \ No newline at end of file diff --git a/direct-file/df-client/df-client-app/src/test/scenarioTests/scenarios.test.ts b/direct-file/df-client/df-client-app/src/test/scenarioTests/scenarios.test.ts index 29621d1..371f350 100644 --- a/direct-file/df-client/df-client-app/src/test/scenarioTests/scenarios.test.ts +++ b/direct-file/df-client/df-client-app/src/test/scenarioTests/scenarios.test.ts @@ -1,5 +1,6 @@ // eslint-disable-next-line max-len -import scenarioO1Json from './jsonScenarios/ats-1.json'; +// import scenarioO1Json from './jsonScenarios/ats-1.json'; +import scenarioO1Json from '../../../../../backend/src/test/resources/scenarios/ats-1.json' import { ConcretePath, FactGraph, ScalaList } from '@irs/js-factgraph-scala'; import { singleNoDependentsWithTwoW2s01 as snapshotScenario01 } from './goldenScenarios.js'; import { FactValue } from '../../types/core.js'; diff --git a/direct-file/df-client/df-client-app/src/utils/condition.ts b/direct-file/df-client/df-client-app/src/utils/condition.ts index 72de752..ccc424c 100644 --- a/direct-file/df-client/df-client-app/src/utils/condition.ts +++ b/direct-file/df-client/df-client-app/src/utils/condition.ts @@ -1,13 +1,14 @@ import { FactGraph } from '@irs/js-factgraph-scala'; import { Condition, RawCondition } from '../flow/Condition.js'; -type HasConditions = { condition?: RawCondition; conditions?: RawCondition[] }; +import { ConfigProps, FlowComponentName, FlowNodeType } from '../flow/ContentDeclarations.js'; +import { ComponentProps } from 'react'; -export const conditionsPass = (props: HasConditions, fg: FactGraph, collectionId: string | null) => { +export const conditionsPass = (props: ConfigProps>>, fg: FactGraph, collectionId: string | null) => { if (props && props.condition) { return new Condition(props.condition).evaluate(fg, collectionId); // eslint-disable-next-line eqeqeq } else if (props.conditions != undefined) { - return props.conditions.every((c) => { + return props.conditions.every((c: RawCondition) => { const result = new Condition(c).evaluate(fg, collectionId); return result; }); diff --git a/direct-file/df-client/df-client-app/src/utils/errorBoundary.test.tsx b/direct-file/df-client/df-client-app/src/utils/errorBoundary.test.tsx index 26abd73..8d54d0e 100644 --- a/direct-file/df-client/df-client-app/src/utils/errorBoundary.test.tsx +++ b/direct-file/df-client/df-client-app/src/utils/errorBoundary.test.tsx @@ -4,7 +4,8 @@ import ErrorBoundary from './errorBoundary.js'; import { Provider } from 'react-redux'; import { store } from '../redux/store.js'; import { isTelemetryEnabled } from '../constants/pageConstants.js'; -import { Mock } from 'vitest'; +import { Mock, vi } from 'vitest'; + vi.useFakeTimers(); vi.mock(`../constants/pageConstants.js`, () => ({ diff --git a/direct-file/df-client/df-client-app/vite.config.ts b/direct-file/df-client/df-client-app/vite.config.ts index bc6bf24..ab33292 100644 --- a/direct-file/df-client/df-client-app/vite.config.ts +++ b/direct-file/df-client/df-client-app/vite.config.ts @@ -1,4 +1,4 @@ -import { UserConfig, defineConfig } from 'vitest/config'; +import { defineConfig } from 'vitest/config'; import react from '@vitejs/plugin-react'; import browserslistToEsbuild from 'browserslist-to-esbuild'; import { JSON_SCHEMA } from 'js-yaml'; @@ -7,7 +7,7 @@ import viteTsconfigPaths from 'vite-tsconfig-paths'; import autoprefixer from 'autoprefixer'; import path from 'path'; -export const configOptions: UserConfig = { +export default defineConfig({ base: process.env.DF_CLIENT_PUBLIC_PATH || '/df/file', assetsInclude: ['**/*.svg'], plugins: [react(), viteTsconfigPaths(), ViteYaml({ schema: JSON_SCHEMA })], @@ -17,11 +17,11 @@ export const configOptions: UserConfig = { localsConvention: 'camelCaseOnly', }, postcss: { - plugins: [autoprefixer()], + plugins: [autoprefixer() as any], }, preprocessorOptions: { scss: { - includePaths: ['../node_modules/@uswds', '../node_modules/@uswds/uswds/packages'], + loadPaths: ['../node_modules/@uswds', '../node_modules/@uswds/uswds/packages'], silenceDeprecations: ['legacy-js-api'], }, }, @@ -38,7 +38,7 @@ export const configOptions: UserConfig = { // Mock OLA '/ola/rest/taxpayer/taxRecord': { bypass: (_req, res, _options) => { - res.write( + res!.write( JSON.stringify({ transcriptSummary: { panelShowing: true, @@ -58,7 +58,7 @@ export const configOptions: UserConfig = { }, }) ); - res.end(); + res!.end(); return 'Bypassed'; // string return value prevents this from going to the original req.target }, }, @@ -97,7 +97,4 @@ export const configOptions: UserConfig = { }, }, }, -}; - -// https://vitejs.dev/config/ -export default defineConfig(configOptions); +}); diff --git a/direct-file/df-client/df-static-site/package.json b/direct-file/df-client/df-static-site/package.json index 7c8c029..d3a1b0d 100644 --- a/direct-file/df-client/df-static-site/package.json +++ b/direct-file/df-client/df-static-site/package.json @@ -9,6 +9,7 @@ "@types/js-yaml": "^4.0.5", "@uswds/uswds": "^3.7.1", "@vitejs/plugin-react": "^4.2.0", + "@vitest/coverage-v8": "3.2.4", "assert-never": "^1.2.1", "classnames": "^2.3.2", "crypto-js": "4.2.0", @@ -21,7 +22,7 @@ "react-i18next": "^15.1.0", "react-router-dom": "^6.27.0", "uuid": "^9.0.0", - "vite": "^5.4.15", + "vite": "^7.1.0", "vite-tsconfig-paths": "^4.2.0", "web-vitals": "^2.1.0" }, @@ -57,7 +58,7 @@ "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/uuid": "^9.0.1", - "@vitest/ui": "^1.4.0", + "@vitest/ui": "^3.2.4", "autoprefixer": "^10.4.14", "browserslist-to-esbuild": "^1.2.0", "eslint-plugin-df-rules": "^1.0.0", @@ -68,8 +69,8 @@ "sass": "^1.63.5", "ts-node": "^10.9.1", "typescript": "5.6.3", - "vite-node": "^2.1.8", - "vitest": "^1.6.1", + "vite-node": "^3.2.4", + "vitest": "^3.2.4", "zod": "^3.23.8" } } diff --git a/direct-file/df-client/df-static-site/postcss.config.js b/direct-file/df-client/df-static-site/postcss.config.js index a47ef4f..48b0d18 100644 --- a/direct-file/df-client/df-static-site/postcss.config.js +++ b/direct-file/df-client/df-static-site/postcss.config.js @@ -1,5 +1,5 @@ -module.exports = { +export default { plugins: { autoprefixer: {}, }, -}; +}; \ No newline at end of file diff --git a/direct-file/df-client/df-static-site/src/App.tsx b/direct-file/df-client/df-static-site/src/App.tsx index 15a9146..6b5c6bb 100644 --- a/direct-file/df-client/df-static-site/src/App.tsx +++ b/direct-file/df-client/df-static-site/src/App.tsx @@ -18,7 +18,7 @@ import { State, } from './pages/index.js'; -import '@trussworks/react-uswds/lib/index.css'; +import '../node_modules/@trussworks/react-uswds/lib/index.css' function App() { const { t, i18n } = useTranslation(`translation`); diff --git a/direct-file/df-client/df-static-site/tsconfig.json b/direct-file/df-client/df-static-site/tsconfig.json index 24f8f3e..7adec1e 100644 --- a/direct-file/df-client/df-static-site/tsconfig.json +++ b/direct-file/df-client/df-static-site/tsconfig.json @@ -7,5 +7,13 @@ "eslint-plugin-df-rules": ["../eslint-plugin-df-rules/src"] } }, - "include": ["src", "../node_modules/vitest/globals.d.ts"] + "include": ["src", "../node_modules/vitest/globals.d.ts"], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts", + "**/*.test.tsx", + "**/*.spec.ts", + "**/*.spec.tsx" + ] } diff --git a/direct-file/df-client/df-static-site/vite.config.ts b/direct-file/df-client/df-static-site/vite.config.ts index 1b22506..5f84ba2 100644 --- a/direct-file/df-client/df-static-site/vite.config.ts +++ b/direct-file/df-client/df-static-site/vite.config.ts @@ -1,4 +1,3 @@ -import { defineConfig } from 'vitest/config'; import react from '@vitejs/plugin-react'; import browserslistToEsbuild from 'browserslist-to-esbuild'; import { JSON_SCHEMA } from 'js-yaml'; @@ -6,6 +5,7 @@ import ViteYaml from '@modyfi/vite-plugin-yaml'; import viteTsconfigPaths from 'vite-tsconfig-paths'; import autoprefixer from 'autoprefixer'; import path from 'path'; +import { defineConfig } from 'vite'; // https://vitejs.dev/config/ export default defineConfig({ @@ -18,11 +18,11 @@ export default defineConfig({ localsConvention: 'camelCaseOnly', }, postcss: { - plugins: [autoprefixer()], + plugins: [autoprefixer() as any], }, preprocessorOptions: { scss: { - includePaths: [`../node_modules/@uswds`, `../node_modules/@uswds/uswds/packages`], + loadPaths: [`../node_modules/@uswds`, `../node_modules/@uswds/uswds/packages`], }, }, }, diff --git a/direct-file/df-client/eslint-plugin-df-rules/package.json b/direct-file/df-client/eslint-plugin-df-rules/package.json index ceb8491..cb3f4df 100644 --- a/direct-file/df-client/eslint-plugin-df-rules/package.json +++ b/direct-file/df-client/eslint-plugin-df-rules/package.json @@ -11,6 +11,10 @@ }, "devDependencies": { "@typescript-eslint/utils": "^5.59.6", - "vitest": "^1.6.1" + "vitest": "^3.2.4" + }, + "dependencies": { + "vite": "7.1.0", + "vite-node": "3.2.4" } } diff --git a/direct-file/df-client/eslint-plugin-df-rules/src/index.ts b/direct-file/df-client/eslint-plugin-df-rules/src/index.ts index c891e2e..277d97a 100644 --- a/direct-file/df-client/eslint-plugin-df-rules/src/index.ts +++ b/direct-file/df-client/eslint-plugin-df-rules/src/index.ts @@ -1,6 +1,6 @@ import { noFactGraphSaveRule } from './no-factgraph-save.js'; -module.exports = { +export default { rules: { 'no-factgraph-save': noFactGraphSaveRule, }, diff --git a/direct-file/df-client/package-lock.json b/direct-file/df-client/package-lock.json index c7f58bb..7d1db46 100644 --- a/direct-file/df-client/package-lock.json +++ b/direct-file/df-client/package-lock.json @@ -13,6 +13,7 @@ "packages/*" ], "dependencies": { + "@trussworks/react-uswds": "^10.0.2", "@typescript-eslint/eslint-plugin": "^5.59.6", "@typescript-eslint/parser": "^5.59.6", "dotenv-expand": "^10.0.0", @@ -40,7 +41,7 @@ "typescript-eslint": "^8.12.1" }, "engines": { - "node": "18.20.4" + "node": "22.18.0" } }, "df-client-app": { @@ -71,7 +72,7 @@ "react-router-dom": "^6.27.0", "ts-pattern": "^5.5.0", "uuid": "^9.0.0", - "vite": "^5.4.15", + "vite": "^7.1.0", "vite-tsconfig-paths": "^4.2.0", "web-vitals": "^2.1.0" }, @@ -85,8 +86,8 @@ "@types/react-dom": "^18.3.1", "@types/stringify-object": "^4.0.5", "@types/uuid": "^9.0.1", - "@vitest/coverage-v8": "^1.4.0", - "@vitest/ui": "^1.4.0", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", "autoprefixer": "^10.4.14", "browserslist-to-esbuild": "^1.2.0", "eslint-plugin-df-rules": "^1.0.0", @@ -99,16 +100,24 @@ "stringify-object": "^5.0.0", "ts-node": "^10.9.1", "typescript": "5.6.3", - "vite-node": "^2.1.8", + "vite-node": "^3.2.4", "vite-plugin-singlefile": "^0.13.5", - "vitest": "^1.6.1", + "vitest": "^3.2.4", "zod": "^3.23.8" } }, + "df-client-app/node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "df-client-app/node_modules/@reduxjs/toolkit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.3.0.tgz", - "integrity": "sha512-WC7Yd6cNGfHx8zf+iu+Q1UPTfEcXhQ+ATi7CV1hlrSAaQBdlPzg7Ww/wJHNQem7qG9rxmWoFCDCPubSvFObGzA==", "license": "MIT", "dependencies": { "immer": "^10.0.3", @@ -129,28 +138,13 @@ } } }, - "df-client-app/node_modules/@testing-library/react": { - "version": "14.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, "df-client-app/node_modules/@trussworks/react-uswds": { - "version": "7.0.0", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-8.0.0.tgz", + "integrity": "sha512-VxllH/CbqKKnHgjPGJltdssPRxo/km6uNfRAC0MvYTqHcLoeg+0/5omdG6gh94KAil1ZxEqiCadbEzPIn9jg/w==", "license": "Apache-2.0", "engines": { - "node": ">= 16.20.0" + "node": ">= 18" }, "peerDependencies": { "@uswds/uswds": "^3.7.1", @@ -158,6 +152,236 @@ "react-dom": "^16.x || ^17.x || ^18.x" } }, + "df-client-app/node_modules/@vitest/coverage-v8": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz", + "integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^1.0.2", + "ast-v8-to-istanbul": "^0.3.3", + "debug": "^4.4.1", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.17", + "magicast": "^0.3.5", + "std-env": "^3.9.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "3.2.4", + "vitest": "3.2.4" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, + "df-client-app/node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-client-app/node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-client-app/node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-client-app/node_modules/@vitest/ui": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", + "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.1", + "tinyglobby": "^0.2.14", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "3.2.4" + } + }, + "df-client-app/node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-client-app/node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "df-client-app/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "df-client-app/node_modules/chai": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "df-client-app/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "df-client-app/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "df-client-app/node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "df-client-app/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "df-client-app/node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "df-client-app/node_modules/has-flag": { "version": "3.0.0", "dev": true, @@ -166,6 +390,20 @@ "node": ">=4" } }, + "df-client-app/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "df-client-app/node_modules/loupe": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz", + "integrity": "sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==", + "dev": true, + "license": "MIT" + }, "df-client-app/node_modules/nodemon": { "version": "3.0.1", "dev": true, @@ -195,23 +433,73 @@ }, "df-client-app/node_modules/nodemon/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { "ms": "^2.1.1" } }, "df-client-app/node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "df-client-app/node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "df-client-app/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "df-client-app/node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } }, "df-client-app/node_modules/react-redux": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", - "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", "license": "MIT", "dependencies": { "@types/use-sync-external-store": "^0.0.3", @@ -231,6 +519,34 @@ } } }, + "df-client-app/node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "df-client-app/node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "df-client-app/node_modules/supports-color": { "version": "5.5.0", "dev": true, @@ -242,115 +558,149 @@ "node": ">=4" } }, - "df-client-app/node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", + "df-client-app/node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", + "dev": true, + "license": "ISC", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" - }, - "bin": { - "vite": "bin/vite.js" + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": ">=18" + } + }, + "df-client-app/node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "url": "https://github.com/sponsors/isaacs" + } + }, + "df-client-app/node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" } }, "df-client-app/node_modules/vite-node": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.8.tgz", - "integrity": "sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", "dev": true, + "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.7", - "es-module-lexer": "^1.5.4", - "pathe": "^1.1.2", - "vite": "^5.0.0" + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "df-client-app/node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "df-client-app/node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, "funding": { - "url": "https://github.com/sponsors/colinhacks" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, - "df-common": { - "name": "@irs/df-common", - "version": "0.1.0", - "extraneous": true, - "dependencies": { - "@trussworks/react-uswds": "^8.0.0", - "@uswds/uswds": "^3.7.1", - "autoprefixer": "^10.4.15", - "classnames": "^2.3.2", - "i18next": "23.16.4", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-i18next": "^15.1.0", - "react-router-dom": "^6.27.0" - }, - "devDependencies": { - "@types/react": "^18.3.12", - "@types/react-dom": "^18.3.1", - "eslint-plugin-df-rules": "^1.0.0", - "typescript": "5.6.3" + "df-client-app/node_modules/zod": { + "version": "3.23.8", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" } }, "df-static-site": { @@ -362,6 +712,7 @@ "@types/js-yaml": "^4.0.5", "@uswds/uswds": "^3.7.1", "@vitejs/plugin-react": "^4.2.0", + "@vitest/coverage-v8": "3.2.4", "assert-never": "^1.2.1", "classnames": "^2.3.2", "crypto-js": "4.2.0", @@ -374,7 +725,7 @@ "react-i18next": "^15.1.0", "react-router-dom": "^6.27.0", "uuid": "^9.0.0", - "vite": "^5.4.15", + "vite": "^7.1.0", "vite-tsconfig-paths": "^4.2.0", "web-vitals": "^2.1.0" }, @@ -387,7 +738,7 @@ "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/uuid": "^9.0.1", - "@vitest/ui": "^1.4.0", + "@vitest/ui": "^3.2.4", "autoprefixer": "^10.4.14", "browserslist-to-esbuild": "^1.2.0", "eslint-plugin-df-rules": "^1.0.0", @@ -398,11 +749,20 @@ "sass": "^1.63.5", "ts-node": "^10.9.1", "typescript": "5.6.3", - "vite-node": "^2.1.8", - "vitest": "^1.6.1", + "vite-node": "^3.2.4", + "vitest": "^3.2.4", "zod": "^3.23.8" } }, + "df-static-site/node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "df-static-site/node_modules/@testing-library/jest-dom": { "version": "6.0.1", "dev": true, @@ -443,28 +803,13 @@ } } }, - "df-static-site/node_modules/@testing-library/react": { - "version": "14.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^9.0.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, "df-static-site/node_modules/@trussworks/react-uswds": { - "version": "7.0.0", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-8.0.0.tgz", + "integrity": "sha512-VxllH/CbqKKnHgjPGJltdssPRxo/km6uNfRAC0MvYTqHcLoeg+0/5omdG6gh94KAil1ZxEqiCadbEzPIn9jg/w==", "license": "Apache-2.0", "engines": { - "node": ">= 16.20.0" + "node": ">= 18" }, "peerDependencies": { "@uswds/uswds": "^3.7.1", @@ -472,6 +817,153 @@ "react-dom": "^16.x || ^17.x || ^18.x" } }, + "df-static-site/node_modules/@vitest/coverage-v8": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz", + "integrity": "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@bcoe/v8-coverage": "^1.0.2", + "ast-v8-to-istanbul": "^0.3.3", + "debug": "^4.4.1", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.17", + "magicast": "^0.3.5", + "std-env": "^3.9.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "3.2.4", + "vitest": "3.2.4" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } + } + }, + "df-static-site/node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-static-site/node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-static-site/node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-static-site/node_modules/@vitest/ui": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-3.2.4.tgz", + "integrity": "sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "fflate": "^0.8.2", + "flatted": "^3.3.3", + "pathe": "^2.0.3", + "sirv": "^3.0.1", + "tinyglobby": "^0.2.14", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "3.2.4" + } + }, + "df-static-site/node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "df-static-site/node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "df-static-site/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "df-static-site/node_modules/chai": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, "df-static-site/node_modules/chalk": { "version": "3.0.0", "dev": true, @@ -484,122 +976,592 @@ "node": ">=8" } }, - "df-static-site/node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true - }, - "df-static-site/node_modules/sass": { - "version": "1.65.1", - "devOptional": true, + "df-static-site/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, "engines": { - "node": ">=14.0.0" + "node": ">= 16" } }, - "df-static-site/node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", + "df-static-site/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" - }, - "bin": { - "vite": "bin/vite.js" + "ms": "^2.1.3" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "node": ">=6.0" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { + "supports-color": { "optional": true } } }, - "df-static-site/node_modules/vite-node": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.8.tgz", - "integrity": "sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==", + "df-static-site/node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "df-static-site/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "df-static-site/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, + "df-static-site/node_modules/loupe": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz", + "integrity": "sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==", + "license": "MIT" + }, + "df-static-site/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "df-static-site/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "df-static-site/node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "df-static-site/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "df-static-site/node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "df-static-site/node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "df-static-site/node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "df-static-site/node_modules/test-exclude": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^10.4.1", + "minimatch": "^9.0.4" + }, + "engines": { + "node": ">=18" + } + }, + "df-static-site/node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "df-static-site/node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.7", - "es-module-lexer": "^1.5.4", - "pathe": "^1.1.2", - "vite": "^5.0.0" + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, + "df-static-site/node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, "df-static-site/node_modules/zod": { "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "eslint-plugin-df-rules": { "version": "1.0.0", + "dependencies": { + "vite": "7.1.0", + "vite-node": "3.2.4" + }, "devDependencies": { "@typescript-eslint/utils": "^5.59.6", - "vitest": "^1.6.1" + "vitest": "^3.2.4" + } + }, + "eslint-plugin-df-rules/node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "eslint-plugin-df-rules/node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "eslint-plugin-df-rules/node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "eslint-plugin-df-rules/node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "eslint-plugin-df-rules/node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "eslint-plugin-df-rules/node_modules/chai": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "eslint-plugin-df-rules/node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "eslint-plugin-df-rules/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "eslint-plugin-df-rules/node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "eslint-plugin-df-rules/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "eslint-plugin-df-rules/node_modules/loupe": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.0.tgz", + "integrity": "sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==", + "dev": true, + "license": "MIT" + }, + "eslint-plugin-df-rules/node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "license": "MIT" + }, + "eslint-plugin-df-rules/node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "eslint-plugin-df-rules/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "eslint-plugin-df-rules/node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "eslint-plugin-df-rules/node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "eslint-plugin-df-rules/node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "eslint-plugin-df-rules/node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } } }, "js-factgraph-scala": { @@ -620,11 +1582,13 @@ "license": "MIT" }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -699,26 +1663,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.23.5", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.7", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.0.tgz", + "integrity": "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==", "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.27.3", + "@babel/helpers": "^7.27.6", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -733,33 +1701,54 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.23.6", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.0.tgz", + "integrity": "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==", "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.28.0", + "@babel/types": "^7.28.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -769,6 +1758,8 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -776,6 +1767,8 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -783,55 +1776,41 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "license": "ISC" }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz", + "integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==", "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.3" }, "engines": { "node": ">=6.9.0" @@ -841,60 +1820,49 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.7", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.2.tgz", + "integrity": "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==", "license": "MIT", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" }, "engines": { "node": ">=6.9.0" @@ -970,8 +1938,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.24.4", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.0.tgz", + "integrity": "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==", "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -980,10 +1953,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -993,10 +1968,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1006,70 +1983,87 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.0", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.2.tgz", + "integrity": "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.15", + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.7", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.0.tgz", + "integrity": "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.0", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.0", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.24.0", + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "dev": true, @@ -1162,8 +2156,74 @@ "postcss-selector-parser": "^6.0.13" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", "cpu": [ "arm64" ], @@ -1173,7 +2233,343 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -1191,16 +2587,14 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1221,8 +2615,7 @@ }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1236,14 +2629,12 @@ }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "license": "MIT" }, "node_modules/@eslint/js": { "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", - "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } @@ -1294,9 +2685,7 @@ }, "node_modules/@humanwhocodes/config-array": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", @@ -1319,9 +2708,7 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead" + "license": "BSD-3-Clause" }, "node_modules/@irs/df-client-app": { "resolved": "df-client-app", @@ -1339,9 +2726,75 @@ "resolved": "js-factgraph-scala", "link": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1386,15 +2839,13 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, "node_modules/@jridgewell/resolve-uri": { @@ -1404,19 +2855,16 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -1424,7 +2872,9 @@ } }, "node_modules/@modyfi/vite-plugin-yaml": { - "version": "1.1.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@modyfi/vite-plugin-yaml/-/vite-plugin-yaml-1.1.1.tgz", + "integrity": "sha512-rEbfFNlMGLKpAYs2RsfLAhxCHFa6M4QKHHk0A4EYcCJAUwFtFO6qiEdLjUGUTtnRUxAC7GxxCa+ZbeUILSDvqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1433,7 +2883,7 @@ "tosource": "2.0.0-alpha.3" }, "peerDependencies": { - "vite": "^3.2.7 || ^4.0.5 || ^5.0.5" + "vite": ">=3.2.7" } }, "node_modules/@nodelib/fs.scandir": { @@ -1497,28 +2947,19 @@ "@parcel/watcher-win32-x64": "2.4.1" } }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "cpu": [ - "arm64" - ], + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "license": "MIT", "optional": true, - "os": [ - "darwin" - ], - "peer": true, "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=14" } }, "node_modules/@polka/url": { "version": "1.0.0-next.25", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@remix-run/router": { @@ -1528,6 +2969,12 @@ "node": ">=14.0.0" } }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "license": "MIT" + }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "dev": true, @@ -1555,120 +3002,143 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz", - "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.2.tgz", + "integrity": "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz", - "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.2.tgz", + "integrity": "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz", - "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.2.tgz", + "integrity": "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz", - "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.2.tgz", + "integrity": "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz", - "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.2.tgz", + "integrity": "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz", - "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.2.tgz", + "integrity": "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "freebsd" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz", - "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.2.tgz", + "integrity": "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz", - "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.2.tgz", + "integrity": "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==", "cpu": [ "arm" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz", - "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.2.tgz", + "integrity": "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz", - "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.2.tgz", + "integrity": "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==", "cpu": [ "arm64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.2.tgz", + "integrity": "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==", + "cpu": [ + "loong64" + ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -1681,78 +3151,112 @@ "cpu": [ "ppc64" ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.2.tgz", + "integrity": "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz", - "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.2.tgz", + "integrity": "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==", "cpu": [ "riscv64" ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.2.tgz", + "integrity": "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz", - "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.2.tgz", + "integrity": "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==", "cpu": [ "s390x" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz", - "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.2.tgz", + "integrity": "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz", - "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.2.tgz", + "integrity": "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz", - "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.2.tgz", + "integrity": "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz", - "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==", + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.2.tgz", + "integrity": "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -1760,11 +3264,11 @@ }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz", - "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==", "cpu": [ "x64" ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1776,21 +3280,21 @@ "license": "MIT" }, "node_modules/@testing-library/dom": { - "version": "9.3.1", + "version": "10.4.1", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", + "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", + "picocolors": "1.1.1", "pretty-format": "^27.0.2" }, "engines": { - "node": ">=14" + "node": ">=18" } }, "node_modules/@testing-library/dom/node_modules/ansi-styles": { @@ -1855,6 +3359,29 @@ "node": ">=8" } }, + "node_modules/@testing-library/react": { + "version": "15.0.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^10.0.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/react": "^18.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@testing-library/user-event": { "version": "14.5.2", "dev": true, @@ -1868,16 +3395,20 @@ } }, "node_modules/@trussworks/react-uswds": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-8.0.0.tgz", - "integrity": "sha512-VxllH/CbqKKnHgjPGJltdssPRxo/km6uNfRAC0MvYTqHcLoeg+0/5omdG6gh94KAil1ZxEqiCadbEzPIn9jg/w==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-10.0.2.tgz", + "integrity": "sha512-FW5WPMPyevDmy3CSIWKx7BS6qb0/JlMv/VhGSdYuNMtM0vKaFVrqGGHS1w4UGvnGxLb+xi+873Ycoxe1NkeGwg==", + "license": "Apache-2.0", "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { + "@types/react": "^16.x || ^17.x || ^18.x || ^19.x", + "@types/react-dom": "^16.x || ^17.x || ^18.x || ^19.x", "@uswds/uswds": "^3.7.1", - "react": "^16.x || ^17.x || ^18.x", - "react-dom": "^16.x || ^17.x || ^18.x" + "focus-trap-react": "^10.2.3", + "react": "^16.x || ^17.x || ^18.x || ^19.x", + "react-dom": "^16.x || ^17.x || ^18.x || ^19.x" } }, "node_modules/@tsconfig/node10": { @@ -1938,15 +3469,29 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, "node_modules/@types/crypto-js": { "version": "4.2.1", "license": "MIT" }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "license": "MIT" + }, "node_modules/@types/eslint": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -1954,9 +3499,8 @@ }, "node_modules/@types/eslint__js": { "version": "8.42.3", - "resolved": "https://registry.npmjs.org/@types/eslint__js/-/eslint__js-8.42.3.tgz", - "integrity": "sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==", "dev": true, + "license": "MIT", "dependencies": { "@types/eslint": "*" } @@ -2001,8 +3545,7 @@ }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + "license": "MIT" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2013,12 +3556,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.8.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz", - "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==", + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.2.0.tgz", + "integrity": "sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==", "devOptional": true, + "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~7.10.0" } }, "node_modules/@types/normalize-package-data": { @@ -2032,12 +3576,10 @@ }, "node_modules/@types/prop-types": { "version": "15.7.5", - "devOptional": true, "license": "MIT" }, "node_modules/@types/react": { "version": "18.3.12", - "devOptional": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -2046,7 +3588,6 @@ }, "node_modules/@types/react-dom": { "version": "18.3.1", - "dev": true, "license": "MIT", "dependencies": { "@types/react": "*" @@ -2054,8 +3595,7 @@ }, "node_modules/@types/semver": { "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + "license": "MIT" }, "node_modules/@types/stack-utils": { "version": "2.0.1", @@ -2077,8 +3617,6 @@ }, "node_modules/@types/use-sync-external-store": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", "license": "MIT" }, "node_modules/@types/uuid": { @@ -2158,8 +3696,7 @@ }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -2224,8 +3761,7 @@ }, "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -2261,9 +3797,8 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.1.tgz", - "integrity": "sha512-k/o9khHOckPeDXilFTIPsP9iAYhhdMh3OsOL3i2072PNpFqhqzRHx472/0DeC8H/WZee3bZG0z2ddGRSPgeOKw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "8.12.1", "@typescript-eslint/visitor-keys": "8.12.1", @@ -2289,9 +3824,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/types": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.1.tgz", - "integrity": "sha512-anMS4es5lxBe4UVcDXOkcDb3csnm5BvaNIbOFfvy/pJEohorsggdVB8MFbl5EZiEuBnZZ0ei1z7W5b6FdFiV1Q==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2302,9 +3836,8 @@ }, "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.1.tgz", - "integrity": "sha512-2RwdwnNGuOQKdGjuhujQHUqBZhEuodg2sLVPvOfWktvA9sOXOVqARjOyHSyhN2LiJGKxV6c8oOcmOtRcAnEeFw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.12.1", "eslint-visitor-keys": "^3.4.3" @@ -2318,19 +3851,19 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2343,8 +3876,7 @@ }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", @@ -2368,8 +3900,7 @@ }, "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "5.62.0", "@typescript-eslint/visitor-keys": "5.62.0", @@ -2409,8 +3940,7 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "license": "ISC" }, "node_modules/@uswds/uswds": { "version": "3.7.1", @@ -2429,139 +3959,70 @@ } }, "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", "license": "MIT", "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" + "react-refresh": "^0.17.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@vitest/coverage-v8": { - "version": "1.5.0", - "dev": true, + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.2.1", - "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^5.0.4", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "test-exclude": "^6.0.0" + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "1.5.0" - } - }, - "node_modules/@vitest/expect": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.6.1.tgz", - "integrity": "sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "1.6.1", - "@vitest/utils": "1.6.1", - "chai": "^4.3.10" + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, - "node_modules/@vitest/runner": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.6.1.tgz", - "integrity": "sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==", - "dev": true, + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", "license": "MIT", "dependencies": { - "@vitest/utils": "1.6.1", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.6.1.tgz", - "integrity": "sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.1.tgz", - "integrity": "sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==", - "dev": true, + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", "license": "MIT", "dependencies": { - "tinyspy": "^2.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/ui": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.6.1.tgz", - "integrity": "sha512-xa57bCPGuzEFqGjPs3vVLyqareG8DX0uMkr5U/v5vLv5/ZUrBrPL7gzxzTJedEyZxFMfsozwTIbbYfEQVo3kgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "1.6.1", - "fast-glob": "^3.3.2", - "fflate": "^0.8.1", - "flatted": "^3.2.9", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "sirv": "^2.0.4" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "vitest": "1.6.1" - } - }, - "node_modules/@vitest/utils": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.1.tgz", - "integrity": "sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "tinyspy": "^4.0.3" }, "funding": { "url": "https://opencollective.com/vitest" @@ -2584,8 +4045,7 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2634,7 +4094,7 @@ }, "node_modules/anymatch": { "version": "3.1.3", - "devOptional": true, + "dev": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -2710,11 +4170,11 @@ "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.1.3", + "version": "5.3.0", "dev": true, "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -2806,16 +4266,23 @@ "version": "1.2.1", "license": "MIT" }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, + "node_modules/ast-v8-to-istanbul": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.4.tgz", + "integrity": "sha512-cxrAnZNLBnQwBPByK4CeDaw5sWZtMilJE/Q3iDA0aamgaIVNDF9T6K2/8DfYDZEejZ2jNnDrG9m8MY72HFd0KA==", "license": "MIT", - "engines": { - "node": "*" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.29", + "estree-walker": "^3.0.3", + "js-tokens": "^9.0.1" } }, + "node_modules/ast-v8-to-istanbul/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "license": "MIT" + }, "node_modules/astral-regex": { "version": "2.0.0", "license": "MIT", @@ -2912,7 +4379,7 @@ }, "node_modules/binary-extensions": { "version": "2.2.0", - "devOptional": true, + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2934,7 +4401,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -2953,8 +4422,6 @@ }, "node_modules/browserslist": { "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "funding": [ { "type": "opencollective", @@ -2969,6 +4436,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001669", "electron-to-chromium": "^1.5.41", @@ -3041,7 +4509,6 @@ }, "node_modules/cac": { "version": "6.7.14", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3102,9 +4569,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001673", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001673.tgz", - "integrity": "sha512-WTrjUCSMp3LYX0nE12ECkV0a+e6LC85E0Auz75555/qr78Oc8YWhEPNfDd6SHdtlCMSzqtuXY0uyEMNRcsKpKw==", + "version": "1.0.30001731", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz", + "integrity": "sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==", "funding": [ { "type": "opencollective", @@ -3118,26 +4585,8 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] - }, - "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, - "engines": { - "node": ">=4" - } + ], + "license": "CC-BY-4.0" }, "node_modules/chainsaw": { "version": "0.1.0", @@ -3161,22 +4610,9 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, "node_modules/chokidar": { "version": "3.5.3", - "devOptional": true, + "dev": true, "funding": [ { "type": "individual", @@ -3260,6 +4696,8 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "license": "MIT" }, "node_modules/core-util-is": { @@ -3313,8 +4751,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3363,7 +4800,6 @@ }, "node_modules/csstype": { "version": "3.1.2", - "devOptional": true, "license": "MIT" }, "node_modules/dayjs": { @@ -3417,47 +4853,6 @@ "node": ">=0.10.0" } }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-equal": { - "version": "2.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "license": "MIT" @@ -3476,6 +4871,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dequal": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "1.0.3", "devOptional": true, @@ -3562,10 +4965,15 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, "node_modules/electron-to-chromium": { "version": "1.5.48", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.48.tgz", - "integrity": "sha512-FXULnNK7ACNI9MTMOVAzUGiz/YrK9Kcb0s/JT4aJgsam7Eh6XYe7Y6q95lPq+VdBe1DpT2eTnfXFtnuPGCks4w==" + "license": "ISC" }, "node_modules/element-closest": { "version": "2.0.2", @@ -3600,7 +5008,7 @@ }, "node_modules/entities": { "version": "4.5.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -3662,30 +5070,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", - "dev": true + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" }, "node_modules/es-set-tostringtag": { "version": "2.0.1", @@ -3722,45 +5111,49 @@ } }, "node_modules/esbuild": { - "version": "0.21.5", + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", "hasInstallScript": true, "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" } }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3777,9 +5170,7 @@ }, "node_modules/eslint": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -4077,8 +5468,7 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -4089,16 +5479,14 @@ }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -4108,8 +5496,7 @@ }, "node_modules/eslint/node_modules/@eslint/js": { "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -4130,8 +5517,7 @@ }, "node_modules/eslint/node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -4141,8 +5527,7 @@ }, "node_modules/eslint/node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -4170,8 +5555,7 @@ }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -4213,9 +5597,6 @@ }, "node_modules/estree-walker": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" @@ -4255,28 +5636,6 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/execa": { - "version": "8.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/expect": { "version": "29.6.1", "dev": true, @@ -4293,6 +5652,15 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/fast-csv": { "version": "4.3.6", "dev": true, @@ -4374,8 +5742,10 @@ } }, "node_modules/fflate": { - "version": "0.8.1", - "dev": true, + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "devOptional": true, "license": "MIT" }, "node_modules/file-entry-cache": { @@ -4424,13 +5794,14 @@ } }, "node_modules/flatted": { - "version": "3.2.9", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "license": "ISC" }, "node_modules/focus-trap": { "version": "7.6.2", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.2.tgz", - "integrity": "sha512-9FhUxK1hVju2+AiQIDJ5Dd//9R2n2RAfJ0qfhF4IHGHgcoEUTMpbTeG/zbEuwaiYXfuAH6XE0/aCyxDdRM+W5w==", + "license": "MIT", "peer": true, "dependencies": { "tabbable": "^6.2.0" @@ -4438,8 +5809,7 @@ }, "node_modules/focus-trap-react": { "version": "10.3.1", - "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-10.3.1.tgz", - "integrity": "sha512-PN4Ya9xf9nyj/Nd9VxBNMuD7IrlRbmaG6POAQ8VLqgtc6IY/Ln1tYakow+UIq4fihYYYFM70/2oyidE6bbiPgw==", + "license": "MIT", "peer": true, "dependencies": { "focus-trap": "^7.6.1", @@ -4458,10 +5828,39 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/fraction.js": { "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -4481,6 +5880,9 @@ }, "node_modules/fsevents": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, "license": "MIT", "optional": true, "os": [ @@ -4547,21 +5949,13 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/get-intrinsic": { "version": "1.2.1", "license": "MIT", @@ -4586,17 +5980,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-stream": { - "version": "8.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.0.0", "license": "MIT", @@ -4684,8 +6067,7 @@ }, "node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -4698,8 +6080,7 @@ }, "node_modules/globals/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4767,9 +6148,8 @@ }, "node_modules/happy-dom": { "version": "15.10.2", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-15.10.2.tgz", - "integrity": "sha512-NbA5XrSovenJIIcfixCREX3ZnV7yHP4phhbfuxxf4CPn+LZpz/jIM9EqJ2DrPwgVDSMoAKH3pZwQvkbsSiCrUw==", - "dev": true, + "devOptional": true, + "license": "MIT", "dependencies": { "entities": "^4.5.0", "webidl-conversions": "^7.0.0", @@ -4875,7 +6255,6 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, "license": "MIT" }, "node_modules/html-parse-stringify": { @@ -4895,18 +6274,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/human-signals": { - "version": "5.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, "node_modules/i18next": { "version": "23.16.4", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.4.tgz", - "integrity": "sha512-9NIYBVy9cs4wIqzurf7nLXPyf3R78xYbxExVqHLK9od3038rjpyOEzW+XB130kZ1N4PZ9inTtJ471CRJ4Ituyg==", "funding": [ { "type": "individual", @@ -4921,6 +6290,7 @@ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" } ], + "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2" } @@ -4946,8 +6316,7 @@ }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -4964,8 +6333,6 @@ }, "node_modules/immer": { "version": "10.1.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", - "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", "license": "MIT", "funding": { "type": "opencollective", @@ -5055,21 +6422,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "license": "MIT", @@ -5098,7 +6450,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -5181,14 +6533,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", "license": "MIT", @@ -5232,8 +6576,7 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5277,14 +6620,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-set": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "license": "MIT", @@ -5295,17 +6630,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-stream": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-string": { "version": "1.0.7", "license": "MIT", @@ -5349,14 +6673,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "license": "MIT", @@ -5367,30 +6683,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "dev": true, - "license": "MIT" - }, "node_modules/isexe": { "version": "2.0.0", "license": "ISC" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=8" @@ -5398,7 +6696,6 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", @@ -5411,7 +6708,6 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", - "dev": true, "license": "MIT", "dependencies": { "semver": "^7.5.3" @@ -5424,8 +6720,9 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "5.0.4", - "dev": true, + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "license": "BSD-3-Clause", "dependencies": { "@jridgewell/trace-mapping": "^0.3.23", @@ -5437,8 +6734,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "dev": true, + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", @@ -5448,6 +6746,21 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest-diff": { "version": "29.6.1", "dev": true, @@ -5534,13 +6847,15 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-parse-even-better-errors": { @@ -5557,6 +6872,8 @@ }, "node_modules/json5": { "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -5565,11 +6882,6 @@ "node": ">=6" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "dev": true, - "license": "MIT" - }, "node_modules/jsx-ast-utils": { "version": "3.3.4", "license": "MIT", @@ -5686,21 +6998,6 @@ "dev": true, "license": "ISC" }, - "node_modules/local-pkg": { - "version": "0.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/locate-path": { "version": "6.0.0", "license": "MIT", @@ -5802,16 +7099,6 @@ "loose-envify": "cli.js" } }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.1" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "license": "ISC", @@ -5831,23 +7118,22 @@ } }, "node_modules/magic-string": { - "version": "0.30.5", - "dev": true, + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/magicast": { - "version": "0.3.4", - "dev": true, + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz", + "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.24.4", - "@babel/types": "^7.24.0", + "@babel/parser": "^7.25.4", + "@babel/types": "^7.25.4", "source-map-js": "^1.2.0" } }, @@ -5947,11 +7233,6 @@ "node": ">=10" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/merge2": { "version": "1.4.1", "license": "MIT", @@ -5970,17 +7251,6 @@ "node": ">=8.6" } }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/min-indent": { "version": "1.0.1", "license": "MIT", @@ -6017,6 +7287,15 @@ "node": ">= 6" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp": { "version": "0.5.6", "dev": true, @@ -6028,20 +7307,9 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/mlly": { - "version": "1.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" - } - }, "node_modules/mrmime": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -6052,15 +7320,16 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -6083,8 +7352,7 @@ }, "node_modules/node-releases": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "license": "MIT" }, "node_modules/nopt": { "version": "1.0.10", @@ -6124,31 +7392,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-path": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/object-assign": { "version": "4.1.1", "license": "MIT", @@ -6163,21 +7406,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "license": "MIT", @@ -6261,20 +7489,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { "version": "0.9.3", "license": "MIT", @@ -6290,22 +7504,6 @@ "node": ">= 0.8.0" } }, - "node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-locate": { "version": "5.0.0", "license": "MIT", @@ -6342,6 +7540,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "1.0.11", "dev": true, @@ -6398,6 +7602,28 @@ "version": "1.0.7", "license": "MIT" }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, "node_modules/path-type": { "version": "4.0.0", "license": "MIT", @@ -6405,23 +7631,8 @@ "node": ">=8" } }, - "node_modules/pathe": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, "node_modules/picocolors": { - "version": "1.1.0", + "version": "1.1.1", "license": "ISC" }, "node_modules/picomatch": { @@ -6434,16 +7645,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pkg-types": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, "node_modules/postcss": { "version": "8.4.47", "funding": [ @@ -6682,8 +7883,7 @@ }, "node_modules/react-i18next": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.0.tgz", - "integrity": "sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", "html-parse-stringify": "^3.0.1" @@ -6707,7 +7907,9 @@ "license": "MIT" }, "node_modules/react-refresh": { - "version": "0.14.0", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6794,7 +7996,9 @@ } }, "node_modules/readdir-glob/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6814,7 +8018,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "picomatch": "^2.2.1" @@ -6847,23 +8051,15 @@ }, "node_modules/redux": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", "license": "MIT" }, "node_modules/redux-thunk": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", - "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", "license": "MIT", "peerDependencies": { "redux": "^5.0.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "license": "MIT" - }, "node_modules/regexp.prototype.flags": { "version": "1.5.0", "license": "MIT", @@ -6888,8 +8084,6 @@ }, "node_modules/reselect": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", - "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", "license": "MIT" }, "node_modules/resolve": { @@ -6949,8 +8143,8 @@ }, "node_modules/rollup": { "version": "4.24.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.3.tgz", - "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==", + "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.6" }, @@ -6983,6 +8177,230 @@ "fsevents": "~2.3.2" } }, + "node_modules/rollup/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz", + "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz", + "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz", + "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz", + "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz", + "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz", + "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz", + "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz", + "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz", + "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz", + "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz", + "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz", + "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz", + "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz", + "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz", + "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz", + "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/run-parallel": { "version": "1.2.0", "funding": [ @@ -7132,7 +8550,6 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/signal-exit": { @@ -7156,19 +8573,6 @@ "node": ">=10" } }, - "node_modules/sirv": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/slash": { "version": "3.0.0", "license": "MIT", @@ -7243,25 +8647,14 @@ }, "node_modules/stackback": { "version": "0.0.2", - "dev": true, "license": "MIT" }, "node_modules/std-env": { - "version": "3.7.0", - "dev": true, + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", "license": "MIT" }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/string_decoder": { "version": "1.1.1", "dev": true, @@ -7282,6 +8675,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "license": "MIT", @@ -7364,6 +8772,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "license": "MIT", @@ -7371,17 +8792,6 @@ "node": ">=4" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/strip-indent": { "version": "3.0.0", "dev": true, @@ -7395,8 +8805,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -7404,22 +8813,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-literal": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/strnum": { "version": "1.0.5", "license": "MIT" @@ -7589,8 +8982,7 @@ }, "node_modules/tabbable": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "license": "MIT", "peer": true }, "node_modules/table": { @@ -7630,62 +9022,90 @@ "node": ">=6" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/text-table": { "version": "0.2.0", "license": "MIT" }, "node_modules/tinybench": { - "version": "2.5.1", - "dev": true, + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "license": "MIT" }, - "node_modules/tinypool": { - "version": "0.8.4", - "dev": true, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", - "dev": true, + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/tmp": { - "version": "0.2.1", + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz", + "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==", "dev": true, "license": "MIT", - "dependencies": { - "rimraf": "^3.0.0" - }, "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=14.14" } }, "node_modules/to-regex-range": { @@ -7707,7 +9127,7 @@ }, "node_modules/totalist": { "version": "3.0.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -7741,9 +9161,8 @@ }, "node_modules/ts-api-utils": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -7753,9 +9172,8 @@ }, "node_modules/ts-node": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dev": true, + "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -7804,8 +9222,7 @@ }, "node_modules/ts-pattern": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.5.0.tgz", - "integrity": "sha512-jqbIpTsa/KKTJYWgPNsFNbLVpwCgzXfFJ1ukNn4I8hMwyQzHMJnk/BqWzggB0xpkILuKzaO/aMYhS0SkaJyKXg==" + "license": "MIT" }, "node_modules/tsconfck": { "version": "2.1.1", @@ -7876,16 +9293,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/type-fest": { "version": "1.4.0", "license": "(MIT OR CC0-1.0)", @@ -7910,8 +9317,7 @@ }, "node_modules/typescript": { "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -7922,9 +9328,8 @@ }, "node_modules/typescript-eslint": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.12.1.tgz", - "integrity": "sha512-SsKedZnq4TStkrpqnk+OqTnmkC9CkYBRNKjQ965CLpFruGcRkPF5UhKxbcbF6c/m2r6YAgKw/UtQxdlMjh3mug==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/eslint-plugin": "8.12.1", "@typescript-eslint/parser": "8.12.1", @@ -7945,9 +9350,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.1.tgz", - "integrity": "sha512-gNg/inLRcPoBsKKIe4Vv38SVSOhk4BKWNO0T56sVff33gRqtTpOsrhHtiOKD1lmIOmCtZMPaW2x/h2FlM+sCEg==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "8.12.1", @@ -7978,9 +9382,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.1.tgz", - "integrity": "sha512-I/I9Bg7qFa8rOgBnUUHIWTgzbB5wVkSLX+04xGUzTcJUtdq/I2uHWR9mbW6qUYJG/UmkuDcTax5JHvoEWOAHOQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "8.12.1", "@typescript-eslint/types": "8.12.1", @@ -8006,9 +9409,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.1.tgz", - "integrity": "sha512-bma6sD1iViTt+y9MAwDlBdPTMCqoH/BNdcQk4rKhIZWv3eM0xHmzeSrPJA663PAqFqfpOmtdugycpr0E1mZDVA==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.12.1", "@typescript-eslint/visitor-keys": "8.12.1" @@ -8023,9 +9425,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.1.tgz", - "integrity": "sha512-zJzrvbDVjIzVKV2TGHcjembEhws8RWXJhmqfO9hS2gRXBN0gDwGhRPEdJ6AZglzfJ+YA1q09EWpSLSXjBJpIMQ==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "8.12.1", "@typescript-eslint/utils": "8.12.1", @@ -8047,9 +9448,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.1.tgz", - "integrity": "sha512-anMS4es5lxBe4UVcDXOkcDb3csnm5BvaNIbOFfvy/pJEohorsggdVB8MFbl5EZiEuBnZZ0ei1z7W5b6FdFiV1Q==", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -8060,9 +9460,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.1.tgz", - "integrity": "sha512-sDv9yFHrhKe1WN8EYuzfhKCh/sFRupe9P+m/lZ5YgVvPoCUGHNN50IO4llSu7JAbftUM/QcCh+GeCortXPrBYQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "8.12.1", @@ -8082,9 +9481,8 @@ }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { "version": "8.12.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.1.tgz", - "integrity": "sha512-2RwdwnNGuOQKdGjuhujQHUqBZhEuodg2sLVPvOfWktvA9sOXOVqARjOyHSyhN2LiJGKxV6c8oOcmOtRcAnEeFw==", "dev": true, + "license": "MIT", "dependencies": { "@typescript-eslint/types": "8.12.1", "eslint-visitor-keys": "^3.4.3" @@ -8097,11 +9495,6 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/ufo": { - "version": "1.3.2", - "dev": true, - "license": "MIT" - }, "node_modules/unbox-primitive": { "version": "1.0.2", "license": "MIT", @@ -8121,7 +9514,9 @@ "license": "MIT" }, "node_modules/undici-types": { - "version": "6.19.8", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", "devOptional": true, "license": "MIT" }, @@ -8163,8 +9558,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "funding": [ { "type": "opencollective", @@ -8179,6 +9572,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.0" @@ -8199,8 +9593,6 @@ }, "node_modules/use-sync-external-store": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -8231,20 +9623,23 @@ } }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.0.tgz", + "integrity": "sha512-3jdAy3NhBJYsa/lCFcnRfbK4kNkO/bhijFCnv5ByUQk/eekYagoV2yQSISUrhpV+5JiY5hmwOh7jNnQ68dFMuQ==", "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -8253,19 +9648,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -8286,32 +9687,15 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, - "node_modules/vite-node": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.1.tgz", - "integrity": "sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, "node_modules/vite-plugin-singlefile": { "version": "0.13.5", "dev": true, @@ -8344,72 +9728,118 @@ } } }, - "node_modules/vitest": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.6.1.tgz", - "integrity": "sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==", - "dev": true, + "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.2.tgz", + "integrity": "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/vite/node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", "license": "MIT", - "dependencies": { - "@vitest/expect": "1.6.1", - "@vitest/runner": "1.6.1", - "@vitest/snapshot": "1.6.1", - "@vitest/spy": "1.6.1", - "@vitest/utils": "1.6.1", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.3", - "vite": "^5.0.0", - "vite-node": "1.6.1", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.6.1", - "@vitest/ui": "1.6.1", - "happy-dom": "*", - "jsdom": "*" + "picomatch": "^3 || ^4" }, "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { + "picomatch": { "optional": true } } }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/vite/node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "4.46.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.46.2.tgz", + "integrity": "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.46.2", + "@rollup/rollup-android-arm64": "4.46.2", + "@rollup/rollup-darwin-arm64": "4.46.2", + "@rollup/rollup-darwin-x64": "4.46.2", + "@rollup/rollup-freebsd-arm64": "4.46.2", + "@rollup/rollup-freebsd-x64": "4.46.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", + "@rollup/rollup-linux-arm-musleabihf": "4.46.2", + "@rollup/rollup-linux-arm64-gnu": "4.46.2", + "@rollup/rollup-linux-arm64-musl": "4.46.2", + "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", + "@rollup/rollup-linux-ppc64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-gnu": "4.46.2", + "@rollup/rollup-linux-riscv64-musl": "4.46.2", + "@rollup/rollup-linux-s390x-gnu": "4.46.2", + "@rollup/rollup-linux-x64-gnu": "4.46.2", + "@rollup/rollup-linux-x64-musl": "4.46.2", + "@rollup/rollup-win32-arm64-msvc": "4.46.2", + "@rollup/rollup-win32-ia32-msvc": "4.46.2", + "@rollup/rollup-win32-x64-msvc": "4.46.2", + "fsevents": "~2.3.2" + } + }, "node_modules/void-elements": { "version": "3.1.0", "license": "MIT", @@ -8423,7 +9853,7 @@ }, "node_modules/webidl-conversions": { "version": "7.0.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=12" @@ -8431,7 +9861,7 @@ }, "node_modules/whatwg-mimetype": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=12" @@ -8464,20 +9894,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-typed-array": { "version": "1.1.10", "license": "MIT", @@ -8497,8 +9913,9 @@ } }, "node_modules/why-is-node-running": { - "version": "2.2.2", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "license": "MIT", "dependencies": { "siginfo": "^2.0.0", @@ -8511,6 +9928,103 @@ "node": ">=8" } }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "license": "ISC" @@ -8543,19 +10057,6 @@ "node": ">=6" } }, - "node_modules/yocto-queue": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", - "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zip-stream": { "version": "4.1.0", "dev": true, @@ -8596,10 +10097,23 @@ "@trussworks/react-uswds": "^8.0.0" } }, + "packages/df-common-link-renderer/node_modules/@trussworks/react-uswds": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-8.0.0.tgz", + "integrity": "sha512-VxllH/CbqKKnHgjPGJltdssPRxo/km6uNfRAC0MvYTqHcLoeg+0/5omdG6gh94KAil1ZxEqiCadbEzPIn9jg/w==", + "license": "Apache-2.0", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@uswds/uswds": "^3.7.1", + "react": "^16.x || ^17.x || ^18.x", + "react-dom": "^16.x || ^17.x || ^18.x" + } + }, "packages/df-common/node_modules/@trussworks/react-uswds": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@trussworks/react-uswds/-/react-uswds-9.1.0.tgz", - "integrity": "sha512-vQsr73oMtDIzLHVtkgD81tL7YxzygTyH9e1P3Lv/C1tGlqoNEUmUgVEmUVzo/IwOvMN0XxxSkNkOpnM9rDzRMg==", + "license": "Apache-2.0", "engines": { "node": ">= 18" }, @@ -8612,8 +10126,6 @@ }, "packages/df-common/node_modules/autoprefixer": { "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -8628,6 +10140,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "browserslist": "^4.23.3", "caniuse-lite": "^1.0.30001646", @@ -8646,16 +10159,8 @@ "postcss": "^8.1.0" } }, - "packages/df-ga-integration": { - "version": "0.0.0", - "extraneous": true - }, "packages/df-i18n": { "version": "0.0.0" - }, - "packages/df-logger": { - "version": "0.0.0", - "extraneous": true } } } diff --git a/direct-file/df-client/package.json b/direct-file/df-client/package.json index 9cc1455..919efb3 100644 --- a/direct-file/df-client/package.json +++ b/direct-file/df-client/package.json @@ -10,9 +10,9 @@ ], "scripts": { "prestart": "npm install", - "start": "cd df-client-app && npm start", - "build": "cd df-client-app && npm run build", - "build:development": "cd df-client-app && npm run build:development", + "start": "npm run --workspace=df-client-app start", + "build": "npm run --workspace=df-client-app run build", + "build:development": "npm run --workspace=df-client-app run build:development", "clean": "rm -rf node_modules; rm -rf **/node_modules; rm -rf **/dist; rm **/tsconfig.tsbuildinfo", "lint": "npm run lint --workspaces --if-present", "lint:css": "npm run lint:css --workspaces --if-present", @@ -35,6 +35,7 @@ "typescript-eslint": "^8.12.1" }, "dependencies": { + "@trussworks/react-uswds": "^10.0.2", "@typescript-eslint/eslint-plugin": "^5.59.6", "@typescript-eslint/parser": "^5.59.6", "dotenv-expand": "^10.0.0", @@ -55,6 +56,6 @@ "nanoid": "^3.3.8" }, "engines": { - "node": "18.20.4" + "node": "22.18.0" } } diff --git a/direct-file/docker-compose.yaml b/direct-file/docker-compose.yaml index 5d8954e..a711bfb 100644 --- a/direct-file/docker-compose.yaml +++ b/direct-file/docker-compose.yaml @@ -3,7 +3,6 @@ services: image: postgres:15 container_name: direct-file-db restart: always - # the postgres docker image defaults to uid and gid 999, optionally override it with our env vars user: "${DF_DB_USER_ID:-999}:${DF_DB_GROUP_ID:-999}" entrypoint: "/bin/bash" command: -c "chown -R ${DF_DB_USER_ID:-999}:${DF_DB_GROUP_ID:-999} /var/lib/postgresql/data & exec /usr/local/bin/docker-entrypoint.sh postgres" @@ -13,7 +12,7 @@ services: POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8" volumes: - "./docker/db/postgres/init:/docker-entrypoint-initdb.d:ro" - - "./docker/db/postgres/data:/var/lib/postgresql/data" + - direct_file_db_data:/var/lib/postgresql/data ports: - "${DF_LISTEN_ADDRESS:-127.0.0.1}:${DF_DB_PORT:-5435}:5432" healthcheck: &dbhealth @@ -24,43 +23,38 @@ services: start_period: 60s stop_grace_period: 60s - state-api-db: image: postgres:15 container_name: state-api-db restart: always - # the postgres docker image defaults to uid and gid 999, optionally override it with our env vars user: "${STATEAPI_DB_USER_ID:-999}:${STATEAPI_DB_GROUP_ID:-999}" entrypoint: "/bin/bash" command: -c "chown -R ${DF_DB_USER_ID:-999}:${DF_DB_GROUP_ID:-999} /var/lib/postgresql/data & exec /usr/local/bin/docker-entrypoint.sh postgres" environment: *dbuser volumes: - "./state-api/docker/db/postgres/init:/docker-entrypoint-initdb.d:ro" - - "./state-api/docker/db/postgres/data:/var/lib/postgresql/data" + - state_api_db_data:/var/lib/postgresql/data ports: - "${DF_LISTEN_ADDRESS:-127.0.0.1}:${STATEAPI_DB_PORT:-5433}:5432" healthcheck: *dbhealth stop_grace_period: 60s - email-service-db: image: postgres:15 container_name: email-service-db restart: always - # the postgres docker image defaults to uid and gid 999, optionally override it with our env vars user: "${DF_EMAIL_DB_USER_ID:-999}:${DF_EMAIL_DB_GROUP_ID:-999}" entrypoint: "/bin/bash" command: -c "chown -R ${DF_DB_USER_ID:-999}:${DF_DB_GROUP_ID:-999} /var/lib/postgresql/data & exec /usr/local/bin/docker-entrypoint.sh postgres" environment: *dbuser volumes: - "./email-service/docker/db/postgres/init:/docker-entrypoint-initdb.d:ro" - - "./email-service/docker/db/postgres/data:/var/lib/postgresql/data" + - email_service_db_data:/var/lib/postgresql/data ports: - "${DF_LISTEN_ADDRESS:-127.0.0.1}:${DF_EMAIL_DB_PORT:-5434}:5432" healthcheck: *dbhealth stop_grace_period: 60s - api: container_name: direct-file-api build: @@ -306,3 +300,8 @@ services: image: redis:7.0 ports: - "${DF_LISTEN_ADDRESS:-127.0.0.1}:6379:6379" + +volumes: + direct_file_db_data: + state_api_db_data: + email_service_db_data: