From 7dbd46f245b2df75c5b3dd7a483b76feb5b50e4c Mon Sep 17 00:00:00 2001 From: Justin Hernandez Date: Thu, 25 Dec 2025 11:17:42 -0800 Subject: [PATCH] Add docstring reporting script and workflows (#1333) * Trim docstring coverage snapshots * format all the tings * update lock * Update docstring coverage snapshots (#1521) * docstring fixes * address agent feedback * update lock files * address agent feedback * lock react-native-svg version to prevent pipeline failures * update docstring logic * remove docstring coverage from ci * remove old report, fix cursorignroe rule --- .cursorignore | 6 +- app/Gemfile.lock | 16 +- app/docs/DOCSTRING_STYLE_GUIDE.md | 14 + app/ios/Podfile.lock | 8 +- app/metro.config.cjs | 5 +- app/package.json | 4 +- app/src/screens/app/ModalScreen.tsx | 6 +- app/src/services/points/utils.ts | 5 +- app/src/stores/pointEventStore.ts | 10 +- docs/coverage/app.json | 214 +++ docs/coverage/sdk.json | 214 +++ docs/development-patterns.md | 9 + package.json | 6 +- .../docs/DOCSTRING_STYLE_GUIDE.md | 14 + .../src/components/layout/View.tsx | 5 +- scripts/docstring-report.ts | 804 +++++++++ yarn.lock | 1501 +++++++++-------- 17 files changed, 2076 insertions(+), 765 deletions(-) create mode 100644 app/docs/DOCSTRING_STYLE_GUIDE.md create mode 100644 docs/coverage/app.json create mode 100644 docs/coverage/sdk.json create mode 100644 packages/mobile-sdk-alpha/docs/DOCSTRING_STYLE_GUIDE.md create mode 100644 scripts/docstring-report.ts diff --git a/.cursorignore b/.cursorignore index 4e8c7b4f6..68b2d97f9 100644 --- a/.cursorignore +++ b/.cursorignore @@ -136,8 +136,9 @@ app/android/android-passport-nfc-reader/app/src/main/assets/tessdata/ # Development & Testing # ======================================== -# Test coverage +# Test coverage (but allow docs/coverage for docstring reports) **/coverage/ +!docs/coverage/ **/.nyc_output/ # Test files (optional - you might want AI to see tests) @@ -261,6 +262,9 @@ circuits/ptau/ !metro.config.* !tamagui.config.ts +# Allow docstring coverage reports (tracked in git for coverage tracking) +!docs/coverage/*.json + # Ensure source code is accessible !**/*.ts !**/*.tsx diff --git a/app/Gemfile.lock b/app/Gemfile.lock index ba8b445a4..ef2feddd2 100644 --- a/app/Gemfile.lock +++ b/app/Gemfile.lock @@ -22,8 +22,8 @@ GEM artifactory (3.0.17) atomos (0.1.3) aws-eventstream (1.4.0) - aws-partitions (1.1194.0) - aws-sdk-core (3.239.2) + aws-partitions (1.1198.0) + aws-sdk-core (3.240.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) @@ -34,7 +34,7 @@ GEM aws-sdk-kms (1.118.0) aws-sdk-core (~> 3, >= 3.239.1) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.206.0) + aws-sdk-s3 (1.209.0) aws-sdk-core (~> 3, >= 3.234.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -43,7 +43,7 @@ GEM babosa (1.0.4) base64 (0.3.0) benchmark (0.5.0) - bigdecimal (3.3.1) + bigdecimal (4.0.1) claide (1.1.0) cocoapods (1.16.2) addressable (~> 2.8) @@ -118,7 +118,7 @@ GEM faraday-em_synchrony (1.0.1) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.1.1) + faraday-multipart (1.2.0) multipart-post (~> 2.0) faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) @@ -219,7 +219,7 @@ GEM domain_name (~> 0.5) httpclient (2.9.0) mutex_m - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) jmespath (1.6.2) json (2.18.0) @@ -229,7 +229,8 @@ GEM mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.9) - minitest (5.27.0) + minitest (6.0.0) + prism (~> 1.5) molinillo (0.8.0) multi_json (1.18.0) multipart-post (2.4.1) @@ -244,6 +245,7 @@ GEM optparse (0.8.1) os (1.1.4) plist (3.7.2) + prism (1.7.0) public_suffix (4.0.7) racc (1.8.1) rake (13.3.1) diff --git a/app/docs/DOCSTRING_STYLE_GUIDE.md b/app/docs/DOCSTRING_STYLE_GUIDE.md new file mode 100644 index 000000000..2825e1df8 --- /dev/null +++ b/app/docs/DOCSTRING_STYLE_GUIDE.md @@ -0,0 +1,14 @@ +# Mobile app docstring style guide + +Docstrings for the React Native app live alongside the source in `app/src`. We follow [TSDoc](https://tsdoc.org) conventions so that typed tooling can generate consistent API documentation. + +## Authoring guidelines + +- Document every exported component, hook, utility, or type alias with a leading `/** ... */` block written in the imperative mood. +- Include `@param`, `@returns`, and `@remarks` tags when they improve clarity, especially for side-effects or platform-specific behaviour. +- Keep examples concise. Prefer inline code blocks for short snippets and use fenced blocks only when you need multiple lines. +- Mention platform differences explicitly (for example, “iOS only”) so consumers understand the scope of the implementation. + +## Coverage expectations + +Docstring coverage can be checked locally by running `yarn docstrings:app` (or `yarn docstrings` for both app and SDK). The reports generate JSON snapshots in `docs/coverage/*.json` that can be committed to track progress over time. Coverage targets are not enforced—treat the reports as guardrails to identify documentation gaps. diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index fb2ce8b18..5d967b466 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -2131,7 +2131,7 @@ PODS: - ReactCommon/turbomodule/core - Sentry/HybridSDK (= 8.53.2) - Yoga - - RNSVG (15.15.0): + - RNSVG (15.14.0): - DoubleConversion - glog - hermes-engine @@ -2151,9 +2151,9 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNSVG/common (= 15.15.0) + - RNSVG/common (= 15.14.0) - Yoga - - RNSVG/common (15.15.0): + - RNSVG/common (15.14.0): - DoubleConversion - glog - hermes-engine @@ -2635,7 +2635,7 @@ SPEC CHECKSUMS: RNReactNativeHapticFeedback: e526ac4a7ca9fb23c7843ea4fd7d823166054c73 RNScreens: 806e1449a8ec63c2a4e4cf8a63cc80203ccda9b8 RNSentry: 6ad982be2c8e32dab912afb4132b6a0d88484ea0 - RNSVG: 39476f26bbbe72ffe6194c6fc8f6acd588087957 + RNSVG: e1cf5a9a5aa12c69f2ec47031defbd87ae7fb697 segment-analytics-react-native: a0c29c75ede1989118b50cac96b9495ea5c91a1d Sentry: 59993bffde4a1ac297ba6d268dc4bbce068d7c1b SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 diff --git a/app/metro.config.cjs b/app/metro.config.cjs index 9c5198d8e..9a94c7411 100644 --- a/app/metro.config.cjs +++ b/app/metro.config.cjs @@ -34,9 +34,8 @@ const config = { ], transformer: { - babelTransformerPath: require.resolve( - 'react-native-svg-transformer/react-native', - ), + babelTransformerPath: + require.resolve('react-native-svg-transformer/react-native'), disableImportExportTransform: true, inlineRequires: true, }, diff --git a/app/package.json b/app/package.json index 3611b6589..1bd2616bf 100644 --- a/app/package.json +++ b/app/package.json @@ -162,8 +162,8 @@ "react-native-safe-area-context": "^5.6.1", "react-native-screens": "4.15.3", "react-native-sqlite-storage": "^6.0.1", - "react-native-svg": "^15.14.0", - "react-native-svg-web": "^1.0.9", + "react-native-svg": "15.14.0", + "react-native-svg-web": "1.0.9", "react-native-url-polyfill": "^3.0.0", "react-native-web": "^0.19.0", "react-native-webview": "^13.16.0", diff --git a/app/src/screens/app/ModalScreen.tsx b/app/src/screens/app/ModalScreen.tsx index 18713d1f2..7ad281607 100644 --- a/app/src/screens/app/ModalScreen.tsx +++ b/app/src/screens/app/ModalScreen.tsx @@ -35,8 +35,10 @@ const ModalBackDrop = styled(View, { height: '100%', }); -export interface ModalNavigationParams - extends Omit { +export interface ModalNavigationParams extends Omit< + ModalParams, + 'onButtonPress' | 'onModalDismiss' +> { callbackId: number; } diff --git a/app/src/services/points/utils.ts b/app/src/services/points/utils.ts index 938670c91..ca6e7126c 100644 --- a/app/src/services/points/utils.ts +++ b/app/src/services/points/utils.ts @@ -132,9 +132,8 @@ export const getWhiteListedDisclosureAddresses = async (): Promise< export const hasUserAnIdentityDocumentRegistered = async (): Promise => { try { - const { loadDocumentCatalogDirectlyFromKeychain } = await import( - '@/providers/passportDataProvider' - ); + const { loadDocumentCatalogDirectlyFromKeychain } = + await import('@/providers/passportDataProvider'); const catalog = await loadDocumentCatalogDirectlyFromKeychain(); return catalog.documents.some(doc => doc.isRegistered === true); diff --git a/app/src/stores/pointEventStore.ts b/app/src/stores/pointEventStore.ts index 8207c377c..4c7ada5e2 100644 --- a/app/src/stores/pointEventStore.ts +++ b/app/src/stores/pointEventStore.ts @@ -129,12 +129,10 @@ export const usePointEventStore = create()((set, get) => ({ loadDisclosureEvents: async () => { try { - const { getDisclosurePointEvents } = await import( - '@/services/points/getEvents' - ); - const { useProofHistoryStore } = await import( - '@/stores/proofHistoryStore' - ); + const { getDisclosurePointEvents } = + await import('@/services/points/getEvents'); + const { useProofHistoryStore } = + await import('@/stores/proofHistoryStore'); await useProofHistoryStore.getState().initDatabase(); const disclosureEvents = await getDisclosurePointEvents(); const existingEvents = get().events.filter(e => e.type !== 'disclosure'); diff --git a/docs/coverage/app.json b/docs/coverage/app.json new file mode 100644 index 000000000..7cbdf7b48 --- /dev/null +++ b/docs/coverage/app.json @@ -0,0 +1,214 @@ +{ + "generatedAt": "2025-12-25T18:56:55.583Z", + "label": "Mobile App", + "totals": { + "exports": 497, + "documented": 75, + "undocumented": 422, + "coverage": 15.09 + }, + "undocumentedTotal": 422, + "undocumentedSampled": 50, + "undocumented": [ + { + "file": "app/src/assets/animations/loader.ts", + "symbol": "loadMiscAnimation" + }, + { + "file": "app/src/assets/animations/loader.ts", + "symbol": "loadPassportAnimation" + }, + { + "file": "app/src/components/BackupDocumentationLink.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/Disclosures.tsx", + "symbol": "default (local: Disclosures)" + }, + { + "file": "app/src/components/ErrorBoundary.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/FeedbackModal.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/FeedbackModalScreen.tsx", + "symbol": "FeedbackModalScreenParams" + }, + { + "file": "app/src/components/FeedbackModalScreen.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/homescreen/IdCard.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/homescreen/SvgXmlWrapper.native.tsx", + "symbol": "SvgXml" + }, + { + "file": "app/src/components/homescreen/SvgXmlWrapper.native.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/homescreen/SvgXmlWrapper.web.tsx", + "symbol": "SvgXml" + }, + { + "file": "app/src/components/homescreen/SvgXmlWrapper.web.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/LoadingUI.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/Mnemonic.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/native/PassportCamera.tsx", + "symbol": "PassportCameraProps" + }, + { + "file": "app/src/components/native/PassportCamera.tsx", + "symbol": "PassportCamera" + }, + { + "file": "app/src/components/native/PassportCamera.web.tsx", + "symbol": "PassportCameraProps" + }, + { + "file": "app/src/components/native/PassportCamera.web.tsx", + "symbol": "PassportCamera" + }, + { + "file": "app/src/components/native/QRCodeScanner.tsx", + "symbol": "QRCodeScannerViewProps" + }, + { + "file": "app/src/components/native/QRCodeScanner.tsx", + "symbol": "QRCodeScannerView" + }, + { + "file": "app/src/components/native/QRCodeScanner.web.tsx", + "symbol": "QRCodeScannerViewProps" + }, + { + "file": "app/src/components/native/QRCodeScanner.web.tsx", + "symbol": "QRCodeScannerView" + }, + { + "file": "app/src/components/native/QRCodeScanner.web.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/native/RCTFragment.tsx", + "symbol": "FragmentProps" + }, + { + "file": "app/src/components/native/RCTFragment.tsx", + "symbol": "RCTFragmentViewManagerProps" + }, + { + "file": "app/src/components/native/RCTFragment.tsx", + "symbol": "RCTFragment" + }, + { + "file": "app/src/components/navbar/AadhaarNavBar.tsx", + "symbol": "AadhaarNavBar" + }, + { + "file": "app/src/components/navbar/BaseNavBar.tsx", + "symbol": "LeftAction" + }, + { + "file": "app/src/components/navbar/BaseNavBar.tsx", + "symbol": "RightAction" + }, + { + "file": "app/src/components/navbar/BaseNavBar.tsx", + "symbol": "NavBar" + }, + { + "file": "app/src/components/navbar/DefaultNavBar.tsx", + "symbol": "DefaultNavBar" + }, + { + "file": "app/src/components/navbar/DocumentFlowNavBar.tsx", + "symbol": "DocumentFlowNavBar" + }, + { + "file": "app/src/components/navbar/HeadlessNavForEuclid.tsx", + "symbol": "HeadlessNavForEuclid" + }, + { + "file": "app/src/components/navbar/HomeNavBar.tsx", + "symbol": "HomeNavBar" + }, + { + "file": "app/src/components/navbar/IdDetailsNavBar.tsx", + "symbol": "IdDetailsNavBar" + }, + { + "file": "app/src/components/navbar/Points.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/navbar/PointsNavBar.tsx", + "symbol": "PointsNavBar" + }, + { + "file": "app/src/components/navbar/WebViewNavBar.tsx", + "symbol": "WebViewNavBarProps" + }, + { + "file": "app/src/components/navbar/WebViewNavBar.tsx", + "symbol": "WebViewNavBar" + }, + { + "file": "app/src/components/PointHistoryList.tsx", + "symbol": "PointHistoryListProps" + }, + { + "file": "app/src/components/PointHistoryList.tsx", + "symbol": "PointHistoryList" + }, + { + "file": "app/src/components/PointHistoryList.tsx", + "symbol": "default export" + }, + { + "file": "app/src/components/referral/CopyReferralButton.tsx", + "symbol": "CopyReferralButtonProps" + }, + { + "file": "app/src/components/referral/CopyReferralButton.tsx", + "symbol": "CopyReferralButton" + }, + { + "file": "app/src/components/referral/ReferralHeader.tsx", + "symbol": "ReferralHeaderProps" + }, + { + "file": "app/src/components/referral/ReferralHeader.tsx", + "symbol": "ReferralHeader" + }, + { + "file": "app/src/components/referral/ReferralInfo.tsx", + "symbol": "ReferralInfoProps" + }, + { + "file": "app/src/components/referral/ReferralInfo.tsx", + "symbol": "ReferralInfo" + }, + { + "file": "app/src/components/referral/ShareButton.tsx", + "symbol": "ShareButtonProps" + } + ] +} diff --git a/docs/coverage/sdk.json b/docs/coverage/sdk.json new file mode 100644 index 000000000..1807ef5c1 --- /dev/null +++ b/docs/coverage/sdk.json @@ -0,0 +1,214 @@ +{ + "generatedAt": "2025-12-25T18:56:56.987Z", + "label": "Mobile SDK Alpha", + "totals": { + "exports": 234, + "documented": 77, + "undocumented": 157, + "coverage": 32.91 + }, + "undocumentedTotal": 157, + "undocumentedSampled": 50, + "undocumented": [ + { + "file": "packages/mobile-sdk-alpha/src/adapters/react-native/nfc-scanner.ts", + "symbol": "reactNativeScannerAdapter" + }, + { + "file": "packages/mobile-sdk-alpha/src/adapters/web/shims.ts", + "symbol": "webNFCScannerShim" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.native.ts", + "symbol": "addListener" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.native.ts", + "symbol": "removeListener" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.ts", + "symbol": "EventHandler" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.ts", + "symbol": "NativeEventBridge" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.ts", + "symbol": "addListener" + }, + { + "file": "packages/mobile-sdk-alpha/src/bridge/nativeEvents.ts", + "symbol": "removeListener" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/AbstractButton.tsx", + "symbol": "ButtonProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/AbstractButton.tsx", + "symbol": "default (local: AbstractButton)" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/HeldPrimaryButtonProveScreen.tsx", + "symbol": "HeldPrimaryButtonProveScreen" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/pressedStyle.tsx", + "symbol": "pressedStyle" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButton.tsx", + "symbol": "PrimaryButton" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.shared.ts", + "symbol": "HeldPrimaryButtonProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.shared.ts", + "symbol": "RGBA" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.shared.ts", + "symbol": "ACTION_TIMER" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.shared.ts", + "symbol": "COLORS" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.tsx", + "symbol": "HeldPrimaryButton" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/PrimaryButtonLongHold.web.tsx", + "symbol": "HeldPrimaryButton" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/buttons/SecondaryButton.tsx", + "symbol": "SecondaryButton" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/ButtonsContainer.tsx", + "symbol": "default export" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/flag/RoundFlag.tsx", + "symbol": "RoundFlag" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/Button.tsx", + "symbol": "Button" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/Text.tsx", + "symbol": "Text" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/View.tsx", + "symbol": "ViewProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/View.tsx", + "symbol": "View" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/XStack.tsx", + "symbol": "XStack" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/layout/YStack.tsx", + "symbol": "YStack" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/MRZScannerView.tsx", + "symbol": "MRZScannerViewProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/MRZScannerView.tsx", + "symbol": "MRZScannerView" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/MRZScannerView.tsx", + "symbol": "SelfMRZScannerModule" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/RCTFragment.tsx", + "symbol": "FragmentProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/RCTFragment.tsx", + "symbol": "RCTFragmentViewManagerProps" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/RCTFragment.tsx", + "symbol": "RCTFragment" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/screens/NFCScannerScreen.tsx", + "symbol": "NFCScannerScreen" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/screens/PassportCameraScreen.tsx", + "symbol": "PassportCameraScreen" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/screens/QRCodeScreen.tsx", + "symbol": "QRCodeScreen" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/TextsContainer.tsx", + "symbol": "default export" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/Additional.tsx", + "symbol": "default export" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/BodyText.tsx", + "symbol": "BodyText" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/Caption.tsx", + "symbol": "Caption" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/Caution.tsx", + "symbol": "default export" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/Description.tsx", + "symbol": "default export" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/DescriptionTitle.tsx", + "symbol": "DescriptionTitle" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/styles.ts", + "symbol": "typography" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/SubHeader.tsx", + "symbol": "SubHeader" + }, + { + "file": "packages/mobile-sdk-alpha/src/components/typography/Title.tsx", + "symbol": "Title" + }, + { + "file": "packages/mobile-sdk-alpha/src/config/defaults.ts", + "symbol": "defaultConfig" + }, + { + "file": "packages/mobile-sdk-alpha/src/config/merge.ts", + "symbol": "mergeConfig" + }, + { + "file": "packages/mobile-sdk-alpha/src/constants/analytics.ts", + "symbol": "AadhaarEvents" + } + ] +} diff --git a/docs/development-patterns.md b/docs/development-patterns.md index 963d87360..4d6c2e67d 100644 --- a/docs/development-patterns.md +++ b/docs/development-patterns.md @@ -1,5 +1,14 @@ # Self App Development Patterns +## Docstring coverage workflow + +- Run `yarn docstrings` to check documentation coverage for both the mobile app and SDK. This generates `docs/coverage/app.json` and `docs/coverage/sdk.json` so you can diff coverage changes in version control. +- Run `yarn docstrings:app` to check only the mobile app exports. +- Run `yarn docstrings:sdk` to focus on `@selfxyz/mobile-sdk-alpha` only. +- Add `--details` to any command when you want a full per-file JSON breakdown for ad-hoc analysis—the default snapshots include only top-level totals and a small sample of undocumented exports to keep the tracked files compact. + +Run the docstring reports locally before committing to track coverage changes. The reports are advisory—use them to identify documentation gaps but they won't block builds. + ## React Native Architecture ### Navigation System diff --git a/package.json b/package.json index 7a9bfdf75..68051af42 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,9 @@ "build:demo": "yarn workspace mobile-sdk-demo build", "build:mobile-sdk": "yarn workspace @selfxyz/mobile-sdk-alpha build", "check:versions": "node scripts/check-package-versions.mjs", + "docstrings": "yarn docstrings:app && yarn docstrings:sdk", + "docstrings:app": "yarn tsx scripts/docstring-report.ts \"app/src/**/*.{ts,tsx}\" --label \"Mobile App\" --write-report docs/coverage/app.json", + "docstrings:sdk": "yarn tsx scripts/docstring-report.ts \"packages/mobile-sdk-alpha/src/**/*.{ts,tsx}\" --label \"Mobile SDK Alpha\" --write-report docs/coverage/sdk.json", "demo:mobile": "yarn build:mobile-sdk && yarn build:demo && yarn workspace mobile-sdk-demo start", "format": "SKIP_BUILD_DEPS=1 yarn format:root && yarn format:github && SKIP_BUILD_DEPS=1 yarn workspaces foreach --parallel -i --all --exclude self-workspace-root run format", "format:github": "yarn prettier --parser yaml --write .github/**/*.yml --single-quote false", @@ -65,9 +68,10 @@ "knip": "^5.63.1", "patch-package": "^8.0.0", "prettier": "^3.6.2", + "tsx": "^4.20.3", "typescript": "^5.9.2" }, - "packageManager": "yarn@4.6.0", + "packageManager": "yarn@4.12.0", "engines": { "node": ">=22 <23" } diff --git a/packages/mobile-sdk-alpha/docs/DOCSTRING_STYLE_GUIDE.md b/packages/mobile-sdk-alpha/docs/DOCSTRING_STYLE_GUIDE.md new file mode 100644 index 000000000..2cb186a91 --- /dev/null +++ b/packages/mobile-sdk-alpha/docs/DOCSTRING_STYLE_GUIDE.md @@ -0,0 +1,14 @@ +# Mobile SDK docstring style guide + +All exported APIs from `packages/mobile-sdk-alpha/src` must carry TSDoc-compliant comments so integrators can rely on generated documentation and in-editor hints. + +## Authoring guidelines + +- Start each docstring with a one-line summary that describes the intent of the API in the imperative mood. +- Describe complex parameter shapes with `@param` tags and consider linking to shared types with `{@link ...}` when the name alone is ambiguous. +- Capture platform nuances (for example, “Android only”) and error semantics in the main description or an `@remarks` block. +- Prefer examples that demonstrate the supported developer experience (React Native, Expo, etc.) and keep them short enough to scan quickly. + +## Coverage expectations + +`yarn docstrings:sdk` (or `yarn docstrings` for both app and SDK) surfaces the current coverage numbers in `docs/coverage/*.json`. The reports can be committed to track progress over time. Coverage thresholds are advisory—use the reports to plan follow-up work even when you need to land code without full documentation. diff --git a/packages/mobile-sdk-alpha/src/components/layout/View.tsx b/packages/mobile-sdk-alpha/src/components/layout/View.tsx index 83f163bc4..582705881 100644 --- a/packages/mobile-sdk-alpha/src/components/layout/View.tsx +++ b/packages/mobile-sdk-alpha/src/components/layout/View.tsx @@ -47,10 +47,7 @@ interface PressableViewProps { } export interface ViewProps - extends Omit, - SpacingProps, - Omit, - PressableViewProps {} + extends Omit, SpacingProps, Omit, PressableViewProps {} const sizeTokens: Record = { $0: 0, diff --git a/scripts/docstring-report.ts b/scripts/docstring-report.ts new file mode 100644 index 000000000..c50b618e3 --- /dev/null +++ b/scripts/docstring-report.ts @@ -0,0 +1,804 @@ +import path from 'node:path'; +import process from 'node:process'; +import fs from 'node:fs/promises'; +import { glob } from 'node:fs/promises'; +import * as ts from 'typescript'; + +interface CliOptions { + patterns: string[]; + writeReport?: string; + label?: string; + includeDetails: boolean; +} + +interface ExportEntry { + localName: string; + kinds: Set; + exportedAs: Set; + documented: boolean; + exported: boolean; +} + +interface FileExportSummary { + filePath: string; + relativePath: string; + totalExports: number; + documentedExports: number; + coverage: number; + missing: string[]; +} + +interface JsonReport { + generatedAt: string; + label?: string; + totals: { + exports: number; + documented: number; + undocumented: number; + coverage: number; + }; + undocumentedTotal: number; + undocumentedSampled: number; + undocumented: UndocumentedEntry[]; + files?: JsonReportFile[]; +} + +interface JsonReportFile { + file: string; + exports: number; + documented: number; + undocumented: number; + coverage: number; + missing: string[]; +} + +interface UndocumentedEntry { + file: string; + symbol: string; +} + +const DEFAULT_PATTERNS = [ + 'app/src/**/*.{ts,tsx}', + 'packages/mobile-sdk-alpha/src/**/*.{ts,tsx}', +]; + +async function main(): Promise { + try { + const options = parseArgs(process.argv.slice(2)); + const root = process.cwd(); + const files = await resolveFiles(options.patterns, root); + + if (files.length === 0) { + console.log('No source files matched the provided patterns.'); + if (options.writeReport) { + await writeJsonReport(options.writeReport, { + generatedAt: new Date().toISOString(), + label: options.label, + totals: { exports: 0, documented: 0, undocumented: 0, coverage: 100 }, + undocumentedTotal: 0, + undocumentedSampled: 0, + undocumented: [], + }); + } + return; + } + + const summaries: FileExportSummary[] = []; + const failedFiles: Array<{ path: string; error: string }> = []; + + for (const filePath of files) { + try { + const summary = await analyzeFile(filePath, root); + if (summary.totalExports > 0) { + summaries.push(summary); + } + } catch (error) { + const relativePath = path.relative(root, filePath); + const errorMessage = + error instanceof Error ? error.message : String(error); + failedFiles.push({ path: relativePath, error: errorMessage }); + console.error(`Failed to analyze ${relativePath}: ${errorMessage}`); + } + } + + if (summaries.length === 0) { + console.log('No exported declarations were found in the selected files.'); + if (options.writeReport) { + await writeJsonReport(options.writeReport, { + generatedAt: new Date().toISOString(), + label: options.label, + totals: { exports: 0, documented: 0, undocumented: 0, coverage: 100 }, + undocumentedTotal: 0, + undocumentedSampled: 0, + undocumented: [], + }); + } + return; + } + + summaries.sort((a, b) => { + if (a.coverage === b.coverage) { + return a.relativePath.localeCompare(b.relativePath); + } + return a.coverage - b.coverage; + }); + + const totalExports = summaries.reduce( + (sum, file) => sum + file.totalExports, + 0, + ); + const documentedExports = summaries.reduce( + (sum, file) => sum + file.documentedExports, + 0, + ); + const overallCoverage = + totalExports === 0 ? 1 : documentedExports / totalExports; + + printTable(summaries, options.label); + printSummary(totalExports, documentedExports, overallCoverage); + printUndocumentedHighlights(summaries); + + if (failedFiles.length > 0) { + console.log(); + console.log(`Failed to analyze ${failedFiles.length} file(s):`); + for (const failure of failedFiles) { + console.log(` ${failure.path}: ${failure.error}`); + } + } + + if (options.writeReport) { + const missingEntries = summaries.flatMap(file => + file.missing.map(symbol => ({ + file: file.relativePath, + symbol, + })), + ); + const maxUndocumentedEntries = options.includeDetails + ? missingEntries.length + : Math.min(50, missingEntries.length); + const files = options.includeDetails + ? summaries + .filter(file => file.missing.length > 0) + .map(file => ({ + file: file.relativePath, + exports: file.totalExports, + documented: file.documentedExports, + undocumented: file.totalExports - file.documentedExports, + coverage: Number((file.coverage * 100).toFixed(2)), + missing: file.missing, + })) + : undefined; + const report: JsonReport = { + generatedAt: new Date().toISOString(), + label: options.label, + totals: { + exports: totalExports, + documented: documentedExports, + undocumented: totalExports - documentedExports, + coverage: Number((overallCoverage * 100).toFixed(2)), + }, + undocumentedTotal: missingEntries.length, + undocumentedSampled: maxUndocumentedEntries, + undocumented: missingEntries.slice(0, maxUndocumentedEntries), + ...(files ? { files } : {}), + }; + + await writeJsonReport(options.writeReport, report); + } + } catch (error) { + console.error('Failed to generate docstring report.'); + if (error instanceof Error) { + console.error(error.message); + } else { + console.error(error); + } + process.exitCode = 1; + } +} + +function parseArgs(args: string[]): CliOptions { + const patterns: string[] = []; + let writeReport: string | undefined; + let label: string | undefined; + let includeDetails = false; + + const expectValue = (flag: string, value: string | undefined): string => { + if (!value) { + throw new Error(`Missing value for ${flag}`); + } + return value; + }; + + for (let index = 0; index < args.length; index += 1) { + const arg = args[index]; + + if (arg === '--help' || arg === '-h') { + printUsage(); + process.exit(0); + } + + if (arg === '--write-report' || arg.startsWith('--write-report=')) { + if (arg.includes('=')) { + writeReport = arg.split('=')[1] ?? ''; + if (!writeReport) { + throw new Error('Missing value for --write-report'); + } + } else { + index += 1; + writeReport = expectValue('--write-report', args[index]); + } + continue; + } + + if (arg === '--label' || arg.startsWith('--label=')) { + if (arg.includes('=')) { + label = arg.split('=')[1] ?? ''; + } else { + index += 1; + label = expectValue('--label', args[index]); + } + continue; + } + + if (arg.startsWith('--')) { + if (arg === '--details') { + includeDetails = true; + continue; + } + throw new Error(`Unknown option: ${arg}`); + } + + patterns.push(arg); + } + + if (patterns.length === 0) { + patterns.push(...DEFAULT_PATTERNS); + } + + return { patterns, writeReport, label, includeDetails }; +} + +function printUsage(): void { + const usage = `Usage: docstring-report [pattern ...] [--write-report ] [--label ] [--details] + +Examples: + yarn tsx scripts/docstring-report.ts + yarn tsx scripts/docstring-report.ts \"app/src/**/*.{ts,tsx}\" + yarn tsx scripts/docstring-report.ts \"app/src/**/*.{ts,tsx}\" --label \"Mobile App\" --write-report docs/coverage/app.json --details`; + console.log(usage); +} + +async function resolveFiles( + patterns: string[], + root: string, +): Promise { + const files = new Set(); + + for (const pattern of patterns) { + for await (const match of glob(pattern, { + cwd: root, + // Exclude dotfiles and dot-directories + exclude: (name: string) => path.basename(name).startsWith('.'), + })) { + const resolved = path.resolve(root, String(match)); + + // Skip directories (glob may return them despite file extension patterns) + try { + const stat = await fs.stat(resolved); + if (stat.isDirectory()) { + continue; + } + } catch { + // File doesn't exist or can't be accessed, skip it + continue; + } + + if (shouldIncludeFile(resolved, root)) { + files.add(resolved); + } + } + } + + return Array.from(files).sort(); +} + +function shouldIncludeFile(filePath: string, root: string): boolean { + const relative = path.relative(root, filePath).replace(/\\/g, '/'); + + if (relative.endsWith('.d.ts') || relative.endsWith('.d.tsx')) { + return false; + } + + if (/\.test\.[tj]sx?$/.test(relative) || /\.spec\.[tj]sx?$/.test(relative)) { + return false; + } + + if (/\.stories\.[tj]sx?$/.test(relative)) { + return false; + } + + if (relative.includes('/__tests__/')) { + return false; + } + + return true; +} + +async function analyzeFile( + filePath: string, + root: string, +): Promise { + const content = await fs.readFile(filePath, 'utf8'); + const scriptKind = filePath.endsWith('.tsx') + ? ts.ScriptKind.TSX + : ts.ScriptKind.TS; + + const sourceFile = ts.createSourceFile( + filePath, + content, + ts.ScriptTarget.Latest, + true, + scriptKind, + ); + + const entries = new Map(); + const exportSpecifiers: Array<{ localName: string; exportedAs: string }> = []; + const exportDefaultStatements: ts.ExportAssignment[] = []; + const exportedDeclarations: Array<{ + statement: ts.Statement; + hasDefault: boolean; + }> = []; + + // First pass: Collect all declarations with their documentation status + for (const statement of sourceFile.statements) { + if (ts.isExportDeclaration(statement)) { + // Collect export specifiers for second pass + if ( + !statement.moduleSpecifier && + statement.exportClause && + ts.isNamedExports(statement.exportClause) + ) { + for (const element of statement.exportClause.elements) { + const localName = element.propertyName + ? element.propertyName.text + : element.name.text; + const exportedAs = element.name.text; + exportSpecifiers.push({ localName, exportedAs }); + } + } + continue; + } + + if (ts.isExportAssignment(statement)) { + if (!statement.isExportEquals) { + exportDefaultStatements.push(statement); + } + continue; + } + + if (ts.isVariableStatement(statement)) { + const exported = hasExportModifier(statement.modifiers); + const statementDoc = hasDocComment(statement, sourceFile); + + for (const declaration of statement.declarationList.declarations) { + // Extract all binding identifiers (handles destructuring) + const identifiers = getBindingIdentifiers(declaration); + if (identifiers.length === 0) { + continue; + } + + const declarationDoc = hasDocComment(declaration, sourceFile); + + for (const name of identifiers) { + const entry = ensureEntry(entries, name); + entry.kinds.add('variable'); + entry.documented ||= statementDoc || declarationDoc; + } + + if (exported) { + exportedDeclarations.push({ statement, hasDefault: false }); + } + } + continue; + } + + if ( + ts.isFunctionDeclaration(statement) || + ts.isClassDeclaration(statement) || + ts.isInterfaceDeclaration(statement) || + ts.isTypeAliasDeclaration(statement) || + ts.isEnumDeclaration(statement) || + ts.isModuleDeclaration(statement) + ) { + const name = getDeclarationName(statement, sourceFile); + const hasExport = hasExportModifier(statement.modifiers); + const hasDefault = hasDefaultModifier(statement.modifiers); + + // For anonymous default exports (e.g., export default function() {}), + // use "default" as the name so they're tracked in coverage + const effectiveName = !name && hasExport && hasDefault ? 'default' : name; + + if (!effectiveName) { + continue; + } + + const entry = ensureEntry(entries, effectiveName); + entry.kinds.add(getKindLabel(statement)); + entry.documented ||= hasDocComment(statement, sourceFile); + + if (hasExport) { + exportedDeclarations.push({ statement, hasDefault }); + } + continue; + } + } + + // Second pass: Process all exports now that all declarations are collected + // Process inline exported declarations + for (const { statement, hasDefault } of exportedDeclarations) { + if (ts.isVariableStatement(statement)) { + for (const declaration of statement.declarationList.declarations) { + // Extract all binding identifiers (handles destructuring) + const identifiers = getBindingIdentifiers(declaration); + + for (const name of identifiers) { + const entry = entries.get(name); + if (entry) { + entry.exported = true; + entry.exportedAs.add(name); + } + } + } + } else { + const name = getDeclarationName(statement, sourceFile); + + // For anonymous default exports, use "default" as the name + const effectiveName = !name && hasDefault ? 'default' : name; + + if (!effectiveName) { + continue; + } + + const entry = entries.get(effectiveName); + if (entry) { + entry.exported = true; + // For inline default exports (export default function foo), add "default" not the name + const exportName = hasDefault ? 'default' : effectiveName; + entry.exportedAs.add(exportName); + } + } + } + + // Process export specifiers (export { Foo, Bar }) + for (const specifier of exportSpecifiers) { + const entry = entries.get(specifier.localName); + if (entry) { + entry.exported = true; + entry.exportedAs.add(specifier.exportedAs); + } + } + + // Process export default statements (export default Foo) + for (const statement of exportDefaultStatements) { + const entry = ensureEntry(entries, 'default'); + entry.exported = true; + entry.kinds.add('default'); + entry.exportedAs.add('default'); + + // Check if the export statement itself is documented + entry.documented ||= hasDocComment(statement, sourceFile); + + // If exporting an identifier (export default Foo), inherit documentation from the referenced declaration + if (ts.isIdentifier(statement.expression)) { + const referencedName = statement.expression.text; + const referencedEntry = entries.get(referencedName); + if (referencedEntry?.documented) { + entry.documented = true; + } + } + } + + const relativePath = path.relative(root, filePath).replace(/\\/g, '/'); + const exportedEntries = Array.from(entries.values()).filter( + entry => entry.exported, + ); + const documentedEntries = exportedEntries.filter(entry => entry.documented); + + const missing = exportedEntries + .filter(entry => !entry.documented) + .map(entry => formatMissingName(entry)); + + return { + filePath, + relativePath, + totalExports: exportedEntries.length, + documentedExports: documentedEntries.length, + coverage: + exportedEntries.length === 0 + ? 1 + : documentedEntries.length / exportedEntries.length, + missing, + }; +} + +function ensureEntry(map: Map, key: string): ExportEntry { + const existing = map.get(key); + if (existing) { + return existing; + } + + const entry: ExportEntry = { + localName: key, + kinds: new Set(), + exportedAs: new Set(), + documented: false, + exported: false, + }; + + map.set(key, entry); + return entry; +} + +function hasExportModifier( + modifiers: ts.NodeArray | undefined, +): boolean { + return Boolean( + modifiers?.some( + modifier => + modifier.kind === ts.SyntaxKind.ExportKeyword || + modifier.kind === ts.SyntaxKind.DefaultKeyword, + ), + ); +} + +function hasDefaultModifier( + modifiers: ts.NodeArray | undefined, +): boolean { + return Boolean( + modifiers?.some(modifier => modifier.kind === ts.SyntaxKind.DefaultKeyword), + ); +} + +function getDeclarationName( + node: ts.Node, + sourceFile: ts.SourceFile, +): string | undefined { + if ('name' in node && node.name) { + const nameNode = (node as ts.Node & { name?: ts.Node }).name as + | ts.Node + | undefined; + if (!nameNode) { + return undefined; + } + + if ( + ts.isIdentifier(nameNode) || + ts.isStringLiteralLike(nameNode) || + ts.isNumericLiteral(nameNode) + ) { + return nameNode.text; + } + + return nameNode.getText(sourceFile).trim(); + } + + if (ts.isModuleDeclaration(node)) { + return node.name.text; + } + + if (ts.isExportAssignment(node)) { + return 'default'; + } + + return undefined; +} + +/** + * Extract all binding identifiers from a declaration. + * Handles destructuring patterns like { a, b } and [x, y]. + */ +function getBindingIdentifiers(declaration: ts.VariableDeclaration): string[] { + const identifiers: string[] = []; + + function collectIdentifiers(name: ts.BindingName): void { + if (ts.isIdentifier(name)) { + identifiers.push(name.text); + } else if (ts.isObjectBindingPattern(name)) { + for (const element of name.elements) { + collectIdentifiers(element.name); + } + } else if (ts.isArrayBindingPattern(name)) { + for (const element of name.elements) { + if (ts.isBindingElement(element)) { + collectIdentifiers(element.name); + } + } + } + } + + collectIdentifiers(declaration.name); + return identifiers; +} + +function getKindLabel(node: ts.Node): string { + if (ts.isFunctionDeclaration(node)) { + return 'function'; + } + if (ts.isClassDeclaration(node)) { + return 'class'; + } + if (ts.isInterfaceDeclaration(node)) { + return 'interface'; + } + if (ts.isTypeAliasDeclaration(node)) { + return 'type'; + } + if (ts.isEnumDeclaration(node)) { + return 'enum'; + } + if (ts.isModuleDeclaration(node)) { + return 'namespace'; + } + return 'declaration'; +} + +function hasDocComment(node: ts.Node, sourceFile: ts.SourceFile): boolean { + const jsDocNodes = (node as ts.Node & { jsDoc?: readonly ts.JSDoc[] }).jsDoc; + if (jsDocNodes && jsDocNodes.length > 0) { + return true; + } + + const jsDocRanges = ts.getJSDocCommentRanges(node, sourceFile.text); + if (jsDocRanges && jsDocRanges.length > 0) { + return true; + } + + const leadingRanges = ts.getLeadingCommentRanges( + sourceFile.text, + node.getFullStart(), + ); + if (leadingRanges) { + return leadingRanges.some(range => + sourceFile.text.slice(range.pos, range.end).startsWith('/**'), + ); + } + + return false; +} + +function formatPercent(value: number): string { + return `${(value * 100).toFixed(2)}%`; +} + +function printTable(summaries: FileExportSummary[], label?: string): void { + const title = label ? `Docstring coverage (${label})` : 'Docstring coverage'; + console.log(title); + console.log('='.repeat(title.length)); + + const headers = ['File', 'Exports', 'With Docs', 'Coverage', 'Missing']; + const rows = summaries.map(summary => [ + summary.relativePath, + summary.totalExports.toString(), + summary.documentedExports.toString(), + formatPercent(summary.coverage), + summary.missing.join(', '), + ]); + + const widths = headers.map((header, columnIndex) => { + const columnValues = rows.map(row => row[columnIndex]); + const maxContentLength = columnValues.reduce( + (max, value) => Math.max(max, value.length), + header.length, + ); + const maxWidth = + columnIndex === 0 + ? Math.min(70, Math.max(20, maxContentLength)) + : maxContentLength; + return maxWidth; + }); + + const formatRow = (values: string[]): string => + values + .map((value, index) => { + const width = widths[index]; + const trimmed = + index === 0 && value.length > width + ? `…${value.slice(value.length - width + 1)}` + : value; + return trimmed.padEnd(width, ' '); + }) + .join(' '); + + console.log(formatRow(headers)); + console.log( + formatRow( + widths.map(width => '-'.repeat(Math.max(3, Math.min(width, 80)))), + ), + ); + rows.forEach(row => console.log(formatRow(row))); +} + +function printSummary( + total: number, + documented: number, + coverage: number, +): void { + console.log(); + if (total === 0) { + console.log('Overall coverage: 100.00% (0/0 exported declarations)'); + return; + } + console.log( + `Overall coverage: ${formatPercent(coverage)} (${documented}/${total} exported declarations documented)`, + ); +} + +function printUndocumentedHighlights(summaries: FileExportSummary[]): void { + const missingEntries: Array<{ file: string; names: string[] }> = []; + for (const summary of summaries) { + if (summary.missing.length > 0) { + missingEntries.push({ + file: summary.relativePath, + names: summary.missing, + }); + } + } + + if (missingEntries.length === 0) { + console.log('All exported declarations include TSDoc comments.'); + return; + } + + console.log(); + console.log('Undocumented exports:'); + for (const entry of missingEntries) { + console.log(` ${entry.file}`); + for (const name of entry.names) { + console.log(` - ${name}`); + } + } +} + +function formatMissingName(entry: ExportEntry): string { + const exportedNames = Array.from(entry.exportedAs); + if (exportedNames.length === 0) { + return entry.localName; + } + + const aliasList = exportedNames.filter( + name => name !== entry.localName && name !== 'default', + ); + if (exportedNames.includes('default')) { + if (aliasList.length > 0) { + return `default (local: ${entry.localName}, aliases: ${aliasList.join(', ')})`; + } + if (entry.localName !== 'default') { + return `default (local: ${entry.localName})`; + } + return 'default export'; + } + + if (aliasList.length > 0) { + return `${aliasList.join(', ')} (local: ${entry.localName})`; + } + + return entry.localName; +} + +async function writeJsonReport( + targetPath: string, + report: JsonReport, +): Promise { + const resolvedPath = path.resolve(process.cwd(), targetPath); + await fs.mkdir(path.dirname(resolvedPath), { recursive: true }); + await fs.writeFile( + resolvedPath, + `${JSON.stringify(report, null, 2)}\n`, + 'utf8', + ); + console.log( + `\nSaved coverage snapshot to ${path.relative(process.cwd(), resolvedPath)}`, + ); +} + +void main(); diff --git a/yarn.lock b/yarn.lock index 02c287069..65032523c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -190,25 +190,25 @@ __metadata: languageName: node linkType: hard -"@angular-devkit/architect@npm:0.2003.10, @angular-devkit/architect@npm:>= 0.2000.0 < 0.2100.0": - version: 0.2003.10 - resolution: "@angular-devkit/architect@npm:0.2003.10" +"@angular-devkit/architect@npm:0.2003.12, @angular-devkit/architect@npm:>= 0.2000.0 < 0.2100.0": + version: 0.2003.12 + resolution: "@angular-devkit/architect@npm:0.2003.12" dependencies: - "@angular-devkit/core": "npm:20.3.10" + "@angular-devkit/core": "npm:20.3.12" rxjs: "npm:7.8.2" - checksum: 10c0/639adff2cd08ae8bc67d524724086676b5ceaf2afcd6e563af87b76abbf43ba2c948c196846dcd63b5229502f017c2fb40b504d1a5bd5c135457ff6fdd3a68c8 + checksum: 10c0/beca44d7bd51c318e35722f21c9b021a4704acb8a5d070bfddcf30b00123a26c7a06f30e24643dbc92eb460064309ffe907e30a840c138664ab9c64aca60419f languageName: node linkType: hard "@angular-devkit/build-angular@npm:^20.3.0": - version: 20.3.10 - resolution: "@angular-devkit/build-angular@npm:20.3.10" + version: 20.3.12 + resolution: "@angular-devkit/build-angular@npm:20.3.12" dependencies: "@ampproject/remapping": "npm:2.3.0" - "@angular-devkit/architect": "npm:0.2003.10" - "@angular-devkit/build-webpack": "npm:0.2003.10" - "@angular-devkit/core": "npm:20.3.10" - "@angular/build": "npm:20.3.10" + "@angular-devkit/architect": "npm:0.2003.12" + "@angular-devkit/build-webpack": "npm:0.2003.12" + "@angular-devkit/core": "npm:20.3.12" + "@angular/build": "npm:20.3.12" "@babel/core": "npm:7.28.3" "@babel/generator": "npm:7.28.3" "@babel/helper-annotate-as-pure": "npm:7.27.3" @@ -219,7 +219,7 @@ __metadata: "@babel/preset-env": "npm:7.28.3" "@babel/runtime": "npm:7.28.3" "@discoveryjs/json-ext": "npm:0.6.3" - "@ngtools/webpack": "npm:20.3.10" + "@ngtools/webpack": "npm:20.3.12" ansi-colors: "npm:4.1.3" autoprefixer: "npm:10.4.21" babel-loader: "npm:10.0.0" @@ -266,7 +266,7 @@ __metadata: "@angular/platform-browser": ^20.0.0 "@angular/platform-server": ^20.0.0 "@angular/service-worker": ^20.0.0 - "@angular/ssr": ^20.3.10 + "@angular/ssr": ^20.3.12 "@web/test-runner": ^0.20.0 browser-sync: ^3.0.2 jest: ^29.5.0 || ^30.2.0 @@ -308,26 +308,26 @@ __metadata: optional: true tailwindcss: optional: true - checksum: 10c0/224a6e1631706490c1416a9797083cd10cce28d94e5ab7514d49d58345435128736f3a8dd95a2c70b0ef4259028ea1eae22944fa6983ac5fa26139d0d552d056 + checksum: 10c0/efb148cbf2bd10b1a31605eb5901d622064e86f0ec31c2c3a048e7402a557d7b08adc56ee72904b18424a939a26224bd3c614d0f4baca88592e23058ebfa8375 languageName: node linkType: hard -"@angular-devkit/build-webpack@npm:0.2003.10": - version: 0.2003.10 - resolution: "@angular-devkit/build-webpack@npm:0.2003.10" +"@angular-devkit/build-webpack@npm:0.2003.12": + version: 0.2003.12 + resolution: "@angular-devkit/build-webpack@npm:0.2003.12" dependencies: - "@angular-devkit/architect": "npm:0.2003.10" + "@angular-devkit/architect": "npm:0.2003.12" rxjs: "npm:7.8.2" peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - checksum: 10c0/1250058835b5c3e0b34c2fb89fb7cbff7acec4a3849baa816e442bb1dd8467c04fe283bb668fcb3970f465f341ca5fa3d856002214687e805b420e176d5b366f + checksum: 10c0/fcbb5db11126333d2a01e46f9909139014886e4c460b0cb43c51ed5f875a040e38d5a4efb4aa88063ae174e5b88683aaec6d207329bfea0eefe8dd50f85f455f languageName: node linkType: hard -"@angular-devkit/core@npm:20.3.10, @angular-devkit/core@npm:>= 20.0.0 < 21.0.0": - version: 20.3.10 - resolution: "@angular-devkit/core@npm:20.3.10" +"@angular-devkit/core@npm:20.3.12, @angular-devkit/core@npm:>= 20.0.0 < 21.0.0": + version: 20.3.12 + resolution: "@angular-devkit/core@npm:20.3.12" dependencies: ajv: "npm:8.17.1" ajv-formats: "npm:3.0.1" @@ -340,134 +340,134 @@ __metadata: peerDependenciesMeta: chokidar: optional: true - checksum: 10c0/9214ccbf2389b66714be848b00e81d78f5723f85d00bac81ccdc312b548e1b2c1f88b4527c2a08c2aac5f47c6d5e7d629c252fdceb61d185ba73315faef34f1d + checksum: 10c0/23fa8a5d43b8dfd89cb3dda0614fb384b8132949cf9fa2831aab6ca9393f5c8b954085c5dbbcdc6fd9b4d8d534c584669f47c9e32f58318839c703f74d89ee49 languageName: node linkType: hard -"@angular-devkit/schematics@npm:20.3.10, @angular-devkit/schematics@npm:>= 20.0.0 < 21.0.0": - version: 20.3.10 - resolution: "@angular-devkit/schematics@npm:20.3.10" +"@angular-devkit/schematics@npm:20.3.12, @angular-devkit/schematics@npm:>= 20.0.0 < 21.0.0": + version: 20.3.12 + resolution: "@angular-devkit/schematics@npm:20.3.12" dependencies: - "@angular-devkit/core": "npm:20.3.10" + "@angular-devkit/core": "npm:20.3.12" jsonc-parser: "npm:3.3.1" magic-string: "npm:0.30.17" ora: "npm:8.2.0" rxjs: "npm:7.8.2" - checksum: 10c0/29de99b702c1df55e943cced2266359296ece5f13445d17ae57fa36d58982661ec184200ff4474090452d20a4c492366904712ad6aa27820808ec7f20720c472 + checksum: 10c0/0261a3f4c810014f2a754f5716ae6ad8fabc79f0240e7bf56572001160d688da80cec38fa33090ac7fac2aef3e26c8aa6d531618f18c8bc2eb71bfd44ef19b20 languageName: node linkType: hard "@angular-eslint/builder@npm:^20.3.0": - version: 20.6.0 - resolution: "@angular-eslint/builder@npm:20.6.0" + version: 20.7.0 + resolution: "@angular-eslint/builder@npm:20.7.0" dependencies: "@angular-devkit/architect": "npm:>= 0.2000.0 < 0.2100.0" "@angular-devkit/core": "npm:>= 20.0.0 < 21.0.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/4345faccf8420f59756793f22bfba3b799fe952913e88922d379a6b76656882c3610fa535e1500be4b0e9e2d2256ce741fe27df15321b4c6322cb58d526ec22b + checksum: 10c0/3cfbd894d93b52989fe26e583b203e7eef51c4f825fcff98bcff27c0039bf3dbfb756692396759a8bb74790ce7d0e3675fe345111769f773da131afe160ab405 languageName: node linkType: hard -"@angular-eslint/bundled-angular-compiler@npm:20.6.0": - version: 20.6.0 - resolution: "@angular-eslint/bundled-angular-compiler@npm:20.6.0" - checksum: 10c0/510488bc9623b1ebe9c329be4bddac2485a59a014f2861e175edcd6bac0263948e6c63e36c52efee1e718fcae07f2863103f60e5b3e475b4d9fd3aeea10888f4 +"@angular-eslint/bundled-angular-compiler@npm:20.7.0": + version: 20.7.0 + resolution: "@angular-eslint/bundled-angular-compiler@npm:20.7.0" + checksum: 10c0/b3365d3cb3b4ee78ae27b1fe85734a5efe135d620cfb2f681f2c3f177415a3c96b0da15136c495fa2ce2ca35bfee822d8310f21a0be71130dc0f3224d5352a49 languageName: node linkType: hard -"@angular-eslint/eslint-plugin-template@npm:20.6.0, @angular-eslint/eslint-plugin-template@npm:^20.3.0": - version: 20.6.0 - resolution: "@angular-eslint/eslint-plugin-template@npm:20.6.0" +"@angular-eslint/eslint-plugin-template@npm:20.7.0, @angular-eslint/eslint-plugin-template@npm:^20.3.0": + version: 20.7.0 + resolution: "@angular-eslint/eslint-plugin-template@npm:20.7.0" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:20.6.0" - "@angular-eslint/utils": "npm:20.6.0" + "@angular-eslint/bundled-angular-compiler": "npm:20.7.0" + "@angular-eslint/utils": "npm:20.7.0" aria-query: "npm:5.3.2" axobject-query: "npm:4.1.0" peerDependencies: - "@angular-eslint/template-parser": 20.6.0 + "@angular-eslint/template-parser": 20.7.0 "@typescript-eslint/types": ^7.11.0 || ^8.0.0 "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/5ab85a392559b295e488b971a3500b9506c37b10c19632cc2be5d2544f8af423f1764e008e415b75f261fe05fad35a02122c0369bdcf50bb2918d38974b76edb + checksum: 10c0/55887d1ebe995880dc5b0a7bc402345cef5d213797bc9b65c2c33c91404585fe13ee02d613d4ad3c1f1c4699d473e0bfe12dae110032c12e9d7415e3e3289a23 languageName: node linkType: hard -"@angular-eslint/eslint-plugin@npm:20.6.0, @angular-eslint/eslint-plugin@npm:^20.3.0": - version: 20.6.0 - resolution: "@angular-eslint/eslint-plugin@npm:20.6.0" +"@angular-eslint/eslint-plugin@npm:20.7.0, @angular-eslint/eslint-plugin@npm:^20.3.0": + version: 20.7.0 + resolution: "@angular-eslint/eslint-plugin@npm:20.7.0" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:20.6.0" - "@angular-eslint/utils": "npm:20.6.0" + "@angular-eslint/bundled-angular-compiler": "npm:20.7.0" + "@angular-eslint/utils": "npm:20.7.0" ts-api-utils: "npm:^2.1.0" peerDependencies: "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/1b3d7edb63a42541986f0d22b9ccdcf93a986e25a94303a14815fc523e4133bc2e27c1456b0e3b8fa53b7bf4f84e4d0ad9e22629d9c549cfc49366eaa312cd6f + checksum: 10c0/2fa0d7c852641f9f1f257f96bd169788bcc71fe8ff3d6de5f32a41735f1e15f441212c21ac6a02c3f1f81c5962bb9f5e25e200a13a2de043d67175efd4f79369 languageName: node linkType: hard "@angular-eslint/schematics@npm:^20.3.0": - version: 20.6.0 - resolution: "@angular-eslint/schematics@npm:20.6.0" + version: 20.7.0 + resolution: "@angular-eslint/schematics@npm:20.7.0" dependencies: "@angular-devkit/core": "npm:>= 20.0.0 < 21.0.0" "@angular-devkit/schematics": "npm:>= 20.0.0 < 21.0.0" - "@angular-eslint/eslint-plugin": "npm:20.6.0" - "@angular-eslint/eslint-plugin-template": "npm:20.6.0" + "@angular-eslint/eslint-plugin": "npm:20.7.0" + "@angular-eslint/eslint-plugin-template": "npm:20.7.0" ignore: "npm:7.0.5" semver: "npm:7.7.3" strip-json-comments: "npm:3.1.1" - checksum: 10c0/a736801ff28047ed38777ac640c366379e6aeb4c84b901f49620e93b1129a5645e7fc273ebdd6337adfdb72d7e29e7fea5193e3a72e65ddaa7de57a2ed29e081 + checksum: 10c0/275bd939a530acff911861e84d54dcd54caf49ca8dd2b6ebfdfc361730787b42bfdf00eb832c89603d184f1600075a55544a6f491986b740bc1bbc2e3e4655e9 languageName: node linkType: hard "@angular-eslint/template-parser@npm:^20.3.0": - version: 20.6.0 - resolution: "@angular-eslint/template-parser@npm:20.6.0" + version: 20.7.0 + resolution: "@angular-eslint/template-parser@npm:20.7.0" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:20.6.0" - eslint-scope: "npm:^8.0.2" + "@angular-eslint/bundled-angular-compiler": "npm:20.7.0" + eslint-scope: "npm:^9.0.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/7d40b7f4eca470d8d7c797beffe4ecd289338a682fb0339ec05a7144bf17be23d444b8fa2d9150623c67c6bf2adecf06eba306889f4431143e457a0adadc09c6 + checksum: 10c0/3b1c2bba3299de83f7b854eddee385277b2b625442b34afa5a6fd82e708265417e21ff26cb008e8361500c1f4af9ebc10a583b4de63a43ca7fa7fcbca7977701 languageName: node linkType: hard -"@angular-eslint/utils@npm:20.6.0": - version: 20.6.0 - resolution: "@angular-eslint/utils@npm:20.6.0" +"@angular-eslint/utils@npm:20.7.0": + version: 20.7.0 + resolution: "@angular-eslint/utils@npm:20.7.0" dependencies: - "@angular-eslint/bundled-angular-compiler": "npm:20.6.0" + "@angular-eslint/bundled-angular-compiler": "npm:20.7.0" peerDependencies: "@typescript-eslint/utils": ^7.11.0 || ^8.0.0 eslint: ^8.57.0 || ^9.0.0 typescript: "*" - checksum: 10c0/2587d6a1275904232c40deafb0bb0ca00ec6bb16cc9a95e673ce02e1faf8edd119ee8113b10c9d0e6aac427b12303b0264d59c1c2eba6d978bc08cb97e25a580 + checksum: 10c0/ee3cfd24136cc8b9572129904d82e086bb94e73fe2353fb95ca4138f8b0e23a2ceed3e06ff02f04aa8d85560d900d48ca43cf78ad40f61ea55203fa722167433 languageName: node linkType: hard "@angular/animations@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/animations@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/animations@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" peerDependencies: - "@angular/core": 20.3.12 - checksum: 10c0/4985f4b867a6cb3a0d37936832b919d6c85e5a4c65df08f4599c5af7f533301ca865c631c24f56950a904458598e5c2c8604b3a3e58ad94fba9aaa360640943e + "@angular/core": 20.3.15 + checksum: 10c0/847149a2aceafed321c02f62a95ebb0c11911d652d59444e7f3a0ed1646365c6c014320b40cd07bbadd5733ef7a5b3a2f55124fc34790865776c7cf72eb466eb languageName: node linkType: hard -"@angular/build@npm:20.3.10": - version: 20.3.10 - resolution: "@angular/build@npm:20.3.10" +"@angular/build@npm:20.3.12": + version: 20.3.12 + resolution: "@angular/build@npm:20.3.12" dependencies: "@ampproject/remapping": "npm:2.3.0" - "@angular-devkit/architect": "npm:0.2003.10" + "@angular-devkit/architect": "npm:0.2003.12" "@babel/core": "npm:7.28.3" "@babel/helper-annotate-as-pure": "npm:7.27.3" "@babel/helper-split-export-declaration": "npm:7.24.7" @@ -501,7 +501,7 @@ __metadata: "@angular/platform-browser": ^20.0.0 "@angular/platform-server": ^20.0.0 "@angular/service-worker": ^20.0.0 - "@angular/ssr": ^20.3.10 + "@angular/ssr": ^20.3.12 karma: ^6.4.0 less: ^4.2.0 ng-packagr: ^20.0.0 @@ -538,21 +538,21 @@ __metadata: optional: true vitest: optional: true - checksum: 10c0/7da6decc2977ce1a2cf13991d778f66e734592b5a2aa78be0adf00f46c3cec7e74c6bf8a0b1151d3cd6e2fdf38cdce9796e1430842209d2da6630f41313da9d1 + checksum: 10c0/65e418f5eba773a2d6793b169895471a8ad43dda211d47108c0c58d38eafdc1cfc6d2305dd457fbfba66236e0449054e1644ae21c0a120d4ddc61bc43129b2d0 languageName: node linkType: hard "@angular/cli@npm:^20.3.0": - version: 20.3.10 - resolution: "@angular/cli@npm:20.3.10" + version: 20.3.12 + resolution: "@angular/cli@npm:20.3.12" dependencies: - "@angular-devkit/architect": "npm:0.2003.10" - "@angular-devkit/core": "npm:20.3.10" - "@angular-devkit/schematics": "npm:20.3.10" + "@angular-devkit/architect": "npm:0.2003.12" + "@angular-devkit/core": "npm:20.3.12" + "@angular-devkit/schematics": "npm:20.3.12" "@inquirer/prompts": "npm:7.8.2" "@listr2/prompt-adapter-inquirer": "npm:3.0.1" "@modelcontextprotocol/sdk": "npm:1.17.3" - "@schematics/angular": "npm:20.3.10" + "@schematics/angular": "npm:20.3.12" "@yarnpkg/lockfile": "npm:1.1.0" algoliasearch: "npm:5.35.0" ini: "npm:5.0.0" @@ -566,25 +566,25 @@ __metadata: zod: "npm:3.25.76" bin: ng: bin/ng.js - checksum: 10c0/3926d3cf74adce00858c3252761676bbb5d97313820970c539b179cc25ad814c7c1eb60152f22f7d119e4320685cacc81dff566b5cdf6d9a55e10abd5adee7e2 + checksum: 10c0/04815ce57c4b0b6b2e26cd3ac8cd4ae0b6c73a064dc478909633fef6204846587a2710b9dd05329a93ad43503b47c40504785a71cf8666fa6ba78c8a05e9c647 languageName: node linkType: hard "@angular/common@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/common@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/common@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" peerDependencies: - "@angular/core": 20.3.12 + "@angular/core": 20.3.15 rxjs: ^6.5.3 || ^7.4.0 - checksum: 10c0/3082a121498e39de3f3baeea7606b2289917c52085f469e46dd36c3904cdc522984e3ba0107b27f911e87776ea7b97de80c8b2e1e4768a373abe648682f53408 + checksum: 10c0/d8582bda3db80a11735f173197bd1ae1054cce973112eac245bff92bec09b15ea7ba845a83060029027aa25e95ad4fce36a1fbd5208e86775905c80d1875019d languageName: node linkType: hard "@angular/compiler-cli@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/compiler-cli@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/compiler-cli@npm:20.3.15" dependencies: "@babel/core": "npm:7.28.3" "@jridgewell/sourcemap-codec": "npm:^1.4.14" @@ -595,7 +595,7 @@ __metadata: tslib: "npm:^2.3.0" yargs: "npm:^18.0.0" peerDependencies: - "@angular/compiler": 20.3.12 + "@angular/compiler": 20.3.15 typescript: ">=5.8 <6.0" peerDependenciesMeta: typescript: @@ -603,26 +603,26 @@ __metadata: bin: ng-xi18n: bundles/src/bin/ng_xi18n.js ngc: bundles/src/bin/ngc.js - checksum: 10c0/b586bcb1548f5ec7420f6bc550a8036518591f95d1d9365711ba8d9cd03c063bef9a2be3da79e36569f33d49bc1081da4c467329812e2f5e89ba1c62ebe8df91 + checksum: 10c0/76c03ed72d3303dc83292f5507b243a923d46344931bb0f88902e1072ba538b7b2bbd4ce8ce839957348991fde94385f212b1eb9766b2b852a36cd608a86cca0 languageName: node linkType: hard "@angular/compiler@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/compiler@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/compiler@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" - checksum: 10c0/4312a5294274287009f96dc27f09a5fc09105dc660041377bc164ca3fee22721b6d7f7b20710d1a14df4cff7aeeb7b21f72619421d6dc54af1c4cabdfddb4084 + checksum: 10c0/55950ca55514a04ec32158da747aa29c29390b984548da30b14963c8f251cd7a488e735876b2c0d43ff1ea4f79c4793a39485c3bee7ecf4fd9e844fa62988635 languageName: node linkType: hard "@angular/core@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/core@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/core@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" peerDependencies: - "@angular/compiler": 20.3.12 + "@angular/compiler": 20.3.15 rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 peerDependenciesMeta: @@ -630,37 +630,37 @@ __metadata: optional: true zone.js: optional: true - checksum: 10c0/c5cf70c9878e265faf89560ca21ced05d7c74353b6209cd509c61c02e871fde8b223ff08086c472c8ac726235336a4da6b61bf2323c1aafa3b6a7c33b021b4f4 + checksum: 10c0/fdf5e49cb5c5336f1b3d147f03e653b08fb670cf1a08777c860be3884ff0a2effad0c9e6e1323c3bf7c8239eb2a677c41846ce4c9c5653d80dec8be780165797 languageName: node linkType: hard "@angular/platform-browser-dynamic@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/platform-browser-dynamic@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/platform-browser-dynamic@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" peerDependencies: - "@angular/common": 20.3.12 - "@angular/compiler": 20.3.12 - "@angular/core": 20.3.12 - "@angular/platform-browser": 20.3.12 - checksum: 10c0/01876b551d9b4b842b12d616b95270c61192d652003645714977310cd0ea40826e05cdb7e955d399cd711aa9a263f0f637a02a903618c3df677b14d6224e81b8 + "@angular/common": 20.3.15 + "@angular/compiler": 20.3.15 + "@angular/core": 20.3.15 + "@angular/platform-browser": 20.3.15 + checksum: 10c0/f18a35101aa2b8fdf07c3efe779defffc9ff825a832a24db3a7bb9bbed968df001718100e1798d9799b636919e3f411d78b2f6fa997d226f3deceef31e4dc789 languageName: node linkType: hard "@angular/platform-browser@npm:^20.3.0": - version: 20.3.12 - resolution: "@angular/platform-browser@npm:20.3.12" + version: 20.3.15 + resolution: "@angular/platform-browser@npm:20.3.15" dependencies: tslib: "npm:^2.3.0" peerDependencies: - "@angular/animations": 20.3.12 - "@angular/common": 20.3.12 - "@angular/core": 20.3.12 + "@angular/animations": 20.3.15 + "@angular/common": 20.3.15 + "@angular/core": 20.3.15 peerDependenciesMeta: "@angular/animations": optional: true - checksum: 10c0/f37368e6c0128a83813cf6d7705a86c82a064114bd91d57f595159fd8c946b994fe39baa4aad219e339cf44d7bb285280b3d8efdbae3de1021733b71ab417add + checksum: 10c0/52a4b2a6885afad25cabbf1c250237bf293482f7dfa169d0e6e9acdd92221f0c2a4160118429efe9ee4a59c433d8ecb320ddc4b7c4c5bd41d266ce803a7489ac languageName: node linkType: hard @@ -3115,7 +3115,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.5.0": +"@emnapi/core@npm:^1.4.3, @emnapi/core@npm:^1.7.1": version: 1.7.1 resolution: "@emnapi/core@npm:1.7.1" dependencies: @@ -3125,7 +3125,7 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.5.0": +"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.7.1": version: 1.7.1 resolution: "@emnapi/runtime@npm:1.7.1" dependencies: @@ -5791,25 +5791,25 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^1.0.7": - version: 1.0.7 - resolution: "@napi-rs/wasm-runtime@npm:1.0.7" +"@napi-rs/wasm-runtime@npm:^1.1.0": + version: 1.1.0 + resolution: "@napi-rs/wasm-runtime@npm:1.1.0" dependencies: - "@emnapi/core": "npm:^1.5.0" - "@emnapi/runtime": "npm:^1.5.0" + "@emnapi/core": "npm:^1.7.1" + "@emnapi/runtime": "npm:^1.7.1" "@tybys/wasm-util": "npm:^0.10.1" - checksum: 10c0/2d8635498136abb49d6dbf7395b78c63422292240963bf055f307b77aeafbde57ae2c0ceaaef215601531b36d6eb92a2cdd6f5ba90ed2aa8127c27aff9c4ae55 + checksum: 10c0/ee351052123bfc635c4cef03ac273a686522394ccd513b1e5b7b3823cecd6abb4a31f23a3a962933192b87eb7b7c3eb3def7748bd410edc66f932d90cf44e9ab languageName: node linkType: hard -"@ngtools/webpack@npm:20.3.10": - version: 20.3.10 - resolution: "@ngtools/webpack@npm:20.3.10" +"@ngtools/webpack@npm:20.3.12": + version: 20.3.12 + resolution: "@ngtools/webpack@npm:20.3.12" peerDependencies: "@angular/compiler-cli": ^20.0.0 typescript: ">=5.8 <6.0" webpack: ^5.54.0 - checksum: 10c0/cb97efd3d4862797fbf77e38fe6c487e399972fc5ff62a97ee7afee82a1ec621042dffcc06f606e54823edd17de26312f34275dbf2977cf085cbb48d2cc271d8 + checksum: 10c0/1d515b264245b8200df801f9f7d5bb730d5810bebaf13d11c7e2ff60ad88bbcc7f3f96e4229dabac0727087b232203d95ffe039a66670984c4670f20df32828e languageName: node linkType: hard @@ -5928,67 +5928,67 @@ __metadata: languageName: node linkType: hard -"@nomicfoundation/edr-darwin-arm64@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-darwin-arm64@npm:0.12.0-next.15" - checksum: 10c0/b109602bd70fa7b577411dac6f1c74c2b2e81adaec2708ee6ccc79f121c53f5e681c89683b3cd0b5e6a53797b16fa1f838ccb224b26a853a17c26cdf7d89f2b1 +"@nomicfoundation/edr-darwin-arm64@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-darwin-arm64@npm:0.12.0-next.16" + checksum: 10c0/0dd285f5b2ce00f6cf631d51a2534dae6dd19c06c23b28a2aa784fc144bcf806d831c8288ec96d43076ef78ec8c2e95a16e4af2e98b4057bd9fa7fb5b2244c02 languageName: node linkType: hard -"@nomicfoundation/edr-darwin-x64@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-darwin-x64@npm:0.12.0-next.15" - checksum: 10c0/af174bde870ae2a48cc88d5b7fef30a100cf59b1f4a4bce32684f675c65551c816f68339af534ea3937b8d71b7eb34b84a23df1b9704a12d029f9cd8adb3986f +"@nomicfoundation/edr-darwin-x64@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-darwin-x64@npm:0.12.0-next.16" + checksum: 10c0/9a302bf7196d83e2c1baf6976fda847965566ab4b5cb503de7969f2cf3a8255971ead4b0ddf4e9f0a3907c74a84a60a7c383bd2773d365189bce648d1c095611 languageName: node linkType: hard -"@nomicfoundation/edr-linux-arm64-gnu@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-linux-arm64-gnu@npm:0.12.0-next.15" - checksum: 10c0/976c559e8a25ce84052dd04a2f57910c0e92fa9cba46ed8eacfa8df8427cae82e317b67b813b7300ef107f9c76f763b9c02abf32f2516f15b8a61d75a69136d6 +"@nomicfoundation/edr-linux-arm64-gnu@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-linux-arm64-gnu@npm:0.12.0-next.16" + checksum: 10c0/6a27c697f3b9dae6ed70100c0353cff1f3e462aea53a082377b830df1260513275e3932aa4718f4f95d62dbda4990c6b980d0e63de85b49a93146f2e3f709acc languageName: node linkType: hard -"@nomicfoundation/edr-linux-arm64-musl@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-linux-arm64-musl@npm:0.12.0-next.15" - checksum: 10c0/26c24d994ac442d18f0ad158d2b0e307356c4f364ea6540f84ea90899563dd0c8da89c321b0e23334fcf366716b857b2ff719ffda1b30f7e1a577dbd7b35a1fb +"@nomicfoundation/edr-linux-arm64-musl@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-linux-arm64-musl@npm:0.12.0-next.16" + checksum: 10c0/d27bcc2572b19d33cb5e47bf2b2a6006ba8d760b51cc3eb01fae00f1be539b740934d25b26e140098b049df237e30f40ba0b516fb4a4677b09c38e16b3690504 languageName: node linkType: hard -"@nomicfoundation/edr-linux-x64-gnu@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-linux-x64-gnu@npm:0.12.0-next.15" - checksum: 10c0/4634b7e89fc682db08b94167a31b2e2a4697655c131f8ca52b035737a45ebe0345a1aed8fff4542ad8375c31a57bf754451749e9bc0685dcf6ee0d6a3ffe4138 +"@nomicfoundation/edr-linux-x64-gnu@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-linux-x64-gnu@npm:0.12.0-next.16" + checksum: 10c0/3c7d26d8eb940400523e7336f19386826874e24d2e88394366e3683a34593032e18fc655bd004e4fa7698b7dd2d4bad1404e5aa4ef47df206628bf4c0bbdbdf1 languageName: node linkType: hard -"@nomicfoundation/edr-linux-x64-musl@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-linux-x64-musl@npm:0.12.0-next.15" - checksum: 10c0/0e05dc24ec20c14dd9635b1c4a0956bfab883289556a4a9c87348a2ed77e87d945756dfb5a54ffee6d74e3824c7def7ecddf52efcba8de6a068b320b8dd0dd13 +"@nomicfoundation/edr-linux-x64-musl@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-linux-x64-musl@npm:0.12.0-next.16" + checksum: 10c0/a55d30581d9ac49b4b6c0bcca0d7dae8277deab47f9226a4236b8b6c8a23f900b5e50de55ecc8753cf4ddd6d441c9525aeba62c4fb52a7144ddf111b512ef6a6 languageName: node linkType: hard -"@nomicfoundation/edr-win32-x64-msvc@npm:0.12.0-next.15": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr-win32-x64-msvc@npm:0.12.0-next.15" - checksum: 10c0/0ed7f8cb9a45264196ae064b2c9fc6c8bd08769bc85e78cedf3c346692066ded7a2bdc45ffdd3f589125e2edb650ae8ef84ef790d9b51dc8d46c65c0cbe1f13e +"@nomicfoundation/edr-win32-x64-msvc@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr-win32-x64-msvc@npm:0.12.0-next.16" + checksum: 10c0/1ee406098b2821843b1adb3c3de09a82bf05fbbf5aba2c53f166d62b1be49c2de0f54f640c5f1ee6be552e96a0a59cab8a993793c8100da48eb324a4107024ca languageName: node linkType: hard -"@nomicfoundation/edr@npm:^0.12.0-next.7": - version: 0.12.0-next.15 - resolution: "@nomicfoundation/edr@npm:0.12.0-next.15" +"@nomicfoundation/edr@npm:0.12.0-next.16": + version: 0.12.0-next.16 + resolution: "@nomicfoundation/edr@npm:0.12.0-next.16" dependencies: - "@nomicfoundation/edr-darwin-arm64": "npm:0.12.0-next.15" - "@nomicfoundation/edr-darwin-x64": "npm:0.12.0-next.15" - "@nomicfoundation/edr-linux-arm64-gnu": "npm:0.12.0-next.15" - "@nomicfoundation/edr-linux-arm64-musl": "npm:0.12.0-next.15" - "@nomicfoundation/edr-linux-x64-gnu": "npm:0.12.0-next.15" - "@nomicfoundation/edr-linux-x64-musl": "npm:0.12.0-next.15" - "@nomicfoundation/edr-win32-x64-msvc": "npm:0.12.0-next.15" - checksum: 10c0/ec75a774ad3f20ad6f24bcc6f8f841962b1d1ab8861616d6ab5a35f1c323fb3e7ee2698c37dfca842909194c69adb28e90a964826cde37fb993fe89b6f5bc778 + "@nomicfoundation/edr-darwin-arm64": "npm:0.12.0-next.16" + "@nomicfoundation/edr-darwin-x64": "npm:0.12.0-next.16" + "@nomicfoundation/edr-linux-arm64-gnu": "npm:0.12.0-next.16" + "@nomicfoundation/edr-linux-arm64-musl": "npm:0.12.0-next.16" + "@nomicfoundation/edr-linux-x64-gnu": "npm:0.12.0-next.16" + "@nomicfoundation/edr-linux-x64-musl": "npm:0.12.0-next.16" + "@nomicfoundation/edr-win32-x64-msvc": "npm:0.12.0-next.16" + checksum: 10c0/1c6b967a96d9edd6ecbba131dfdd5e40dbf9771f54fdd2213061b64459caf94f791599c04ff456f77aa8ea95901c3102f033af3596b52a5e0520af1852708e9f languageName: node linkType: hard @@ -6274,6 +6274,15 @@ __metadata: languageName: node linkType: hard +"@npmcli/fs@npm:^5.0.0": + version: 5.0.0 + resolution: "@npmcli/fs@npm:5.0.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/26e376d780f60ff16e874a0ac9bc3399186846baae0b6e1352286385ac134d900cc5dafaded77f38d77f86898fc923ae1cee9d7399f0275b1aa24878915d722b + languageName: node + linkType: hard + "@npmcli/git@npm:^6.0.0": version: 6.0.3 resolution: "@npmcli/git@npm:6.0.3" @@ -6530,137 +6539,144 @@ __metadata: languageName: node linkType: hard -"@oxc-resolver/binding-android-arm-eabi@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.13.2" +"@oxc-resolver/binding-android-arm-eabi@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-android-arm-eabi@npm:11.14.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-android-arm64@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-android-arm64@npm:11.13.2" +"@oxc-resolver/binding-android-arm64@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-android-arm64@npm:11.14.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-arm64@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.13.2" +"@oxc-resolver/binding-darwin-arm64@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:11.14.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-darwin-x64@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-darwin-x64@npm:11.13.2" +"@oxc-resolver/binding-darwin-x64@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-darwin-x64@npm:11.14.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-freebsd-x64@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.13.2" +"@oxc-resolver/binding-freebsd-x64@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:11.14.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.13.2" +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:11.14.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.13.2" +"@oxc-resolver/binding-linux-arm-musleabihf@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-arm-musleabihf@npm:11.14.2" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-gnu@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.13.2" +"@oxc-resolver/binding-linux-arm64-gnu@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:11.14.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-arm64-musl@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.13.2" +"@oxc-resolver/binding-linux-arm64-musl@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:11.14.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.13.2" +"@oxc-resolver/binding-linux-ppc64-gnu@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-ppc64-gnu@npm:11.14.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.13.2" +"@oxc-resolver/binding-linux-riscv64-gnu@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:11.14.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-riscv64-musl@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.13.2" +"@oxc-resolver/binding-linux-riscv64-musl@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-riscv64-musl@npm:11.14.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-linux-s390x-gnu@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.13.2" +"@oxc-resolver/binding-linux-s390x-gnu@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:11.14.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-gnu@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.13.2" +"@oxc-resolver/binding-linux-x64-gnu@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:11.14.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-musl@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.13.2" +"@oxc-resolver/binding-linux-x64-musl@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:11.14.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-wasm32-wasi@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.13.2" +"@oxc-resolver/binding-openharmony-arm64@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-openharmony-arm64@npm:11.14.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:11.14.2" dependencies: - "@napi-rs/wasm-runtime": "npm:^1.0.7" + "@napi-rs/wasm-runtime": "npm:^1.1.0" conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-arm64-msvc@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.13.2" +"@oxc-resolver/binding-win32-arm64-msvc@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:11.14.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@oxc-resolver/binding-win32-ia32-msvc@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.13.2" +"@oxc-resolver/binding-win32-ia32-msvc@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-win32-ia32-msvc@npm:11.14.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-x64-msvc@npm:11.13.2": - version: 11.13.2 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.13.2" +"@oxc-resolver/binding-win32-x64-msvc@npm:11.14.2": + version: 11.14.2 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:11.14.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -7612,11 +7628,11 @@ __metadata: languageName: node linkType: hard -"@react-navigation/core@npm:^7.13.1": - version: 7.13.1 - resolution: "@react-navigation/core@npm:7.13.1" +"@react-navigation/core@npm:^7.13.5": + version: 7.13.5 + resolution: "@react-navigation/core@npm:7.13.5" dependencies: - "@react-navigation/routers": "npm:^7.5.1" + "@react-navigation/routers": "npm:^7.5.2" escape-string-regexp: "npm:^4.0.0" fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" @@ -7626,53 +7642,53 @@ __metadata: use-sync-external-store: "npm:^1.5.0" peerDependencies: react: ">= 18.2.0" - checksum: 10c0/d70a61dbd2e7898193cedcebf6d0759494eff676cf8c2977ffc005211cf0134e041787e3e8fffd16ed39fe740389504fa27e62e7fdbe1856a978df7e4c1bdbd5 + checksum: 10c0/b0c7b7b99dc3ccbf1efdcd6f50446511c26dd1989fbc183cc51839e8d86115dd06aba4fca0ee292e61735e66a1c4a874b163f7e02114a149b12b24b0259e1b60 languageName: node linkType: hard -"@react-navigation/elements@npm:^2.8.2": - version: 2.8.2 - resolution: "@react-navigation/elements@npm:2.8.2" +"@react-navigation/elements@npm:^2.9.1": + version: 2.9.1 + resolution: "@react-navigation/elements@npm:2.9.1" dependencies: color: "npm:^4.2.3" use-latest-callback: "npm:^0.2.4" use-sync-external-store: "npm:^1.5.0" peerDependencies: "@react-native-masked-view/masked-view": ">= 0.2.0" - "@react-navigation/native": ^7.1.20 + "@react-navigation/native": ^7.1.24 react: ">= 18.2.0" react-native: "*" react-native-safe-area-context: ">= 4.0.0" peerDependenciesMeta: "@react-native-masked-view/masked-view": optional: true - checksum: 10c0/0e5282f92f2946fd635c2a1c9b444d6d158663ad57669cb87e372587d2313df90cd092737305f999e6223aace75cb7829ef709b1198a8a6bc22aa40821a792e6 + checksum: 10c0/e0ee15c02aefe21a5bebea77869d24ab5397f0a3b3f9b90cc41bf5f74248211b3e5f18cfb1388d7255dc91e30fef8a6aac1dea8844e13642ad84dc17290a2da1 languageName: node linkType: hard "@react-navigation/native-stack@npm:^7.2.0": - version: 7.6.3 - resolution: "@react-navigation/native-stack@npm:7.6.3" + version: 7.8.5 + resolution: "@react-navigation/native-stack@npm:7.8.5" dependencies: - "@react-navigation/elements": "npm:^2.8.2" + "@react-navigation/elements": "npm:^2.9.1" color: "npm:^4.2.3" sf-symbols-typescript: "npm:^2.1.0" warn-once: "npm:^0.1.1" peerDependencies: - "@react-navigation/native": ^7.1.20 + "@react-navigation/native": ^7.1.24 react: ">= 18.2.0" react-native: "*" react-native-safe-area-context: ">= 4.0.0" react-native-screens: ">= 4.0.0" - checksum: 10c0/9ba1a7abe8335a80455bb83742c844ee8a26e88a413c4996b0b3b8ec53c9b33db63cf7f4ada89c65417f169dcd9e8c0c27943cd49a8a7c1b9b298d86091e1661 + checksum: 10c0/bac89fe807cc1f5cab1a107580c1be9c96db6eef64c118c467a52afe745cf35c62cffae90703abd1423655d9f593e44c2a3c66c797abc529e3922a2327df4246 languageName: node linkType: hard "@react-navigation/native@npm:^7.0.14": - version: 7.1.20 - resolution: "@react-navigation/native@npm:7.1.20" + version: 7.1.24 + resolution: "@react-navigation/native@npm:7.1.24" dependencies: - "@react-navigation/core": "npm:^7.13.1" + "@react-navigation/core": "npm:^7.13.5" escape-string-regexp: "npm:^4.0.0" fast-deep-equal: "npm:^3.1.3" nanoid: "npm:^3.3.11" @@ -7680,16 +7696,16 @@ __metadata: peerDependencies: react: ">= 18.2.0" react-native: "*" - checksum: 10c0/a744d4d70e234644a9866e881bd23d914fcdedc4796fe33493266753a7e54c884bb33d03bd1f6693165d21b83ba819c48d0b68efdb4436f74e920963846a8402 + checksum: 10c0/d88c49bff287d0b7eb1d2add41894f4ef17cc0027734b516a255fe98a0dd1aa24c165bbe54f9aad228081a9bba8d3249781a4a450ee9a34ca36fa3deac591abc languageName: node linkType: hard -"@react-navigation/routers@npm:^7.5.1": - version: 7.5.1 - resolution: "@react-navigation/routers@npm:7.5.1" +"@react-navigation/routers@npm:^7.5.2": + version: 7.5.2 + resolution: "@react-navigation/routers@npm:7.5.2" dependencies: nanoid: "npm:^3.3.11" - checksum: 10c0/2efdbaf265e25bd1ea6d283a5a16d772eb24846e4a4554c8164091707b9289f02063a8999f8337d24ae3a33c3d2adaebabcb96bedb588aca8efb54fcab46286a + checksum: 10c0/eb22a8ce464595fc78d2f748d4397dfce5acae5f9b6afa9e0361142e69399ad8346019d1f6af7ba7a4404d54f71fc99e120ae113f5c827a4a6435bf201e349b5 languageName: node linkType: hard @@ -7758,9 +7774,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.53.2" +"@rollup/rollup-android-arm-eabi@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.53.3" conditions: os=android & cpu=arm languageName: node linkType: hard @@ -7772,9 +7788,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-android-arm64@npm:4.53.2" +"@rollup/rollup-android-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-android-arm64@npm:4.53.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -7786,9 +7802,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-darwin-arm64@npm:4.53.2" +"@rollup/rollup-darwin-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-darwin-arm64@npm:4.53.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -7800,9 +7816,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-darwin-x64@npm:4.53.2" +"@rollup/rollup-darwin-x64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-darwin-x64@npm:4.53.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -7814,9 +7830,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.53.2" +"@rollup/rollup-freebsd-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.53.3" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -7828,9 +7844,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-freebsd-x64@npm:4.53.2" +"@rollup/rollup-freebsd-x64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-freebsd-x64@npm:4.53.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -7842,9 +7858,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.53.2" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.53.3" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard @@ -7856,9 +7872,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.53.2" +"@rollup/rollup-linux-arm-musleabihf@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.53.3" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard @@ -7870,9 +7886,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.53.2" +"@rollup/rollup-linux-arm64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.53.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -7884,9 +7900,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.53.2" +"@rollup/rollup-linux-arm64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.53.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -7898,9 +7914,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-loong64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.53.2" +"@rollup/rollup-linux-loong64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.53.3" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard @@ -7912,9 +7928,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-ppc64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.53.2" +"@rollup/rollup-linux-ppc64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.53.3" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard @@ -7926,9 +7942,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.53.2" +"@rollup/rollup-linux-riscv64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.53.3" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard @@ -7940,9 +7956,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.53.2" +"@rollup/rollup-linux-riscv64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.53.3" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard @@ -7954,9 +7970,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.53.2" +"@rollup/rollup-linux-s390x-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.53.3" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard @@ -7968,9 +7984,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.2" +"@rollup/rollup-linux-x64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.53.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -7982,9 +7998,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.53.2" +"@rollup/rollup-linux-x64-musl@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.53.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -7996,9 +8012,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-openharmony-arm64@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-openharmony-arm64@npm:4.53.2" +"@rollup/rollup-openharmony-arm64@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.53.3" conditions: os=openharmony & cpu=arm64 languageName: node linkType: hard @@ -8010,9 +8026,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.53.2" +"@rollup/rollup-win32-arm64-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.53.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -8024,9 +8040,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.53.2" +"@rollup/rollup-win32-ia32-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.53.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -8038,9 +8054,9 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-gnu@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-x64-gnu@npm:4.53.2" +"@rollup/rollup-win32-x64-gnu@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.53.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -8052,16 +8068,16 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.53.2": - version: 4.53.2 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.53.2" +"@rollup/rollup-win32-x64-msvc@npm:4.53.3": + version: 4.53.3 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.53.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@rollup/wasm-node@npm:^4.24.0": - version: 4.53.2 - resolution: "@rollup/wasm-node@npm:4.53.2" + version: 4.53.3 + resolution: "@rollup/wasm-node@npm:4.53.3" dependencies: "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" @@ -8070,7 +8086,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/a7bde0a00aa959c4618212ea275b1324915676da147dee63a176150eaf363f750ae7232a30f4921a7367f6e10a2d4312252339061809074a2629edc8474cf50c + checksum: 10c0/c59e243d92cce5ac339177a44b0aeb6efa28b8e5e583f69505fdfdc2b27441da88735d82bd00bfe2c28cda6e44beca7e185ea9a215bdd4d729814540dccfcb6a languageName: node linkType: hard @@ -8155,14 +8171,14 @@ __metadata: languageName: node linkType: hard -"@schematics/angular@npm:20.3.10": - version: 20.3.10 - resolution: "@schematics/angular@npm:20.3.10" +"@schematics/angular@npm:20.3.12": + version: 20.3.12 + resolution: "@schematics/angular@npm:20.3.12" dependencies: - "@angular-devkit/core": "npm:20.3.10" - "@angular-devkit/schematics": "npm:20.3.10" + "@angular-devkit/core": "npm:20.3.12" + "@angular-devkit/schematics": "npm:20.3.12" jsonc-parser: "npm:3.3.1" - checksum: 10c0/d6ec6ac4a9428bb8517adf183d3589429da1784332bd2829d8fead3f3105f5fad3324ad6669c268218fd7da3d147b1b034fc5a3c112df5af796808b3a56b2fa2 + checksum: 10c0/d1134b1e7a1fa0ce2eb65fcc6672895ddaf608e3319254ba40895893207579ce02001cd5e968b9d41cf0a49f3130df06b64d455f4bd4555f49bd9648a359a1b4 languageName: node linkType: hard @@ -8645,9 +8661,9 @@ __metadata: react-native-safe-area-context: "npm:^5.6.1" react-native-screens: "npm:4.15.3" react-native-sqlite-storage: "npm:^6.0.1" - react-native-svg: "npm:^15.14.0" + react-native-svg: "npm:15.14.0" react-native-svg-transformer: "npm:^1.5.1" - react-native-svg-web: "npm:^1.0.9" + react-native-svg-web: "npm:1.0.9" react-native-url-polyfill: "npm:^3.0.0" react-native-web: "npm:^0.19.0" react-native-webview: "npm:^13.16.0" @@ -13646,13 +13662,13 @@ __metadata: linkType: hard "@types/express@npm:*": - version: 5.0.5 - resolution: "@types/express@npm:5.0.5" + version: 5.0.6 + resolution: "@types/express@npm:5.0.6" dependencies: "@types/body-parser": "npm:*" "@types/express-serve-static-core": "npm:^5.0.0" - "@types/serve-static": "npm:^1" - checksum: 10c0/e96da91c121b43e0e84301a4cfe165908382d016234c11213aeb4f7401cf1a8694e16e3947d21b5c20b3389358d48d60a8c5c38657e041726ac9e8c884d2b8f0 + "@types/serve-static": "npm:^2" + checksum: 10c0/f1071e3389a955d4f9a38aae38634121c7cd9b3171ba4201ec9b56bd534aba07866839d278adc0dda05b942b05a901a02fd174201c3b1f70ce22b10b6c68f24b languageName: node linkType: hard @@ -14051,6 +14067,16 @@ __metadata: languageName: node linkType: hard +"@types/serve-static@npm:^2": + version: 2.2.0 + resolution: "@types/serve-static@npm:2.2.0" + dependencies: + "@types/http-errors": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/a3c6126bdbf9685e6c7dc03ad34639666eff32754e912adeed9643bf3dd3aa0ff043002a7f69039306e310d233eb8e160c59308f95b0a619f32366bbc48ee094 + languageName: node + linkType: hard + "@types/snarkjs@npm:^0.7.6, @types/snarkjs@npm:^0.7.7, @types/snarkjs@npm:^0.7.8": version: 0.7.9 resolution: "@types/snarkjs@npm:0.7.9" @@ -14169,23 +14195,23 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^8.0.0, @typescript-eslint/eslint-plugin@npm:^8.39.0, @typescript-eslint/eslint-plugin@npm:^8.44.0": - version: 8.47.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.47.0" + version: 8.48.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.48.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.47.0" - "@typescript-eslint/type-utils": "npm:8.47.0" - "@typescript-eslint/utils": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/type-utils": "npm:8.48.1" + "@typescript-eslint/utils": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" graphemer: "npm:^1.4.0" ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.47.0 + "@typescript-eslint/parser": ^8.48.1 eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/abd35affd21bc199e5e274b8e91e4225a127edf9cbe5047c465f859d7e393d07556ea42b40004e769ed59b18cfe25ab30942c854e23026d4f78d350eb71de03e + checksum: 10c0/aeb4692ac27ded73dce5ddba08d46f15d617651f629cdfc5e874dd4ac767eac0523807f1f4e51f6f80675efff78e5937690f1c58740b8cb92b44b87d757a6a1a languageName: node linkType: hard @@ -14208,31 +14234,31 @@ __metadata: linkType: hard "@typescript-eslint/parser@npm:^8.0.0, @typescript-eslint/parser@npm:^8.39.0, @typescript-eslint/parser@npm:^8.44.0": - version: 8.47.0 - resolution: "@typescript-eslint/parser@npm:8.47.0" + version: 8.48.1 + resolution: "@typescript-eslint/parser@npm:8.48.1" dependencies: - "@typescript-eslint/scope-manager": "npm:8.47.0" - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/typescript-estree": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8f8c9514ffe8c2fca9e2d1d3e9f9f8dd4cb55c14f0ef2f4f265a9180615ec98dc455d373893f76f86760f37e449fd0f4afda46c1211291b9736a05ba010912f2 + checksum: 10c0/54ec22c82cc631f56131bfed9747f8cadf52ab123463a406c5221f258f9533431c4a33ebe21ef178840d50235e69bb370d36aa2fd6a066e7223b38bfa41a1788 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/project-service@npm:8.47.0" +"@typescript-eslint/project-service@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/project-service@npm:8.48.1" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.47.0" - "@typescript-eslint/types": "npm:^8.47.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.48.1" + "@typescript-eslint/types": "npm:^8.48.1" debug: "npm:^4.3.4" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/6d7ec78c63d672178727b2d79856b470bd99e90d387335decec026931caa94c6907afc4690b884ce1eaca65f2d8b8f070a5c6e70e47971dfeec34dfd022933b8 + checksum: 10c0/0aeeea5e65d0f837bd9a47265f144f14ca72969d259ee929e63e06526b21f4e990e70c7bafdb2ceb3783373df7d9f5bae32c328a4c6403606f01339bc984b3f5 languageName: node linkType: hard @@ -14256,22 +14282,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/scope-manager@npm:8.47.0" +"@typescript-eslint/scope-manager@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/scope-manager@npm:8.48.1" dependencies: - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" - checksum: 10c0/2faa11e30724ca3a0648cdf83e0fc0fbdfcd89168fa0598d235a89604ee20c1f51ca2b70716f2bc0f1ea843de85976c0852de4549ba4649406d6b4acaf63f9c7 + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" + checksum: 10c0/16514823784cb598817b87d3d2b4fb618ab8b2378b3401a4c1160a5c914e51e7a925c3c1e7be73e0250e38390f0be70fecb3e0e0bdde7b243d74444933b95d3e languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.47.0, @typescript-eslint/tsconfig-utils@npm:^8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.47.0" +"@typescript-eslint/tsconfig-utils@npm:8.48.1, @typescript-eslint/tsconfig-utils@npm:^8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.48.1" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/d62b1840344912f916e590dad0cc5aa8816ce281ea9cac7485a28c4427ecbb88c52fa64b3d8cc520c7cab401ede8631e1b3176306cd3d496f756046e5d0c345f + checksum: 10c0/0d540f7ab3018ed1bab8f008c0d30229e0ea12806fdbf1c756572b5cf536a1f2a6c59ca2544c09bcd5b89dcfcf79e5f6be3d765e725492b9c7e4cd64fcecffc6 languageName: node linkType: hard @@ -14292,19 +14318,19 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/type-utils@npm:8.47.0" +"@typescript-eslint/type-utils@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/type-utils@npm:8.48.1" dependencies: - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/typescript-estree": "npm:8.47.0" - "@typescript-eslint/utils": "npm:8.47.0" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" + "@typescript-eslint/utils": "npm:8.48.1" debug: "npm:^4.3.4" ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/68311ad455ed7e6c86e5a561b1a54383b35bc6fec37a642afca1d72ddd74a944f3f5bea5aa493e161c0422f8042da442596455e451ef9204b1fce13a84b256e6 + checksum: 10c0/c98a71f7d374be249ecc7c9f20b0a867a73ad4f64e646a6bf9f2c1a5d74f0dc7bd59e9c94a0842068caa366af39ae0c550ede6d653b5c9418a0a587510bbb6d5 languageName: node linkType: hard @@ -14322,10 +14348,10 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.47.0, @typescript-eslint/types@npm:^8.0.0, @typescript-eslint/types@npm:^8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/types@npm:8.47.0" - checksum: 10c0/0d7f139b29f2581e905463c904b9aef37d8bc62f7b647cd3950d8b139a9fa6821faa5370f4975ccbbd2b2046a50629bd78729be390fb2663e6d103ecda22d794 +"@typescript-eslint/types@npm:8.48.1, @typescript-eslint/types@npm:^8.0.0, @typescript-eslint/types@npm:^8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/types@npm:8.48.1" + checksum: 10c0/366b8140f4c69319f1796b66b33c0c6e16eb6cbe543b9517003104e12ed143b620c1433ccf60d781a629d9433bd509a363c0c9d21fd438c17bb8840733af6caa languageName: node linkType: hard @@ -14366,23 +14392,22 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.47.0" +"@typescript-eslint/typescript-estree@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.48.1" dependencies: - "@typescript-eslint/project-service": "npm:8.47.0" - "@typescript-eslint/tsconfig-utils": "npm:8.47.0" - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/visitor-keys": "npm:8.47.0" + "@typescript-eslint/project-service": "npm:8.48.1" + "@typescript-eslint/tsconfig-utils": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/visitor-keys": "npm:8.48.1" debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" + tinyglobby: "npm:^0.2.15" ts-api-utils: "npm:^2.1.0" peerDependencies: typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/b63e72f85382f9022a52c606738400d599a3d27318ec48bad21039758aa6d74050fb2462aa61bac1de8bd5951bc24f775d1dde74140433c60e2943e045c21649 + checksum: 10c0/72c0802f74222160f6a13ebbd32b0d504142a2427678c87ea78fc32672c65fd522377d43b31a97c944cbd0aefc36b320bf02f04e47c44f2797d6ccd0a8aa30ec languageName: node linkType: hard @@ -14400,18 +14425,18 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.47.0, @typescript-eslint/utils@npm:^8.0.0": - version: 8.47.0 - resolution: "@typescript-eslint/utils@npm:8.47.0" +"@typescript-eslint/utils@npm:8.48.1, @typescript-eslint/utils@npm:^8.0.0": + version: 8.48.1 + resolution: "@typescript-eslint/utils@npm:8.48.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.7.0" - "@typescript-eslint/scope-manager": "npm:8.47.0" - "@typescript-eslint/types": "npm:8.47.0" - "@typescript-eslint/typescript-estree": "npm:8.47.0" + "@typescript-eslint/scope-manager": "npm:8.48.1" + "@typescript-eslint/types": "npm:8.48.1" + "@typescript-eslint/typescript-estree": "npm:8.48.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <6.0.0" - checksum: 10c0/8774f4e5748bdcefad32b4d06aee589208f4e78500c6c39bd6819b9602fc4212ed69fd774ccd2ad847f87a6bc0092d4db51e440668e7512d366969ab038a74f5 + checksum: 10c0/1775ac217b578f52d6c1e85258098f8ef764d04830c6ce11043b434860da80f1a5f7cc1b9f2e0a63de161e83b8d876f7ae8362d7644d5d8e636e60ad5eeff4e2 languageName: node linkType: hard @@ -14453,13 +14478,13 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.47.0": - version: 8.47.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.47.0" +"@typescript-eslint/visitor-keys@npm:8.48.1": + version: 8.48.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.48.1" dependencies: - "@typescript-eslint/types": "npm:8.47.0" + "@typescript-eslint/types": "npm:8.48.1" eslint-visitor-keys: "npm:^4.2.1" - checksum: 10c0/14aedfdb5bf9b4c310b4a64cb62af94f35515af44911bae266205138165b3a8dc2cd57db3255ec27531dfa3552ba79a700ec8d745b0d18bca220a7f9f437ad06 + checksum: 10c0/ecf4078ce63c296dd340672b516f42bf452534c75af7e7d6c1a3f32b143ff184cb3a4071d7429a9f870371ff9091a790acce28b85ce3c450bfc60554c79d43ca languageName: node linkType: hard @@ -15571,7 +15596,7 @@ __metadata: languageName: node linkType: hard -"abitype@npm:^1.0.2": +"abitype@npm:^1.0.2, abitype@npm:^1.0.9": version: 1.2.0 resolution: "abitype@npm:1.2.0" peerDependencies: @@ -15586,21 +15611,6 @@ __metadata: languageName: node linkType: hard -"abitype@npm:^1.0.9": - version: 1.1.2 - resolution: "abitype@npm:1.1.2" - peerDependencies: - typescript: ">=5.0.4" - zod: ^3.22.0 || ^4.0.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - checksum: 10c0/5b1aca1fedab8d53a97c800bb84cf85f22db6b5bbd5996fc061fc87891302bc935d3cdb0fc09f204d62dbb54ea6ba0ea70895470a21b64fd3bbb5b5f30b47af4 - languageName: node - linkType: hard - "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -16755,8 +16765,8 @@ __metadata: linkType: hard "bare-fs@npm:^4.0.1": - version: 4.5.1 - resolution: "bare-fs@npm:4.5.1" + version: 4.5.2 + resolution: "bare-fs@npm:4.5.2" dependencies: bare-events: "npm:^2.5.4" bare-path: "npm:^3.0.0" @@ -16768,7 +16778,7 @@ __metadata: peerDependenciesMeta: bare-buffer: optional: true - checksum: 10c0/ea977c101802dd1fcde80e8847443e584a9f1a8b13f688ddc2658a989cca6762c789db66b0de035a2fcc3d7497dbcb361986383bbbdcf73bb6bb8df1342eef01 + checksum: 10c0/b623c76d264017491667618055fdcebd5d3efe87768c06817bf29f912b77ce7f03f851eb7dc56810f5266f03927efafceded6b0911042d48dd3013b86c6bb79b languageName: node linkType: hard @@ -16838,11 +16848,11 @@ __metadata: linkType: hard "baseline-browser-mapping@npm:^2.8.25": - version: 2.8.29 - resolution: "baseline-browser-mapping@npm:2.8.29" + version: 2.8.32 + resolution: "baseline-browser-mapping@npm:2.8.32" bin: baseline-browser-mapping: dist/cli.js - checksum: 10c0/bb5f082d91b59c885504fd4ff999bd890c39e8b818afe00f15f0dfcdb7f7b80a655ad57429563091c0d3722649ba4a2f023ca3ede02e022b12ba6b0322a3314e + checksum: 10c0/6c4aa0338ad177e946a27412de11769fb6474389a59cc03e13e0538d7285a94052a11525d46bb605ddb913a0c8a1180292d6f05cd4d6bc05bbf597c26bf5ce66 languageName: node linkType: hard @@ -17009,40 +17019,40 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 - languageName: node - linkType: hard - -"body-parser@npm:^2.2.0": - version: 2.2.0 - resolution: "body-parser@npm:2.2.0" +"body-parser@npm:^2.2.1": + version: 2.2.1 + resolution: "body-parser@npm:2.2.1" dependencies: bytes: "npm:^3.1.2" content-type: "npm:^1.0.5" - debug: "npm:^4.4.0" + debug: "npm:^4.4.3" http-errors: "npm:^2.0.0" - iconv-lite: "npm:^0.6.3" + iconv-lite: "npm:^0.7.0" on-finished: "npm:^2.4.1" qs: "npm:^6.14.0" - raw-body: "npm:^3.0.0" - type-is: "npm:^2.0.0" - checksum: 10c0/a9ded39e71ac9668e2211afa72e82ff86cc5ef94de1250b7d1ba9cc299e4150408aaa5f1e8b03dd4578472a3ce6d1caa2a23b27a6c18e526e48b4595174c116c + raw-body: "npm:^3.0.1" + type-is: "npm:^2.0.1" + checksum: 10c0/ce9608cff4114a908c09e8f57c7b358cd6fef66100320d01244d4c141448d7a6710c4051cc9d6191f8c6b3c7fa0f5b040c7aa1b6bbeb5462e27e668e64cb15bd + languageName: node + linkType: hard + +"body-parser@npm:~1.20.3": + version: 1.20.4 + resolution: "body-parser@npm:1.20.4" + dependencies: + bytes: "npm:~3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:~1.2.0" + http-errors: "npm:~2.0.1" + iconv-lite: "npm:~0.4.24" + on-finished: "npm:~2.4.1" + qs: "npm:~6.14.0" + raw-body: "npm:~2.5.3" + type-is: "npm:~1.6.18" + unpipe: "npm:~1.0.0" + checksum: 10c0/569c1e896297d1fcd8f34026c8d0ab70b90d45343c15c5d8dff5de2bad08125fc1e2f8c2f3f4c1ac6c0caaad115218202594d37dcb8d89d9b5dcae1c2b736aa9 languageName: node linkType: hard @@ -17305,7 +17315,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2, bytes@npm:^3.1.2": +"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e @@ -17347,12 +17357,12 @@ __metadata: linkType: hard "cacache@npm:^20.0.1": - version: 20.0.2 - resolution: "cacache@npm:20.0.2" + version: 20.0.3 + resolution: "cacache@npm:20.0.3" dependencies: - "@npmcli/fs": "npm:^4.0.0" + "@npmcli/fs": "npm:^5.0.0" fs-minipass: "npm:^3.0.0" - glob: "npm:^11.0.3" + glob: "npm:^13.0.0" lru-cache: "npm:^11.1.0" minipass: "npm:^7.0.3" minipass-collect: "npm:^2.0.1" @@ -17360,8 +17370,8 @@ __metadata: minipass-pipeline: "npm:^1.2.4" p-map: "npm:^7.0.2" ssri: "npm:^13.0.0" - unique-filename: "npm:^4.0.0" - checksum: 10c0/11db56f35167f66661e63901427a198775ecf431583c7bfef1dd2fcb970ac826d7cec725ba39b7f389bf8fd3d8ea3290b22c14630e875df913d36e35cdd99df6 + unique-filename: "npm:^5.0.0" + checksum: 10c0/c7da1ca694d20e8f8aedabd21dc11518f809a7d2b59aa76a1fc655db5a9e62379e465c157ddd2afe34b19230808882288effa6911b2de26a088a6d5645123462 languageName: node linkType: hard @@ -17473,9 +17483,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001754": - version: 1.0.30001756 - resolution: "caniuse-lite@npm:1.0.30001756" - checksum: 10c0/863df07bd8d5139371ce7d4e582f03fef38141726282dcd532421bbd95ea298c7f953a8e1a9790db89ca1816bd8ce3cce638a66361b769dd1f2dc8d4c721d546 + version: 1.0.30001757 + resolution: "caniuse-lite@npm:1.0.30001757" + checksum: 10c0/3ccb71fa2bf1f8c96ff1bf9b918b08806fed33307e20a3ce3259155fda131eaf96cfcd88d3d309c8fd7f8285cc71d89a3b93648a1c04814da31c301f98508d42 languageName: node linkType: hard @@ -18407,7 +18417,14 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4": +"content-disposition@npm:^1.0.0": + version: 1.0.1 + resolution: "content-disposition@npm:1.0.1" + checksum: 10c0/bd7ff1fe8d2542d3a2b9a29428cc3591f6ac27bb5595bba2c69664408a68f9538b14cbd92479796ea835b317a09a527c8c7209c4200381dedb0c34d3b658849e + languageName: node + linkType: hard + +"content-disposition@npm:~0.5.4": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -18416,13 +18433,6 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:^1.0.0": - version: 1.0.1 - resolution: "content-disposition@npm:1.0.1" - checksum: 10c0/bd7ff1fe8d2542d3a2b9a29428cc3591f6ac27bb5595bba2c69664408a68f9538b14cbd92479796ea835b317a09a527c8c7209c4200381dedb0c34d3b658849e - languageName: node - linkType: hard - "content-type@npm:^1.0.5, content-type@npm:~1.0.4, content-type@npm:~1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" @@ -18451,13 +18461,6 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 - languageName: node - linkType: hard - "cookie-signature@npm:^1.2.1": version: 1.2.2 resolution: "cookie-signature@npm:1.2.2" @@ -18465,10 +18468,10 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.7.1": - version: 0.7.1 - resolution: "cookie@npm:0.7.1" - checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde +"cookie-signature@npm:~1.0.6": + version: 1.0.7 + resolution: "cookie-signature@npm:1.0.7" + checksum: 10c0/e7731ad2995ae2efeed6435ec1e22cdd21afef29d300c27281438b1eab2bae04ef0d1a203928c0afec2cee72aa36540b8747406ebe308ad23c8e8cc3c26c9c51 languageName: node linkType: hard @@ -18479,7 +18482,7 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.7.1": +"cookie@npm:^0.7.1, cookie@npm:~0.7.1": version: 0.7.2 resolution: "cookie@npm:0.7.2" checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 @@ -19184,7 +19187,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0, depd@npm:^2.0.0": +"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c @@ -19219,7 +19222,7 @@ __metadata: languageName: node linkType: hard -"destroy@npm:1.2.0": +"destroy@npm:1.2.0, destroy@npm:~1.2.0": version: 1.2.0 resolution: "destroy@npm:1.2.0" checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 @@ -19539,9 +19542,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.249": - version: 1.5.256 - resolution: "electron-to-chromium@npm:1.5.256" - checksum: 10c0/7a8da43a97662db224848e77550bc7cf765b9e584fb32e4ce60ad477b4fe424c5577b5d418730dd51269e6ace623264f6efdf7a86d306ff35a72f89d3dbe6c05 + version: 1.5.263 + resolution: "electron-to-chromium@npm:1.5.263" + checksum: 10c0/d9ba38c5e87f4f1c78e64c7dcc2a32f764664cdbab3c576f23cb3d66a1c3ca1836ecfa00768ab4cd921a0832d09f65555f86eadb926f2cfd3fe93d6c57b8f583 languageName: node linkType: hard @@ -19696,11 +19699,11 @@ __metadata: linkType: hard "envinfo@npm:^7.13.0": - version: 7.20.0 - resolution: "envinfo@npm:7.20.0" + version: 7.21.0 + resolution: "envinfo@npm:7.21.0" bin: envinfo: dist/cli.js - checksum: 10c0/2afa8085f9952d3afe6893098ef9cadc991aa38ed5ed5a0fd953ddb72a7543f425fbf46e8c02c4fa0ecad3c03a93381b0a212f799c2a8db8dc8886d8d7d5dc05 + checksum: 10c0/4170127ca72dbf85be2c114f85558bd08178e8a43b394951ba9fd72d067c6fea3374df45a7b040e39e4e7b30bdd268e5bdf8661d99ae28302c2a88dedb41b5e6 languageName: node linkType: hard @@ -20188,7 +20191,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.25.0, esbuild@npm:~0.25.0": +"esbuild@npm:^0.25.0": version: 0.25.12 resolution: "esbuild@npm:0.25.12" dependencies: @@ -20277,7 +20280,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.27.0": +"esbuild@npm:^0.27.0, esbuild@npm:~0.27.0": version: 0.27.0 resolution: "esbuild@npm:0.27.0" dependencies: @@ -20671,8 +20674,8 @@ __metadata: linkType: hard "eslint-plugin-jest@npm:^29.1.0": - version: 29.1.0 - resolution: "eslint-plugin-jest@npm:29.1.0" + version: 29.2.1 + resolution: "eslint-plugin-jest@npm:29.2.1" dependencies: "@typescript-eslint/utils": "npm:^8.0.0" peerDependencies: @@ -20684,7 +20687,7 @@ __metadata: optional: true jest: optional: true - checksum: 10c0/3fe5d4c35279025eb96bfb0adfad1b0eca03f5987db96adbe656279b5b4ed3eaa5240dd1876e54e7ea98b28acbd451256f8c7613cf2d2d6d3387f6360fcb3704 + checksum: 10c0/9115e35a537d458b37236c0ebba2ce357226d24cc0a2345c29fd8b14a63681343fc71ef0d4f0bbb47575f5c6a76b21da6dee183db4d8e0ccf9d8f4bfbb8c743f languageName: node linkType: hard @@ -20803,13 +20806,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.0.2": - version: 8.4.0 - resolution: "eslint-scope@npm:8.4.0" +"eslint-scope@npm:^9.0.0": + version: 9.0.0 + resolution: "eslint-scope@npm:9.0.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 + checksum: 10c0/8a207069ca60359b49d365d6ad4ce357f618d863e1799deaa8a899c02e835ffc20044b655fbe20dfe48cc6d648fcef55e19446c0778357abe5c062b0bc6ae261 languageName: node linkType: hard @@ -21163,8 +21166,8 @@ __metadata: linkType: hard "ethers@npm:^6.10.0, ethers@npm:^6.11.0, ethers@npm:^6.12.1, ethers@npm:^6.13.5, ethers@npm:^6.14.0, ethers@npm:^6.14.4": - version: 6.15.0 - resolution: "ethers@npm:6.15.0" + version: 6.16.0 + resolution: "ethers@npm:6.16.0" dependencies: "@adraffy/ens-normalize": "npm:1.10.1" "@noble/curves": "npm:1.2.0" @@ -21173,7 +21176,7 @@ __metadata: aes-js: "npm:4.0.0-beta.5" tslib: "npm:2.7.0" ws: "npm:8.17.1" - checksum: 10c0/0a4581b662fe46a889a524d3aba43dc6f0ac59b3ae08dce678ee4b5799aab4906109ab24684c9644deedfc9d6e79b59faccecbeda9b6b7ceb085724d596a49e9 + checksum: 10c0/65c0ff7016b1592b1961c3b68508902b89fc75e1ad025bab3a722df1b5699fd077551875a7285e65b2d0cfea9a85b2459bb84010a0fa4e4494d231848aee3a73 languageName: node linkType: hard @@ -21359,55 +21362,56 @@ __metadata: linkType: hard "express@npm:^4.21.2": - version: 4.21.2 - resolution: "express@npm:4.21.2" + version: 4.22.1 + resolution: "express@npm:4.22.1" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" + body-parser: "npm:~1.20.3" + content-disposition: "npm:~0.5.4" content-type: "npm:~1.0.4" - cookie: "npm:0.7.1" - cookie-signature: "npm:1.0.6" + cookie: "npm:~0.7.1" + cookie-signature: "npm:~1.0.6" debug: "npm:2.6.9" depd: "npm:2.0.0" encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" etag: "npm:~1.8.1" - finalhandler: "npm:1.3.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" + finalhandler: "npm:~1.3.1" + fresh: "npm:~0.5.2" + http-errors: "npm:~2.0.0" merge-descriptors: "npm:1.0.3" methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" + on-finished: "npm:~2.4.1" parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.12" + path-to-regexp: "npm:~0.1.12" proxy-addr: "npm:~2.0.7" - qs: "npm:6.13.0" + qs: "npm:~6.14.0" range-parser: "npm:~1.2.1" safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.2" + send: "npm:~0.19.0" + serve-static: "npm:~1.16.2" setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" + statuses: "npm:~2.0.1" type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f + checksum: 10c0/ea57f512ab1e05e26b53a14fd432f65a10ec735ece342b37d0b63a7bcb8d337ffbb830ecb8ca15bcdfe423fbff88cea09786277baff200e8cde3ab40faa665cd languageName: node linkType: hard "express@npm:^5.0.1": - version: 5.1.0 - resolution: "express@npm:5.1.0" + version: 5.2.1 + resolution: "express@npm:5.2.1" dependencies: accepts: "npm:^2.0.0" - body-parser: "npm:^2.2.0" + body-parser: "npm:^2.2.1" content-disposition: "npm:^1.0.0" content-type: "npm:^1.0.5" cookie: "npm:^0.7.1" cookie-signature: "npm:^1.2.1" debug: "npm:^4.4.0" + depd: "npm:^2.0.0" encodeurl: "npm:^2.0.0" escape-html: "npm:^1.0.3" etag: "npm:^1.8.1" @@ -21428,7 +21432,7 @@ __metadata: statuses: "npm:^2.0.1" type-is: "npm:^2.0.1" vary: "npm:^1.1.2" - checksum: 10c0/80ce7c53c5f56887d759b94c3f2283e2e51066c98d4b72a4cc1338e832b77f1e54f30d0239cc10815a0f849bdb753e6a284d2fa48d4ab56faf9c501f55d751d6 + checksum: 10c0/45e8c841ad188a41402ddcd1294901e861ee0819f632fb494f2ed344ef9c43315d294d443fb48d594e6586a3b779785120f43321417adaef8567316a55072949 languageName: node linkType: hard @@ -21756,24 +21760,9 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.3.1": - version: 1.3.1 - resolution: "finalhandler@npm:1.3.1" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f - languageName: node - linkType: hard - "finalhandler@npm:^2.1.0": - version: 2.1.0 - resolution: "finalhandler@npm:2.1.0" + version: 2.1.1 + resolution: "finalhandler@npm:2.1.1" dependencies: debug: "npm:^4.4.0" encodeurl: "npm:^2.0.0" @@ -21781,7 +21770,22 @@ __metadata: on-finished: "npm:^2.4.1" parseurl: "npm:^1.3.3" statuses: "npm:^2.0.1" - checksum: 10c0/da0bbca6d03873472ee890564eb2183f4ed377f25f3628a0fc9d16dac40bed7b150a0d82ebb77356e4c6d97d2796ad2dba22948b951dddee2c8768b0d1b9fb1f + checksum: 10c0/6bd664e21b7b2e79efcaace7d1a427169f61cce048fae68eb56290e6934e676b78e55d89f5998c5508871345bc59a61f47002dc505dc7288be68cceac1b701e2 + languageName: node + linkType: hard + +"finalhandler@npm:~1.3.1": + version: 1.3.2 + resolution: "finalhandler@npm:1.3.2" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:~2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:~2.0.2" + unpipe: "npm:~1.0.0" + checksum: 10c0/435a4fd65e4e4e4c71bb5474980090b73c353a123dd415583f67836bdd6516e528cf07298e219a82b94631dee7830eae5eece38d3c178073cf7df4e8c182f413 languageName: node linkType: hard @@ -21949,9 +21953,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.291.0 - resolution: "flow-parser@npm:0.291.0" - checksum: 10c0/7db904503187ce26e13bb4e86ce76ce913e54f48fca94f8fc305f9521c9fd75c29d5b70b5701640bb233c4ca0f4febe603ce5e564ffa971f0ddfad5d08f030ba + version: 0.292.0 + resolution: "flow-parser@npm:0.292.0" + checksum: 10c0/99734b7e301382bdffa3bf978d2d4d4b267bf9e9d1fb2e28b6166f21a3851a31961751f17d8cdfb76fa035f6ff0d8851eea8cd562781da4585dbb77812c23e75 languageName: node linkType: hard @@ -22004,7 +22008,7 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^3.1.0, foreground-child@npm:^3.3.1": +"foreground-child@npm:^3.1.0": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" dependencies: @@ -22110,7 +22114,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a @@ -22516,19 +22520,14 @@ __metadata: languageName: node linkType: hard -"glob@npm:^11.0.3": - version: 11.1.0 - resolution: "glob@npm:11.1.0" +"glob@npm:^13.0.0": + version: 13.0.0 + resolution: "glob@npm:13.0.0" dependencies: - foreground-child: "npm:^3.3.1" - jackspeak: "npm:^4.1.1" minimatch: "npm:^10.1.1" minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" path-scurry: "npm:^2.0.0" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/1ceae07f23e316a6fa74581d9a74be6e8c2e590d2f7205034dd5c0435c53f5f7b712c2be00c3b65bf0a49294a1c6f4b98cd84c7637e29453b5aa13b79f1763a2 + checksum: 10c0/8e2f5821f3f7c312dd102e23a15b80c79e0837a9872784293ba2e15ec73b3f3749a49a42a31bfcb4e52c84820a474e92331c2eebf18819d20308f5c33876630a languageName: node linkType: hard @@ -22782,12 +22781,12 @@ __metadata: linkType: hard "hardhat@npm:^2.22.6": - version: 2.27.0 - resolution: "hardhat@npm:2.27.0" + version: 2.27.1 + resolution: "hardhat@npm:2.27.1" dependencies: "@ethereumjs/util": "npm:^9.1.0" "@ethersproject/abi": "npm:^5.1.2" - "@nomicfoundation/edr": "npm:^0.12.0-next.7" + "@nomicfoundation/edr": "npm:0.12.0-next.16" "@nomicfoundation/solidity-analyzer": "npm:^0.1.0" "@sentry/node": "npm:^5.18.1" adm-zip: "npm:^0.4.16" @@ -22834,7 +22833,7 @@ __metadata: optional: true bin: hardhat: internal/cli/bootstrap.js - checksum: 10c0/399572889bb4cd41da457bccbcf0ec991e46a79d5de8ae9743b25118ca41fbb0f4740c1797d5d9499206f8cc2c63a0bea3af9b1e88c0b6526cc15fe64273459c + checksum: 10c0/e6f3e47f906ba9aef1525de801b62e6c50af2ca57f1104af700c8e4646ce76d6dd1ecca049bec3f2c1501f98e141bc905e007f10528d493fb1c4cb0bd27cc3f2 languageName: node linkType: hard @@ -23145,7 +23144,7 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:2.0.0, http-errors@npm:^2.0.0": +"http-errors@npm:2.0.0": version: 2.0.0 resolution: "http-errors@npm:2.0.0" dependencies: @@ -23158,6 +23157,19 @@ __metadata: languageName: node linkType: hard +"http-errors@npm:^2.0.0, http-errors@npm:~2.0.0, http-errors@npm:~2.0.1": + version: 2.0.1 + resolution: "http-errors@npm:2.0.1" + dependencies: + depd: "npm:~2.0.0" + inherits: "npm:~2.0.4" + setprototypeof: "npm:~1.2.0" + statuses: "npm:~2.0.2" + toidentifier: "npm:~1.0.1" + checksum: 10c0/fb38906cef4f5c83952d97661fe14dc156cb59fe54812a42cd448fa57b5c5dfcb38a40a916957737bd6b87aab257c0648d63eb5b6a9ca9f548e105b6072712d4 + languageName: node + linkType: hard + "http-errors@npm:~1.6.2": version: 1.6.3 resolution: "http-errors@npm:1.6.3" @@ -23328,15 +23340,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - "iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -23346,7 +23349,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.7.0, iconv-lite@npm:^0.7.0": +"iconv-lite@npm:^0.7.0, iconv-lite@npm:~0.7.0": version: 0.7.0 resolution: "iconv-lite@npm:0.7.0" dependencies: @@ -23355,6 +23358,15 @@ __metadata: languageName: node linkType: hard +"iconv-lite@npm:~0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + "icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": version: 5.1.0 resolution: "icss-utils@npm:5.1.0" @@ -23612,9 +23624,9 @@ __metadata: linkType: hard "ipaddr.js@npm:^2.1.0": - version: 2.2.0 - resolution: "ipaddr.js@npm:2.2.0" - checksum: 10c0/e4ee875dc1bd92ac9d27e06cfd87cdb63ca786ff9fd7718f1d4f7a8ef27db6e5d516128f52d2c560408cbb75796ac2f83ead669e73507c86282d45f84c5abbb6 + version: 2.3.0 + resolution: "ipaddr.js@npm:2.3.0" + checksum: 10c0/084bab99e2f6875d7a62adc3325e1c64b038a12c9521e35fb967b5e263a8b3afb1b8884dd77c276092331f5d63298b767491e10997ef147c62da01b143780bbd languageName: node linkType: hard @@ -24296,15 +24308,6 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^4.1.1": - version: 4.1.1 - resolution: "jackspeak@npm:4.1.1" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - checksum: 10c0/84ec4f8e21d6514db24737d9caf65361511f75e5e424980eebca4199f400874f45e562ac20fa8aeb1dd20ca2f3f81f0788b6e9c3e64d216a5794fd6f30e0e042 - languageName: node - linkType: hard - "jake@npm:^10.8.5": version: 10.9.4 resolution: "jake@npm:10.9.4" @@ -25435,8 +25438,8 @@ __metadata: linkType: hard "knip@npm:^5.63.1": - version: 5.70.0 - resolution: "knip@npm:5.70.0" + version: 5.71.0 + resolution: "knip@npm:5.71.0" dependencies: "@nodelib/fs.walk": "npm:^1.2.3" fast-glob: "npm:^3.3.3" @@ -25456,7 +25459,7 @@ __metadata: bin: knip: bin/knip.js knip-bun: bin/knip-bun.js - checksum: 10c0/b1b9631775e0b3f49ef9cdd0ac82287827324397d364e6e0e72eaa7422d95edf1feac60baa333fd685c5ad37f9f4f4862269d6dbe4bb4452518960f4835ab3ab + checksum: 10c0/954a899343afe2bc495da205dceeecf0ff665f26ceb44424e465e4246ce7ee72c204e679bc375b9095443999d383b838e37dd2a9868d8884e4096be3dca66a7e languageName: node linkType: hard @@ -26050,9 +26053,9 @@ __metadata: linkType: hard "lru-cache@npm:^11.0.0, lru-cache@npm:^11.1.0, lru-cache@npm:^11.2.1": - version: 11.2.2 - resolution: "lru-cache@npm:11.2.2" - checksum: 10c0/72d7831bbebc85e2bdefe01047ee5584db69d641c48d7a509e86f66f6ee111b30af7ec3bd68a967d47b69a4b1fa8bbf3872630bd06a63b6735e6f0a5f1c8e83d + version: 11.2.4 + resolution: "lru-cache@npm:11.2.4" + checksum: 10c0/4a24f9b17537619f9144d7b8e42cd5a225efdfd7076ebe7b5e7dc02b860a818455201e67fbf000765233fe7e339d3c8229fc815e9b58ee6ede511e07608c19b2 languageName: node linkType: hard @@ -26104,7 +26107,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.12, magic-string@npm:^0.30.17": +"magic-string@npm:^0.30.12, magic-string@npm:^0.30.17, magic-string@npm:^0.30.21": version: 0.30.21 resolution: "magic-string@npm:0.30.21" dependencies: @@ -26263,8 +26266,8 @@ __metadata: linkType: hard "memfs@npm:^4.43.1, memfs@npm:^4.6.0": - version: 4.51.0 - resolution: "memfs@npm:4.51.0" + version: 4.51.1 + resolution: "memfs@npm:4.51.1" dependencies: "@jsonjoy.com/json-pack": "npm:^1.11.0" "@jsonjoy.com/util": "npm:^1.9.0" @@ -26272,7 +26275,7 @@ __metadata: thingies: "npm:^2.5.0" tree-dump: "npm:^1.0.3" tslib: "npm:^2.0.0" - checksum: 10c0/a5f098c3543ddc6dda952fdfeb4178244b2080e4f2244bf84a8946646fae8ba2c7354d44ac5ec9b6bc812ca77258f88da37833a6458d6972e94bf633680ff5cb + checksum: 10c0/b039121dd2c6a93b2b3835042a1780d70347d25d3f983998a91e38a07e9ea1838ace3a5b0b7b8437efef6c64eea668f62efb25aeeed72a595055f6c449ada402 languageName: node linkType: hard @@ -26675,11 +26678,11 @@ __metadata: linkType: hard "mime-types@npm:^3.0.0, mime-types@npm:^3.0.1": - version: 3.0.1 - resolution: "mime-types@npm:3.0.1" + version: 3.0.2 + resolution: "mime-types@npm:3.0.2" dependencies: mime-db: "npm:^1.54.0" - checksum: 10c0/bd8c20d3694548089cf229016124f8f40e6a60bbb600161ae13e45f793a2d5bb40f96bbc61f275836696179c77c1d6bf4967b2a75e0a8ad40fe31f4ed5be4da5 + checksum: 10c0/35a0dd1035d14d185664f346efcdb72e93ef7a9b6e9ae808bd1f6358227010267fab52657b37562c80fc888ff76becb2b2938deb5e730818b7983bf8bd359767 languageName: node linkType: hard @@ -27545,9 +27548,9 @@ __metadata: linkType: hard "node-forge@npm:^1, node-forge@npm:^1.3.1": - version: 1.3.1 - resolution: "node-forge@npm:1.3.1" - checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8 + version: 1.3.3 + resolution: "node-forge@npm:1.3.3" + checksum: 10c0/9c6f53b0ebb34865872cf62a35b0aef8fb337e2efc766626c2e3a0040f4c02933bf29a62ba999eb44a2aca73bd512c4eda22705a47b94654b9fb8ed53db9a1db languageName: node linkType: hard @@ -28017,7 +28020,7 @@ __metadata: languageName: node linkType: hard -"ofetch@npm:^1.5.0": +"ofetch@npm:^1.5.1": version: 1.5.1 resolution: "ofetch@npm:1.5.1" dependencies: @@ -28035,7 +28038,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1, on-finished@npm:^2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:^2.4.1, on-finished@npm:~2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -28301,28 +28304,29 @@ __metadata: linkType: hard "oxc-resolver@npm:^11.13.2": - version: 11.13.2 - resolution: "oxc-resolver@npm:11.13.2" + version: 11.14.2 + resolution: "oxc-resolver@npm:11.14.2" dependencies: - "@oxc-resolver/binding-android-arm-eabi": "npm:11.13.2" - "@oxc-resolver/binding-android-arm64": "npm:11.13.2" - "@oxc-resolver/binding-darwin-arm64": "npm:11.13.2" - "@oxc-resolver/binding-darwin-x64": "npm:11.13.2" - "@oxc-resolver/binding-freebsd-x64": "npm:11.13.2" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.13.2" - "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.13.2" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.13.2" - "@oxc-resolver/binding-linux-arm64-musl": "npm:11.13.2" - "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.13.2" - "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.13.2" - "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.13.2" - "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.13.2" - "@oxc-resolver/binding-linux-x64-gnu": "npm:11.13.2" - "@oxc-resolver/binding-linux-x64-musl": "npm:11.13.2" - "@oxc-resolver/binding-wasm32-wasi": "npm:11.13.2" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.13.2" - "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.13.2" - "@oxc-resolver/binding-win32-x64-msvc": "npm:11.13.2" + "@oxc-resolver/binding-android-arm-eabi": "npm:11.14.2" + "@oxc-resolver/binding-android-arm64": "npm:11.14.2" + "@oxc-resolver/binding-darwin-arm64": "npm:11.14.2" + "@oxc-resolver/binding-darwin-x64": "npm:11.14.2" + "@oxc-resolver/binding-freebsd-x64": "npm:11.14.2" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:11.14.2" + "@oxc-resolver/binding-linux-arm-musleabihf": "npm:11.14.2" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:11.14.2" + "@oxc-resolver/binding-linux-arm64-musl": "npm:11.14.2" + "@oxc-resolver/binding-linux-ppc64-gnu": "npm:11.14.2" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:11.14.2" + "@oxc-resolver/binding-linux-riscv64-musl": "npm:11.14.2" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:11.14.2" + "@oxc-resolver/binding-linux-x64-gnu": "npm:11.14.2" + "@oxc-resolver/binding-linux-x64-musl": "npm:11.14.2" + "@oxc-resolver/binding-openharmony-arm64": "npm:11.14.2" + "@oxc-resolver/binding-wasm32-wasi": "npm:11.14.2" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:11.14.2" + "@oxc-resolver/binding-win32-ia32-msvc": "npm:11.14.2" + "@oxc-resolver/binding-win32-x64-msvc": "npm:11.14.2" dependenciesMeta: "@oxc-resolver/binding-android-arm-eabi": optional: true @@ -28354,6 +28358,8 @@ __metadata: optional: true "@oxc-resolver/binding-linux-x64-musl": optional: true + "@oxc-resolver/binding-openharmony-arm64": + optional: true "@oxc-resolver/binding-wasm32-wasi": optional: true "@oxc-resolver/binding-win32-arm64-msvc": @@ -28362,7 +28368,7 @@ __metadata: optional: true "@oxc-resolver/binding-win32-x64-msvc": optional: true - checksum: 10c0/deff907c7111d3ecbaa9a964f70b319a0edfdfec8833440a1e07769210a2f83390780fe0115185ab435f2a6760beebc483645fd8766db70fa3da15993a0ccbd3 + checksum: 10c0/506a582de2268200c3db5f5e62fa86e28baf151742eb93e581fce5052bccf8469677dcdad0873104555a0a50ff7b7849a544aca7bac9a4f8075c340f037200cd languageName: node linkType: hard @@ -28749,13 +28755,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.12": - version: 0.1.12 - resolution: "path-to-regexp@npm:0.1.12" - checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b - languageName: node - linkType: hard - "path-to-regexp@npm:^8.0.0": version: 8.3.0 resolution: "path-to-regexp@npm:8.3.0" @@ -28763,6 +28762,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:~0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -28926,9 +28932,9 @@ __metadata: linkType: hard "pkce-challenge@npm:^5.0.0": - version: 5.0.0 - resolution: "pkce-challenge@npm:5.0.0" - checksum: 10c0/c6706d627fdbb6f22bf8cc5d60d96d6b6a7bb481399b336a3d3f4e9bfba3e167a2c32f8ec0b5e74be686a0ba3bcc9894865d4c2dd1b91cea4c05dba1f28602c3 + version: 5.0.1 + resolution: "pkce-challenge@npm:5.0.1" + checksum: 10c0/207f4cb976682f27e8324eb49cf71937c98fbb8341a0b8f6142bc6f664825b30e049a54a21b5c034e823ee3c3d412f10d74bd21de78e17452a6a496c2991f57c languageName: node linkType: hard @@ -29142,12 +29148,12 @@ __metadata: linkType: hard "postcss-selector-parser@npm:^7.0.0": - version: 7.1.0 - resolution: "postcss-selector-parser@npm:7.1.0" + version: 7.1.1 + resolution: "postcss-selector-parser@npm:7.1.1" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa + checksum: 10c0/02d3b1589ddcddceed4b583b098b95a7266dacd5135f041e5d913ebb48e874fd333a36e564cc9a2ec426a464cb18db11cb192ac76247aced5eba8c951bf59507 languageName: node linkType: hard @@ -29235,11 +29241,11 @@ __metadata: linkType: hard "prettier@npm:^3.5.3, prettier@npm:^3.6.2": - version: 3.6.2 - resolution: "prettier@npm:3.6.2" + version: 3.7.4 + resolution: "prettier@npm:3.7.4" bin: prettier: bin/prettier.cjs - checksum: 10c0/488cb2f2b99ec13da1e50074912870217c11edaddedeadc649b1244c749d15ba94e846423d062e2c4c9ae683e2d65f754de28889ba06e697ac4f988d44f45812 + checksum: 10c0/9675d2cd08eacb1faf1d1a2dbfe24bfab6a912b059fc9defdb380a408893d88213e794a40a2700bd29b140eb3172e0b07c852853f6e22f16f3374659a1a13389 languageName: node linkType: hard @@ -29296,9 +29302,9 @@ __metadata: linkType: hard "proc-log@npm:^6.0.0": - version: 6.0.0 - resolution: "proc-log@npm:6.0.0" - checksum: 10c0/40c5e2b4c55e395a3bd72e38cba9c26e58598a1f4844fa6a115716d5231a0919f46aa8e351147035d91583ad39a794593615078c948bc001fe3beb99276be776 + version: 6.1.0 + resolution: "proc-log@npm:6.1.0" + checksum: 10c0/4f178d4062733ead9d71a9b1ab24ebcecdfe2250916a5b1555f04fe2eda972a0ec76fbaa8df1ad9c02707add6749219d118a4fc46dc56bdfe4dde4b47d80bb82 languageName: node linkType: hard @@ -29516,16 +29522,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" - dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 - languageName: node - linkType: hard - -"qs@npm:^6.14.0, qs@npm:^6.4.0": +"qs@npm:^6.14.0, qs@npm:^6.4.0, qs@npm:~6.14.0": version: 6.14.0 resolution: "qs@npm:6.14.0" dependencies: @@ -29634,9 +29631,9 @@ __metadata: linkType: hard "radashi@npm:^12.2.3, radashi@npm:^12.6.0": - version: 12.7.0 - resolution: "radashi@npm:12.7.0" - checksum: 10c0/34dd9aa8cfb430c9016d1d3f67205ba4ad4620e4a2a9bcd69c3511c68ba17c5f7cc2d3656e87fe5ddf68b199885686b2d6cbf36751a2601285eadd8cae68a090 + version: 12.7.1 + resolution: "radashi@npm:12.7.1" + checksum: 10c0/175a744009f986faf130e91d20dfcd15a0554994b8300002738ec5b8dc3eed37f53e091655315b9c9cfbe0bad220deb0d82ad7bd4d02ff560257d9166c4ff482 languageName: node linkType: hard @@ -29663,27 +29660,27 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.2, raw-body@npm:^2.4.1": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" +"raw-body@npm:^2.4.1, raw-body@npm:~2.5.3": + version: 2.5.3 + resolution: "raw-body@npm:2.5.3" dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + bytes: "npm:~3.1.2" + http-errors: "npm:~2.0.1" + iconv-lite: "npm:~0.4.24" + unpipe: "npm:~1.0.0" + checksum: 10c0/449844344fc90547fb994383a494b83300e4f22199f146a79f68d78a199a8f2a923ea9fd29c3be979bfd50291a3884733619ffc15ba02a32e703b612f8d3f74a languageName: node linkType: hard -"raw-body@npm:^3.0.0": - version: 3.0.1 - resolution: "raw-body@npm:3.0.1" +"raw-body@npm:^3.0.0, raw-body@npm:^3.0.1": + version: 3.0.2 + resolution: "raw-body@npm:3.0.2" dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.7.0" - unpipe: "npm:1.0.0" - checksum: 10c0/892f4fbd21ecab7e2fed0f045f7af9e16df7e8050879639d4e482784a2f4640aaaa33d916a0e98013f23acb82e09c2e3c57f84ab97104449f728d22f65a7d79a + bytes: "npm:~3.1.2" + http-errors: "npm:~2.0.1" + iconv-lite: "npm:~0.7.0" + unpipe: "npm:~1.0.0" + checksum: 10c0/d266678d08e1e7abea62c0ce5864344e980fa81c64f6b481e9842c5beaed2cdcf975f658a3ccd67ad35fc919c1f6664ccc106067801850286a6cbe101de89f29 languageName: node linkType: hard @@ -29949,14 +29946,14 @@ __metadata: linkType: hard "react-native-nfc-manager@npm:^3.17.1": - version: 3.17.1 - resolution: "react-native-nfc-manager@npm:3.17.1" + version: 3.17.2 + resolution: "react-native-nfc-manager@npm:3.17.2" peerDependencies: "@expo/config-plugins": "*" peerDependenciesMeta: "@expo/config-plugins": optional: true - checksum: 10c0/528cf5248834751e150a5d5a5bb0c6b9b5b74a742f8fcb069c4c200441d47170f09ef0eef0d22362527819709bd844724cd21d033a75d40e040c0d8d3d107889 + checksum: 10c0/71ae53d8526a4f64f31327d52a196e51b6fb9845bb9ab4eccdc095e45a229b3a64bd9b4b873be3fa9d95996cb3c35ed5b9d37d42f0c8741c187376f6ee53cead languageName: node linkType: hard @@ -30036,7 +30033,7 @@ __metadata: languageName: node linkType: hard -"react-native-svg-web@npm:^1.0.9": +"react-native-svg-web@npm:1.0.9": version: 1.0.9 resolution: "react-native-svg-web@npm:1.0.9" peerDependencies: @@ -30061,9 +30058,9 @@ __metadata: languageName: node linkType: hard -"react-native-svg@npm:^15.14.0": - version: 15.15.0 - resolution: "react-native-svg@npm:15.15.0" +"react-native-svg@npm:15.14.0": + version: 15.14.0 + resolution: "react-native-svg@npm:15.14.0" dependencies: css-select: "npm:^5.1.0" css-tree: "npm:^1.1.3" @@ -30071,7 +30068,7 @@ __metadata: peerDependencies: react: "*" react-native: "*" - checksum: 10c0/0da39529fedcc84d2deaad19e261453069675520cb446a08d97eebc10f1205ce0393a9760ad58bc7b80feaa60e94c30d2d5b90d3111451f260b3888a4fbc2e06 + checksum: 10c0/5855bee2a76313f580ac3f8c476d07bb63d1a8e5e0883154275be5a1f4224e35f2416b0ba3b03f5d4c637c3b2f9320df34ede918da27188adb6881b3b8ac96c8 languageName: node linkType: hard @@ -30237,15 +30234,15 @@ __metadata: linkType: hard "react-qr-barcode-scanner@npm:^2.1.8": - version: 2.1.18 - resolution: "react-qr-barcode-scanner@npm:2.1.18" + version: 2.1.19 + resolution: "react-qr-barcode-scanner@npm:2.1.19" dependencies: "@zxing/library": "npm:^0.21.3" react-webcam: "npm:^7.2.0" peerDependencies: react: ">=18.0.0" react-dom: ">=18.0.0" - checksum: 10c0/a6cbbda52d0a7492042b6dda3a8290eb1abf59a4b94302ffd32ac2fff3e60d4702e1a704d342fe717be4f5d5d2d412f02d24f46bc57d735be12fb5167bab31fa + checksum: 10c0/7fb2dd61c44a855cedfc6174b79d827c799375c21273a0c2a95876216dd8ee7830e5911749d72ebbc051fadd18300db18859a6b9f9b1b5232cd71d5ffaec87b5 languageName: node linkType: hard @@ -30280,8 +30277,8 @@ __metadata: linkType: hard "react-remove-scroll@npm:^2.6.0": - version: 2.7.1 - resolution: "react-remove-scroll@npm:2.7.1" + version: 2.7.2 + resolution: "react-remove-scroll@npm:2.7.2" dependencies: react-remove-scroll-bar: "npm:^2.3.7" react-style-singleton: "npm:^2.2.3" @@ -30294,7 +30291,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 10c0/7ad8f6ffd3e2aedf9b3d79f0c9088a9a3d7c5332d80c923427a6d97fe0626fb4cb33a6d9174d19fad57d860be69c96f68497a0619c3a8af0e8a5332e49bdde31 + checksum: 10c0/b5f3315bead75e72853f492c0b51ba8fb4fa09a4534d7fc42d6fcd59ca3e047cf213279ffc1e35b337e314ef5a04cb2b12544c85e0078802271731c27c09e5aa languageName: node linkType: hard @@ -30898,18 +30895,18 @@ __metadata: linkType: hard "rollup-plugin-dts@npm:^6.2.0": - version: 6.2.3 - resolution: "rollup-plugin-dts@npm:6.2.3" + version: 6.3.0 + resolution: "rollup-plugin-dts@npm:6.3.0" dependencies: "@babel/code-frame": "npm:^7.27.1" - magic-string: "npm:^0.30.17" + magic-string: "npm:^0.30.21" peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependenciesMeta: "@babel/code-frame": optional: true - checksum: 10c0/41cebbd0efcfcafbd35159d03d52531d6cc56f02b4fc99f56b6e552efdb6acf3228854520a1a12c879f90cdd60668edc115a73a8c822e4b4b62d267333f8f160 + checksum: 10c0/7eae726f0a15651a4705d49771cc02d2c7fb35fe107ada03cdacade5ed8bf026af066f1fc8936dde2c07da269d03dd790110589cd3b0c7062ed3bedc0f3c75ee languageName: node linkType: hard @@ -31017,31 +31014,31 @@ __metadata: linkType: hard "rollup@npm:^4.20.0, rollup@npm:^4.24.0, rollup@npm:^4.34.8, rollup@npm:^4.43.0": - version: 4.53.2 - resolution: "rollup@npm:4.53.2" + version: 4.53.3 + resolution: "rollup@npm:4.53.3" dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.53.2" - "@rollup/rollup-android-arm64": "npm:4.53.2" - "@rollup/rollup-darwin-arm64": "npm:4.53.2" - "@rollup/rollup-darwin-x64": "npm:4.53.2" - "@rollup/rollup-freebsd-arm64": "npm:4.53.2" - "@rollup/rollup-freebsd-x64": "npm:4.53.2" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.53.2" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.53.2" - "@rollup/rollup-linux-arm64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-arm64-musl": "npm:4.53.2" - "@rollup/rollup-linux-loong64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-ppc64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-riscv64-musl": "npm:4.53.2" - "@rollup/rollup-linux-s390x-gnu": "npm:4.53.2" - "@rollup/rollup-linux-x64-gnu": "npm:4.53.2" - "@rollup/rollup-linux-x64-musl": "npm:4.53.2" - "@rollup/rollup-openharmony-arm64": "npm:4.53.2" - "@rollup/rollup-win32-arm64-msvc": "npm:4.53.2" - "@rollup/rollup-win32-ia32-msvc": "npm:4.53.2" - "@rollup/rollup-win32-x64-gnu": "npm:4.53.2" - "@rollup/rollup-win32-x64-msvc": "npm:4.53.2" + "@rollup/rollup-android-arm-eabi": "npm:4.53.3" + "@rollup/rollup-android-arm64": "npm:4.53.3" + "@rollup/rollup-darwin-arm64": "npm:4.53.3" + "@rollup/rollup-darwin-x64": "npm:4.53.3" + "@rollup/rollup-freebsd-arm64": "npm:4.53.3" + "@rollup/rollup-freebsd-x64": "npm:4.53.3" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.53.3" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.53.3" + "@rollup/rollup-linux-arm64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-arm64-musl": "npm:4.53.3" + "@rollup/rollup-linux-loong64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-riscv64-musl": "npm:4.53.3" + "@rollup/rollup-linux-s390x-gnu": "npm:4.53.3" + "@rollup/rollup-linux-x64-gnu": "npm:4.53.3" + "@rollup/rollup-linux-x64-musl": "npm:4.53.3" + "@rollup/rollup-openharmony-arm64": "npm:4.53.3" + "@rollup/rollup-win32-arm64-msvc": "npm:4.53.3" + "@rollup/rollup-win32-ia32-msvc": "npm:4.53.3" + "@rollup/rollup-win32-x64-gnu": "npm:4.53.3" + "@rollup/rollup-win32-x64-msvc": "npm:4.53.3" "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -31093,7 +31090,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/427216da71c1ce7fefb0bef75f94c301afd858ac27e35898e098c2da5977325fa54c2edda867caf9675c8abfa8d8d94efa99c482fa04f5cd91f3a740112d4f4f + checksum: 10c0/a21305aac72013083bd0dec92162b0f7f24cacf57c876ca601ec76e892895952c9ea592c1c07f23b8c125f7979c2b17f7fb565e386d03ee4c1f0952ac4ab0d75 languageName: node linkType: hard @@ -31255,8 +31252,8 @@ __metadata: linkType: hard "sass@npm:^1.81.0": - version: 1.94.1 - resolution: "sass@npm:1.94.1" + version: 1.94.2 + resolution: "sass@npm:1.94.2" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -31267,7 +31264,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10c0/ab6170dc272245940a271e7b24bc87ef0b5c732ff3b2b4b4ac50d6e714bc19bcc4537c058596486d82fe3d96d69821189e4b49c663c8a59ba475dbeff0cb1cd1 + checksum: 10c0/49a656dfab58299165ef94e71483a333972daee68c49fa542858d4912accdfb1707338226a165b1a2dfcdb2509fcda5a5b4f3780d14e49b6d38d93c8043475d3 languageName: node linkType: hard @@ -31388,6 +31385,7 @@ __metadata: prettier: "npm:^3.6.2" react: "npm:^18.3.1" react-native: "npm:0.76.9" + tsx: "npm:^4.20.3" typescript: "npm:^5.9.2" uuid: "npm:^13.0.0" languageName: unknown @@ -31479,6 +31477,27 @@ __metadata: languageName: node linkType: hard +"send@npm:~0.19.0": + version: 0.19.1 + resolution: "send@npm:0.19.1" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/ceb859859822bf55e705b96db9a909870626d1a6bfcf62a88648b9681048a7840c0ff1f4afd7babea4ccfabff7d64a7dda68a6f6c63c255cc83f40a412a1db8e + languageName: node + linkType: hard + "serialize-error@npm:^2.1.0": version: 2.1.0 resolution: "serialize-error@npm:2.1.0" @@ -31510,7 +31529,7 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:1.16.2, serve-static@npm:^1.13.1": +"serve-static@npm:^1.13.1, serve-static@npm:~1.16.2": version: 1.16.2 resolution: "serve-static@npm:1.16.2" dependencies: @@ -31602,7 +31621,7 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": +"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc @@ -31610,9 +31629,9 @@ __metadata: linkType: hard "sf-symbols-typescript@npm:^2.1.0": - version: 2.1.0 - resolution: "sf-symbols-typescript@npm:2.1.0" - checksum: 10c0/b6e2482c2b3ba785aa00770013e343a2175475b9cb7c8703c30a2ec1da8b41acd982db2d953877afb35af32a3dfba337d0b29e703c399cd2138c3cf68685c9c2 + version: 2.2.0 + resolution: "sf-symbols-typescript@npm:2.2.0" + checksum: 10c0/3f3bbf33aaad19e619d6f169899b39e9fe9c5fd21f0d6d511100e36887606ad349109ddc6ff82933f2b8cbf437dd7105c2ae6b0059b291dc47f143b30c2074cc languageName: node linkType: hard @@ -31767,7 +31786,7 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6, side-channel@npm:^1.1.0": +"side-channel@npm:^1.0.4, side-channel@npm:^1.1.0": version: 1.1.0 resolution: "side-channel@npm:1.1.0" dependencies: @@ -32379,7 +32398,7 @@ __metadata: languageName: node linkType: hard -"statuses@npm:^2.0.1": +"statuses@npm:^2.0.1, statuses@npm:~2.0.1, statuses@npm:~2.0.2": version: 2.0.2 resolution: "statuses@npm:2.0.2" checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f @@ -32804,20 +32823,20 @@ __metadata: linkType: hard "sucrase@npm:^3.35.0": - version: 3.35.0 - resolution: "sucrase@npm:3.35.0" + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" dependencies: "@jridgewell/gen-mapping": "npm:^0.3.2" commander: "npm:^4.0.0" - glob: "npm:^10.3.10" lines-and-columns: "npm:^1.1.6" mz: "npm:^2.7.0" pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" ts-interface-checker: "npm:^0.1.9" bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 10c0/ac85f3359d2c2ecbf5febca6a24ae9bf96c931f05fde533c22a94f59c6a74895e5d5f0e871878dfd59c2697a75ebb04e4b2224ef0bfc24ca1210735c2ec191ef + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c languageName: node linkType: hard @@ -33410,7 +33429,7 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": +"toidentifier@npm:1.0.1, toidentifier@npm:~1.0.1": version: 1.0.1 resolution: "toidentifier@npm:1.0.1" checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 @@ -33747,10 +33766,10 @@ __metadata: linkType: hard "tsx@npm:^4.20.3": - version: 4.20.6 - resolution: "tsx@npm:4.20.6" + version: 4.21.0 + resolution: "tsx@npm:4.21.0" dependencies: - esbuild: "npm:~0.25.0" + esbuild: "npm:~0.27.0" fsevents: "npm:~2.3.3" get-tsconfig: "npm:^4.7.5" dependenciesMeta: @@ -33758,7 +33777,7 @@ __metadata: optional: true bin: tsx: dist/cli.mjs - checksum: 10c0/07757a9bf62c271e0a00869b2008c5f2d6e648766536e4faf27d9d8027b7cde1ac8e4871f4bb570c99388bcee0018e6869dad98c07df809b8052f9c549cd216f + checksum: 10c0/f5072923cd8459a1f9a26df87823a2ab5754641739d69df2a20b415f61814322b751fa6be85db7c6ec73cf68ba8fac2fd1cfc76bdb0aa86ded984d84d5d2126b languageName: node linkType: hard @@ -33849,7 +33868,7 @@ __metadata: languageName: node linkType: hard -"type-is@npm:^2.0.0, type-is@npm:^2.0.1": +"type-is@npm:^2.0.1": version: 2.0.1 resolution: "type-is@npm:2.0.1" dependencies: @@ -34162,6 +34181,15 @@ __metadata: languageName: node linkType: hard +"unique-filename@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-filename@npm:5.0.0" + dependencies: + unique-slug: "npm:^6.0.0" + checksum: 10c0/afb897e9cf4c2fb622ea716f7c2bb462001928fc5f437972213afdf1cc32101a230c0f1e9d96fc91ee5185eca0f2feb34127145874975f347be52eb91d6ccc2c + languageName: node + linkType: hard + "unique-slug@npm:^5.0.0": version: 5.0.0 resolution: "unique-slug@npm:5.0.0" @@ -34171,6 +34199,15 @@ __metadata: languageName: node linkType: hard +"unique-slug@npm:^6.0.0": + version: 6.0.0 + resolution: "unique-slug@npm:6.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/da7ade4cb04eb33ad0499861f82fe95ce9c7c878b7139dc54d140ecfb6a6541c18a5c8dac16188b8b379fe62c0c1f1b710814baac910cde5f4fec06212126c6a + languageName: node + linkType: hard + "universal-user-agent@npm:^2.0.0": version: 2.1.0 resolution: "universal-user-agent@npm:2.1.0" @@ -34194,7 +34231,7 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": +"unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c @@ -34269,8 +34306,8 @@ __metadata: linkType: hard "unstorage@npm:^1.9.0": - version: 1.17.2 - resolution: "unstorage@npm:1.17.2" + version: 1.17.3 + resolution: "unstorage@npm:1.17.3" dependencies: anymatch: "npm:^3.1.3" chokidar: "npm:^4.0.3" @@ -34278,7 +34315,7 @@ __metadata: h3: "npm:^1.15.4" lru-cache: "npm:^10.4.3" node-fetch-native: "npm:^1.6.7" - ofetch: "npm:^1.5.0" + ofetch: "npm:^1.5.1" ufo: "npm:^1.6.1" peerDependencies: "@azure/app-configuration": ^1.8.0 @@ -34339,7 +34376,7 @@ __metadata: optional: true uploadthing: optional: true - checksum: 10c0/7492e792394fc1878692aae6f87dc3ecd1be82aabf69301e531688755363eb3c01d0383be09631262a4cae6a20dd663f11d7f122bca7a8dbcb7f855232c3f473 + checksum: 10c0/46d920a79790a6d22273d5972d220a0b26fce7d8b40b5c563c1f71bec12ae7b0b403b59001773b061fa5a099de3ff5e7fd6b2a65198e89a21a5dbfd9225a217f languageName: node linkType: hard @@ -34584,8 +34621,8 @@ __metadata: linkType: hard "viem@npm:^2.33.1": - version: 2.39.3 - resolution: "viem@npm:2.39.3" + version: 2.41.2 + resolution: "viem@npm:2.41.2" dependencies: "@noble/curves": "npm:1.9.1" "@noble/hashes": "npm:1.8.0" @@ -34600,7 +34637,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/4fe197e74ff14553998c8f833711a10ec5df218f6d78ed2cf8849cfd6a1ac5a54d43dc89d3d4f13f84394d1c14f22c8c3f3e04e668c015e62962359ad54f7028 + checksum: 10c0/9fb3fff84addaa073ea83dfa701ae8e3a4aa2bf90c27b34adb5f1e877450db0ba341a0a80dd7cd3422a4f80d27d1921ce6ad877ad5ec7f40d34310701634da54 languageName: node linkType: hard @@ -34731,8 +34768,8 @@ __metadata: linkType: hard "vite@npm:^7.0.0": - version: 7.2.2 - resolution: "vite@npm:7.2.2" + version: 7.2.6 + resolution: "vite@npm:7.2.6" dependencies: esbuild: "npm:^0.25.0" fdir: "npm:^6.5.0" @@ -34781,7 +34818,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/9c76ee441f8dbec645ddaecc28d1f9cf35670ffa91cff69af7b1d5081545331603f0b1289d437b2fa8dc43cdc77b4d96b5bd9c9aed66310f490cb1a06f9c814c + checksum: 10c0/d444a159ab8f0f854d596d1938f201b449d59ed4d336e587be9dc89005467214d85848c212c2495f76a8421372ffe4d061d023d659600f1aaa3ba5ac13e804f7 languageName: node linkType: hard @@ -35702,11 +35739,11 @@ __metadata: linkType: hard "yaml@npm:^2.2.1, yaml@npm:^2.2.2": - version: 2.8.1 - resolution: "yaml@npm:2.8.1" + version: 2.8.2 + resolution: "yaml@npm:2.8.2" bin: yaml: bin.mjs - checksum: 10c0/7c587be00d9303d2ae1566e03bc5bc7fe978ba0d9bf39cc418c3139d37929dfcb93a230d9749f2cb578b6aa5d9ebebc322415e4b653cb83acd8bc0bc321707f3 + checksum: 10c0/703e4dc1e34b324aa66876d63618dcacb9ed49f7e7fe9b70f1e703645be8d640f68ab84f12b86df8ac960bac37acf5513e115de7c970940617ce0343c8c9cd96 languageName: node linkType: hard @@ -35871,9 +35908,9 @@ __metadata: linkType: hard "zod@npm:^4.1.11": - version: 4.1.12 - resolution: "zod@npm:4.1.12" - checksum: 10c0/b64c1feb19e99d77075261eaf613e0b2be4dfcd3551eff65ad8b4f2a079b61e379854d066f7d447491fcf193f45babd8095551a9d47973d30b46b6d8e2c46774 + version: 4.1.13 + resolution: "zod@npm:4.1.13" + checksum: 10c0/d7e74e82dba81a91ffc3239cd85bc034abe193a28f7087a94ab258a3e48e9a7ca4141920cac979a0d781495b48fc547777394149f26be04c3dc642f58bbc3941 languageName: node linkType: hard