diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 5b40ad541d..4c20d1d190 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -100,7 +100,7 @@ jobs:
run: pnpm intl:build
- name: Run tests
run: |
- NODE_ENV=test pnpm test --forceExit --shard=${{ matrix.shard }}/${{ strategy.job-total }}
+ pnpm test --shard=${{ matrix.shard }}/${{ strategy.job-total }} --outputFile.junit=junit-${{ matrix.shard }}.xml
# Aggregates the sharded test results into a single stable check name so branch
# protection can require "Run tests" regardless of how many shards run.
# The result is asserted in `run` (not `if`) so a malformed expression can
diff --git a/.gitignore b/.gitignore
index 015e13d3de..7721ff1612 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,6 +63,7 @@ Gemfile.lock
# Testing
coverage/
junit.xml
+junit-*.xml
artifacts
# Web bundle outputs
diff --git a/CLAUDE.md b/CLAUDE.md
index ea7c1fc9f7..c830a74de8 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -29,7 +29,7 @@ pnpm ios # Run on iOS
# Testing & Quality
# IMPORTANT: Always use these pnpm scripts, never call the underlying tools directly
-pnpm test # Run Jest tests
+pnpm test # Run Vitest tests
pnpm lint # Run ESLint
pnpm typecheck # Run TypeScript type checking
diff --git a/__mocks__/@gorhom/bottom-sheet.tsx b/__mocks__/@gorhom/bottom-sheet.tsx
deleted file mode 100644
index 87bbe7d3a8..0000000000
--- a/__mocks__/@gorhom/bottom-sheet.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import React, {type ReactNode} from 'react'
-import {FlatList, Modal, ScrollView, TextInput, View} from 'react-native'
-
-const BottomSheetModalContext = React.createContext(null)
-BottomSheetModalContext.displayName = 'BottomSheetModalContext'
-
-const BottomSheetModalProvider = (props: any) => {
- return
-}
-class BottomSheet extends React.Component<{
- onClose?: () => void
- children?: ReactNode
-}> {
- snapToIndex() {}
- snapToPosition() {}
- expand() {}
- collapse() {}
- close() {
- this.props.onClose?.()
- }
- forceClose() {}
-
- render() {
- return {this.props.children}
- }
-}
-const BottomSheetModal = (props: any) =>
-
-const BottomSheetBackdrop = (props: any) =>
-const BottomSheetHandle = (props: any) =>
-const BottomSheetFooter = (props: any) =>
-const BottomSheetScrollView = (props: any) =>
-const BottomSheetFlatList = (props: any) =>
-const BottomSheetTextInput = (props: any) =>
-
-const useBottomSheet = jest.fn()
-const useBottomSheetModal = jest.fn()
-const useBottomSheetSpringConfigs = jest.fn()
-const useBottomSheetTimingConfigs = jest.fn()
-const useBottomSheetInternal = jest.fn()
-const useBottomSheetDynamicSnapPoints = jest.fn()
-
-export {useBottomSheet}
-export {useBottomSheetModal}
-export {useBottomSheetSpringConfigs}
-export {useBottomSheetTimingConfigs}
-export {useBottomSheetInternal}
-export {useBottomSheetDynamicSnapPoints}
-
-export {
- BottomSheetBackdrop,
- BottomSheetFlatList,
- BottomSheetFooter,
- BottomSheetHandle,
- BottomSheetModal,
- BottomSheetModalProvider,
- BottomSheetScrollView,
- BottomSheetTextInput,
-}
-
-export default BottomSheet
diff --git a/__mocks__/@miblanchard/react-native-slider.js b/__mocks__/@miblanchard/react-native-slider.js
deleted file mode 100644
index 99c6a92513..0000000000
--- a/__mocks__/@miblanchard/react-native-slider.js
+++ /dev/null
@@ -1 +0,0 @@
-export const Slider = {}
diff --git a/__mocks__/expo-localization.js b/__mocks__/expo-localization.js
deleted file mode 100644
index 8bd537cf6c..0000000000
--- a/__mocks__/expo-localization.js
+++ /dev/null
@@ -1 +0,0 @@
-export const getLocales = jest.fn().mockResolvedValue([])
diff --git a/__mocks__/multiformats/cid.js b/__mocks__/multiformats/cid.js
deleted file mode 100644
index 788505c189..0000000000
--- a/__mocks__/multiformats/cid.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const CID = jest.fn().mockImplementation(() => {
- return {}
-})
diff --git a/__mocks__/multiformats/hashes/hasher.js b/__mocks__/multiformats/hashes/hasher.js
deleted file mode 100644
index a525f1310c..0000000000
--- a/__mocks__/multiformats/hashes/hasher.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export const from = jest.fn().mockImplementation(() => {
- return {
- digest: jest.fn().mockImplementation(() => {
- return Promise.resolve('')
- }),
- }
-})
diff --git a/__mocks__/react-native-svg.js b/__mocks__/react-native-svg.js
deleted file mode 100644
index 91a10e643c..0000000000
--- a/__mocks__/react-native-svg.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// @flow
-
-// https://github.com/FormidableLabs/react-native-svg-mock
-import React from 'react'
-
-const createComponent = function (name) {
- return class extends React.Component {
- // overwrite the displayName, since this is a class created dynamically
- static displayName = name
-
- render() {
- return React.createElement(name, this.props, this.props.children)
- }
- }
-}
-
-// Mock all react-native-svg exports
-// from https://github.com/magicismight/react-native-svg/blob/master/index.js
-const Svg = createComponent('Svg')
-const Circle = createComponent('Circle')
-const Ellipse = createComponent('Ellipse')
-const G = createComponent('G')
-const Text = createComponent('Text')
-const TextPath = createComponent('TextPath')
-const TSpan = createComponent('TSpan')
-const Path = createComponent('Path')
-const Polygon = createComponent('Polygon')
-const Polyline = createComponent('Polyline')
-const Line = createComponent('Line')
-const Rect = createComponent('Rect')
-const Use = createComponent('Use')
-const Image = createComponent('Image')
-const Symbol = createComponent('Symbol')
-const Defs = createComponent('Defs')
-const LinearGradient = createComponent('LinearGradient')
-const RadialGradient = createComponent('RadialGradient')
-const Stop = createComponent('Stop')
-const ClipPath = createComponent('ClipPath')
-const Pattern = createComponent('Pattern')
-const Mask = createComponent('Mask')
-
-export {
- Svg,
- Circle,
- Ellipse,
- G,
- Text,
- TextPath,
- TSpan,
- Path,
- Polygon,
- Polyline,
- Line,
- Rect,
- Use,
- Image,
- Symbol,
- Defs,
- LinearGradient,
- RadialGradient,
- Stop,
- ClipPath,
- Pattern,
- Mask,
-}
-
-export default Svg
diff --git a/__mocks__/sentry-expo.js b/__mocks__/sentry-expo.js
deleted file mode 100644
index 5a0e644e8a..0000000000
--- a/__mocks__/sentry-expo.js
+++ /dev/null
@@ -1,3 +0,0 @@
-jest.mock('sentry-expo', () => ({
- init: () => jest.fn(),
-}))
diff --git a/eslint.config.mjs b/eslint.config.mjs
index dfb3932d1d..c91eaa7839 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -197,8 +197,6 @@ export default defineConfig(
'error',
{
whitelist: [
- // test files only
- '@jest/globals',
// we only use a really simple util from this, and we know it will be present
'expo-modules-core',
// this is a dep for @atproto/api, but we absolutely need them in sync, so just
@@ -320,7 +318,6 @@ export default defineConfig(
files: ['**/__tests__/**/*.{js,jsx,ts,tsx}', '**/*.test.{js,jsx,ts,tsx}'],
languageOptions: {
globals: {
- ...globals.jest,
...globals.vitest,
},
},
diff --git a/jest/jestSetup.js b/jest/jestSetup.js
deleted file mode 100644
index ca04d54261..0000000000
--- a/jest/jestSetup.js
+++ /dev/null
@@ -1,108 +0,0 @@
-/* global jest */
-import 'react-native-gesture-handler/jestSetup'
-
-import {configure} from '@testing-library/react-native'
-
-configure({asyncUtilTimeout: 20000})
-
-jest.mock('@react-native-async-storage/async-storage', () =>
- require('@react-native-async-storage/async-storage/jest/async-storage-mock'),
-)
-jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter', () => {
- // eslint-disable-next-line import-x/no-nodejs-modules
- const {EventEmitter} = require('events')
- return {
- __esModule: true,
- default: EventEmitter,
- }
-})
-
-jest.mock('react-native-safe-area-context', () => {
- const inset = {top: 0, right: 0, bottom: 0, left: 0}
- return {
- SafeAreaProvider: jest.fn().mockImplementation(({children}) => children),
- SafeAreaConsumer: jest
- .fn()
- .mockImplementation(({children}) => children(inset)),
- useSafeAreaInsets: jest.fn().mockImplementation(() => inset),
- }
-})
-
-jest.mock('expo-file-system/legacy', () => ({
- getInfoAsync: jest.fn().mockResolvedValue({exists: true, size: 100}),
- deleteAsync: jest.fn(),
- moveAsync: jest.fn().mockResolvedValue(undefined),
- createDownloadResumable: jest.fn(),
-}))
-
-jest.mock('expo-image-manipulator', () => ({
- manipulateAsync: jest.fn().mockResolvedValue({
- uri: 'file://resized-image',
- }),
- SaveFormat: {
- JPEG: 'jpeg',
- WEBP: 'webp',
- },
-}))
-
-jest.mock('expo-camera', () => ({
- Camera: {
- useCameraPermissions: jest.fn(() => [true]),
- },
-}))
-
-jest.mock('expo-media-library', () => ({
- __esModule: true, // this property makes it work
- default: jest.fn(),
- usePermissions: jest.fn(() => [true]),
-}))
-
-jest.mock('@bsky.app/expo-guess-language', () => ({
- guessLanguageSync: jest
- .fn()
- .mockReturnValue([{language: 'en', confidence: 1}]),
- guessLanguageAsync: jest
- .fn()
- .mockResolvedValue([{language: 'en', confidence: 1}]),
-}))
-
-jest.mock('sentry-expo', () => ({
- init: () => jest.fn(),
- Native: {
- ReactNativeTracing: jest.fn().mockImplementation(() => ({
- start: jest.fn(),
- stop: jest.fn(),
- })),
- ReactNavigationInstrumentation: jest.fn(),
- },
-}))
-
-jest.mock('crypto', () => ({}))
-
-jest.mock('expo-application', () => ({
- nativeApplicationVersion: '1.0.0',
- nativeBuildVersion: '1',
-}))
-
-jest.mock('expo-modules-core', () => ({
- requireNativeModule: jest.fn().mockImplementation(moduleName => {
- if (moduleName === 'ExpoPlatformInfo') {
- return {
- getIsReducedMotionEnabled: () => false,
- }
- }
- if (moduleName === 'BottomSheet') {
- return {
- dismissAll: () => {},
- }
- }
- }),
- requireNativeViewManager: jest.fn().mockImplementation(_ => {
- return () => null
- }),
- createPermissionHook: () => () => [true],
-}))
-
-jest.mock('expo-localization', () => ({
- getLocales: () => [],
-}))
diff --git a/package.json b/package.json
index 77f0419c25..7b713a1bd0 100644
--- a/package.json
+++ b/package.json
@@ -55,13 +55,10 @@
"build-embed": "cd bskyembed && pnpm build && pnpm build-snippet && cd .. && node ./scripts/post-embed-build.js",
"start": "expo start --dev-client",
"start:prod": "expo start --dev-client --no-dev --minify",
- "test": "NODE_ENV=test jest --forceExit --testTimeout=20000 --bail",
- "test-watch": "NODE_ENV=test jest --watchAll",
- "test-ci": "NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit",
- "test-coverage": "NODE_ENV=test jest --coverage",
- "vitest": "vitest run",
- "vitest-watch": "vitest",
- "vitest-coverage": "vitest run --coverage",
+ "test": "vitest run",
+ "test-watch": "vitest",
+ "test-ci": "vitest run",
+ "test-coverage": "vitest run --coverage",
"lint": "eslint --cache --quiet src modules",
"lint-native": "swiftlint ./modules && ktlint ./modules",
"lint-native:fix": "swiftlint --fix ./modules && ktlint --format ./modules",
@@ -266,8 +263,6 @@
"@react-native/babel-preset": "0.81.5",
"@react-native/typescript-config": "^0.81.5",
"@sentry/webpack-plugin": "^3.2.2",
- "@testing-library/react-native": "^13.2.0",
- "@types/jest": "29.5.14",
"@types/lodash.chunk": "^4.2.7",
"@types/lodash.debounce": "^4.0.7",
"@types/lodash.shuffle": "^4.2.7",
@@ -277,7 +272,6 @@
"@typescript/native-preview": "^7.0.0-dev.20260428.1",
"@vitejs/plugin-react": "^6.0.3",
"@vitest/coverage-v8": "^4.1.9",
- "babel-jest": "^29.7.0",
"babel-plugin-module-resolver": "^5.0.2",
"babel-plugin-react-compiler": "19.1.0-rc.3",
"babel-preset-expo": "~54.0.10",
@@ -296,9 +290,6 @@
"globals": "^17.0.0",
"husky": "^9.1.7",
"is-ci": "^3.0.1",
- "jest": "^29.7.0",
- "jest-expo": "~54.0.17",
- "jest-junit": "^16.0.0",
"lint-staged": "^13.2.3",
"prettier": "^3.8.3",
"react-native-dotenv": "^3.4.11",
@@ -311,54 +302,6 @@
"vitest": "^4.1.9",
"webpack-bundle-analyzer": "^4.10.1"
},
- "jest": {
- "preset": "jest-expo/ios",
- "setupFilesAfterEnv": [
- "./jest/jestSetup.js"
- ],
- "moduleFileExtensions": [
- "ts",
- "tsx",
- "js",
- "jsx",
- "json",
- "node"
- ],
- "transform": {
- "\\.[jt]sx?$": "babel-jest"
- },
- "moduleNameMapper": {
- "^multiformats$": "/node_modules/multiformats/dist/src/index.js",
- "^multiformats/cid$": "/node_modules/multiformats/dist/src/cid.js",
- "^multiformats/bases/base32$": "/node_modules/multiformats/dist/src/bases/base32.js",
- "^multiformats/hashes/digest$": "/node_modules/multiformats/dist/src/hashes/digest.js",
- "^multiformats/hashes/sha2$": "/node_modules/multiformats/dist/src/hashes/sha2.js",
- "^uint8arrays/from-string$": "/node_modules/uint8arrays/dist/src/from-string.js",
- "^uint8arrays/to-string$": "/node_modules/uint8arrays/dist/src/to-string.js",
- "^unicode-segmenter/grapheme$": "/node_modules/unicode-segmenter/grapheme.cjs",
- "^await-lock$": "/node_modules/await-lock/build/AwaitLock.js"
- },
- "transformIgnorePatterns": [
- "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|nanoid|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|normalize-url|react-native-svg|@sentry/.*|sentry-expo|bcp-47-match|@atproto/.*|multiformats|uint8arrays|@ipld/.*|cborg|await-lock)"
- ],
- "modulePathIgnorePatterns": [
- "__tests__/.*/__mocks__",
- "__e2e__/.*",
- "bskylink/.*"
- ],
- "coveragePathIgnorePatterns": [
- "/node_modules/",
- "/src/platform",
- "/src/third-party",
- "/src/view/com/util",
- "/src/state/lib",
- "/__tests__/test-utils.js"
- ],
- "reporters": [
- "default",
- "jest-junit"
- ]
- },
"browserslist": {
"production": [
">0.2%",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b50d04fede..57a6817461 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -742,12 +742,6 @@ importers:
'@sentry/webpack-plugin':
specifier: ^3.2.2
version: 3.6.1(webpack@5.106.2(postcss@8.5.14))
- '@testing-library/react-native':
- specifier: ^13.2.0
- version: 13.3.3(jest@29.7.0(@types/node@24.12.4))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react-test-renderer@19.1.0(react@19.1.0))(react@19.1.0)
- '@types/jest':
- specifier: 29.5.14
- version: 29.5.14
'@types/lodash.chunk':
specifier: ^4.2.7
version: 4.2.9
@@ -775,9 +769,6 @@ importers:
'@vitest/coverage-v8':
specifier: ^4.1.9
version: 4.1.9(vitest@4.1.9)
- babel-jest:
- specifier: ^29.7.0
- version: 29.7.0(@babel/core@7.29.0)
babel-plugin-module-resolver:
specifier: ^5.0.2
version: 5.0.3
@@ -832,15 +823,6 @@ importers:
is-ci:
specifier: ^3.0.1
version: 3.0.1
- jest:
- specifier: ^29.7.0
- version: 29.7.0(@types/node@24.12.4)
- jest-expo:
- specifier: ~54.0.17
- version: 54.0.17(@babel/core@7.29.0)(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(jest@29.7.0(@types/node@24.12.4))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- jest-junit:
- specifier: ^16.0.0
- version: 16.0.0
lint-staged:
specifier: ^13.2.3
version: 13.3.0
@@ -1617,9 +1599,6 @@ packages:
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
- '@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
-
'@bcoe/v8-coverage@1.0.2':
resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
engines: {node: '>=18'}
@@ -2165,80 +2144,22 @@ packages:
resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==}
engines: {node: '>=8'}
- '@jest/console@29.7.0':
- resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/core@29.7.0':
- resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
'@jest/create-cache-key-function@29.7.0':
resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jest/diff-sequences@30.4.0':
- resolution: {integrity: sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
'@jest/environment@29.7.0':
resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jest/expect-utils@29.7.0':
- resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/expect@29.7.0':
- resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
'@jest/fake-timers@29.7.0':
resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jest/get-type@30.1.0':
- resolution: {integrity: sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/globals@29.7.0':
- resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/reporters@29.7.0':
- resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
'@jest/schemas@29.6.3':
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- '@jest/schemas@30.4.1':
- resolution: {integrity: sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- '@jest/source-map@29.6.3':
- resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/test-result@29.7.0':
- resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- '@jest/test-sequencer@29.7.0':
- resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
'@jest/transform@29.7.0':
resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -3463,9 +3384,6 @@ packages:
'@sinclair/typebox@0.27.10':
resolution: {integrity: sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==}
- '@sinclair/typebox@0.34.49':
- resolution: {integrity: sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==}
-
'@sinonjs/commons@3.0.1':
resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
@@ -3495,18 +3413,6 @@ packages:
peerDependencies:
react: ^18 || ^19
- '@testing-library/react-native@13.3.3':
- resolution: {integrity: sha512-k6Mjsd9dbZgvY4Bl7P1NIpePQNi+dfYtlJ5voi9KQlynxSyQkfOgJmYGCYmw/aSgH/rUcFvG8u5gd4npzgRDyg==}
- engines: {node: '>=18'}
- peerDependencies:
- jest: '>=29.0.0'
- react: '>=18.2.0'
- react-native: '>=0.71'
- react-test-renderer: '>=18.2.0'
- peerDependenciesMeta:
- jest:
- optional: true
-
'@tiptap/core@2.27.2':
resolution: {integrity: sha512-ABL1N6eoxzDzC1bYvkMbvyexHacszsKdVPYqhl5GwHLOvpZcv9VE9QaKwDILTyz5voCA0lGcAAXZp+qnXOk5lQ==}
peerDependencies:
@@ -3677,12 +3583,6 @@ packages:
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- '@types/jest@29.5.14':
- resolution: {integrity: sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==}
-
- '@types/jsdom@20.0.1':
- resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
-
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@@ -3761,9 +3661,6 @@ packages:
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
- '@types/tough-cookie@4.0.5':
- resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
-
'@types/use-sync-external-store@0.0.6':
resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
@@ -4192,10 +4089,6 @@ packages:
resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==}
engines: {node: '>=12'}
- ansi-escapes@6.2.1:
- resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
- engines: {node: '>=14.16'}
-
ansi-html-community@0.0.8:
resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
engines: {'0': node >= 0.8.0}
@@ -4568,10 +4461,6 @@ packages:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
- chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
-
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -4580,14 +4469,6 @@ packages:
resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- char-regex@1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
-
- char-regex@2.0.2:
- resolution: {integrity: sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==}
- engines: {node: '>=12.20'}
-
chokidar@3.5.1:
resolution: {integrity: sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==}
engines: {node: '>= 8.10.0'}
@@ -4619,9 +4500,6 @@ packages:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
- cjs-module-lexer@1.4.3:
- resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==}
-
clean-css@5.3.3:
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
engines: {node: '>= 10.0'}
@@ -4667,13 +4545,6 @@ packages:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
- co@4.6.0:
- resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
- engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
-
- collect-v8-coverage@1.0.3:
- resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==}
-
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -4810,11 +4681,6 @@ packages:
typescript:
optional: true
- create-jest@29.7.0:
- resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
-
crelt@1.0.6:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
@@ -5007,14 +4873,6 @@ packages:
resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
engines: {node: '>=0.10'}
- dedent@1.7.2:
- resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==}
- peerDependencies:
- babel-plugin-macros: ^3.1.0
- peerDependenciesMeta:
- babel-plugin-macros:
- optional: true
-
deep-extend@0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
engines: {node: '>=4.0.0'}
@@ -5073,20 +4931,12 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
- detect-newline@3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
-
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
- diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
@@ -5172,10 +5022,6 @@ packages:
resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==}
engines: {node: '>4.0'}
- emittery@0.13.1:
- resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
- engines: {node: '>=12'}
-
emoji-mart@5.6.0:
resolution: {integrity: sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow==}
@@ -5464,18 +5310,10 @@ packages:
resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==}
engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0}
- exit@0.1.2:
- resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
- engines: {node: '>= 0.8.0'}
-
expect-type@1.4.0:
resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==}
engines: {node: '>=12.0.0'}
- expect@29.7.0:
- resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
expo-application@7.0.8:
resolution: {integrity: sha512-qFGyxk7VJbrNOQWBbE09XUuGuvkOgFS9QfToaK2FdagM2aQ+x3CvGV2DuVgl/l4ZxPgIf3b/MNh9xHpwSwn74Q==}
peerDependencies:
@@ -6267,19 +6105,10 @@ packages:
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
engines: {node: '>=6'}
- import-local@3.2.0:
- resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
- engines: {node: '>=8'}
- hasBin: true
-
imurmurhash@0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
-
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
@@ -6391,10 +6220,6 @@ packages:
resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==}
engines: {node: '>=12'}
- is-generator-fn@2.1.0:
- resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
- engines: {node: '>=6'}
-
is-generator-function@1.1.2:
resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==}
engines: {node: '>= 0.4'}
@@ -6526,18 +6351,10 @@ packages:
resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
engines: {node: '>=8'}
- istanbul-lib-instrument@6.0.3:
- resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==}
- engines: {node: '>=10'}
-
istanbul-lib-report@3.0.1:
resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
engines: {node: '>=10'}
- istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
- engines: {node: '>=10'}
-
istanbul-reports@3.2.0:
resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==}
engines: {node: '>=8'}
@@ -6553,76 +6370,10 @@ packages:
resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==}
engines: {node: 20 || >=22}
- jest-changed-files@29.7.0:
- resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-circus@29.7.0:
- resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-cli@29.7.0:
- resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
- jest-config@29.7.0:
- resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@types/node': '*'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- '@types/node':
- optional: true
- ts-node:
- optional: true
-
- jest-diff@29.7.0:
- resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-diff@30.4.1:
- resolution: {integrity: sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
- jest-docblock@29.7.0:
- resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-each@29.7.0:
- resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-environment-jsdom@29.7.0:
- resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
-
jest-environment-node@29.7.0:
resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-expo@54.0.17:
- resolution: {integrity: sha512-LyIhrsP4xvHEEcR1R024u/LBj3uPpAgB+UljgV+YXWkEHjprnr0KpE4tROsMNYCVTM1pPlAnPuoBmn5gnAN9KA==}
- hasBin: true
- peerDependencies:
- expo: '*'
- react-native: '*'
- react-server-dom-webpack: ~19.0.4 || ~19.1.5 || ~19.2.4
- peerDependenciesMeta:
- react-server-dom-webpack:
- optional: true
-
jest-get-type@29.6.3:
resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -6631,22 +6382,6 @@ packages:
resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-junit@16.0.0:
- resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==}
- engines: {node: '>=10.12.0'}
-
- jest-leak-detector@29.7.0:
- resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-matcher-utils@29.7.0:
- resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-matcher-utils@30.4.1:
- resolution: {integrity: sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-message-util@29.7.0:
resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -6655,39 +6390,10 @@ packages:
resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-pnp-resolver@1.2.3:
- resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
- engines: {node: '>=6'}
- peerDependencies:
- jest-resolve: '*'
- peerDependenciesMeta:
- jest-resolve:
- optional: true
-
jest-regex-util@29.6.3:
resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-resolve-dependencies@29.7.0:
- resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-resolve@29.7.0:
- resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-runner@29.7.0:
- resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-runtime@29.7.0:
- resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
- jest-snapshot@29.7.0:
- resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
jest-util@29.7.0:
resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -6696,19 +6402,6 @@ packages:
resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-watch-select-projects@2.0.0:
- resolution: {integrity: sha512-j00nW4dXc2NiCW6znXgFLF9g8PJ0zP25cpQ1xRro/HU2GBfZQFZD0SoXnAlaoKkIY4MlfTMkKGbNXFpvCdjl1w==}
-
- jest-watch-typeahead@2.2.1:
- resolution: {integrity: sha512-jYpYmUnTzysmVnwq49TAxlmtOAwp8QIqvZyoofQFn8fiWhEDZj33ZXzg3JA4nGnzWFm1hbWf3ADpteUokvXgFA==}
- engines: {node: ^14.17.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- jest: ^27.0.0 || ^28.0.0 || ^29.0.0
-
- jest-watcher@29.7.0:
- resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
-
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
@@ -6717,16 +6410,6 @@ packages:
resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest@29.7.0:
- resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
-
jimp-compact@0.16.1:
resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==}
@@ -7188,10 +6871,6 @@ packages:
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
engines: {node: '>=12'}
- min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
-
mini-css-extract-plugin@2.10.2:
resolution: {integrity: sha512-AOSS0IdEB95ayVkxn5oGzNQwqAi2J0Jb/kKm43t7H73s8+f5873g0yuj0PNvK4dO75mu5DHg4nlgp4k6Kga8eg==}
engines: {node: '>= 12.13.0'}
@@ -7979,10 +7658,6 @@ packages:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- pretty-format@30.4.1:
- resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
proc-log@4.2.0:
resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -8088,9 +7763,6 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- pure-rand@6.1.0:
- resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==}
-
qrcode-terminal@0.11.0:
resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==}
hasBin: true
@@ -8387,11 +8059,6 @@ packages:
'@types/react':
optional: true
- react-test-renderer@19.1.0:
- resolution: {integrity: sha512-jXkSl3CpvPYEF+p/eGDLB4sPoDX8pKkYvRl9+rR8HxLY0X04vW7hCm1/0zHoUSjPZ3bDa+wXWNTDVIw/R8aDVw==}
- peerDependencies:
- react: ^19.1.0
-
react-textarea-autosize@8.5.9:
resolution: {integrity: sha512-U1DGlIQN5AwgjTyOEnI1oCcMuEr1pv1qOtklB2l4nyMGbHzWrI0eFsYK0zos2YWqAolJyG0IWJaqWmWj5ETh0A==}
engines: {node: '>=10'}
@@ -8417,10 +8084,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
- redent@3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
-
reflect.getprototypeof@1.0.10:
resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
engines: {node: '>= 0.4'}
@@ -8485,10 +8148,6 @@ packages:
reselect@4.1.8:
resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==}
- resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
-
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -8651,9 +8310,6 @@ packages:
resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==}
engines: {node: '>= 0.8.0'}
- server-only@0.0.1:
- resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
-
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
@@ -8745,10 +8401,6 @@ packages:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==}
engines: {node: '>=12'}
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
slice-ansi@5.0.0:
resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
engines: {node: '>=12'}
@@ -8790,16 +8442,9 @@ packages:
peerDependencies:
webpack: ^5.0.0
- source-map-support@0.5.13:
- resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
-
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- source-map@0.5.6:
- resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==}
- engines: {node: '>=0.10.0'}
-
source-map@0.5.7:
resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
engines: {node: '>=0.10.0'}
@@ -8834,9 +8479,6 @@ packages:
resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
- stack-generator@2.0.10:
- resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==}
-
stack-utils@2.0.6:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
@@ -8847,12 +8489,6 @@ packages:
stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
- stacktrace-gps@3.1.2:
- resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==}
-
- stacktrace-js@2.0.2:
- resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==}
-
stacktrace-parser@0.1.11:
resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==}
engines: {node: '>=6'}
@@ -8884,14 +8520,6 @@ packages:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
- string-length@4.0.2:
- resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
- engines: {node: '>=10'}
-
- string-length@5.0.1:
- resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==}
- engines: {node: '>=12.20'}
-
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -8937,10 +8565,6 @@ packages:
resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
engines: {node: '>=12'}
- strip-bom@4.0.0:
- resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
- engines: {node: '>=8'}
-
strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
@@ -8949,10 +8573,6 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
- strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
-
strip-json-comments@2.0.1:
resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
engines: {node: '>=0.10.0'}
@@ -9397,10 +9017,6 @@ packages:
deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).
hasBin: true
- v8-to-istanbul@9.3.0:
- resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
- engines: {node: '>=10.12.0'}
-
validate-npm-package-name@5.0.1:
resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -9720,9 +9336,6 @@ packages:
resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==}
engines: {node: '>=4.0.0'}
- xml@1.0.1:
- resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==}
-
xmlbuilder@11.0.1:
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
engines: {node: '>=4.0'}
@@ -10745,8 +10358,6 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
- '@bcoe/v8-coverage@0.2.3': {}
-
'@bcoe/v8-coverage@1.0.2': {}
'@bitdrift/react-native@0.6.14(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)':
@@ -11469,56 +11080,10 @@ snapshots:
'@istanbuljs/schema@0.1.6': {}
- '@jest/console@29.7.0':
- dependencies:
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- chalk: 4.1.2
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- slash: 3.0.0
-
- '@jest/core@29.7.0':
- dependencies:
- '@jest/console': 29.7.0
- '@jest/reporters': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- ci-info: 3.9.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@24.12.4)
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-resolve-dependencies: 29.7.0
- jest-runner: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- jest-watcher: 29.7.0
- micromatch: 4.0.8
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
- - ts-node
-
'@jest/create-cache-key-function@29.7.0':
dependencies:
'@jest/types': 29.6.3
- '@jest/diff-sequences@30.4.0': {}
-
'@jest/environment@29.7.0':
dependencies:
'@jest/fake-timers': 29.7.0
@@ -11526,17 +11091,6 @@ snapshots:
'@types/node': 24.12.4
jest-mock: 29.7.0
- '@jest/expect-utils@29.7.0':
- dependencies:
- jest-get-type: 29.6.3
-
- '@jest/expect@29.7.0':
- dependencies:
- expect: 29.7.0
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
'@jest/fake-timers@29.7.0':
dependencies:
'@jest/types': 29.6.3
@@ -11546,74 +11100,10 @@ snapshots:
jest-mock: 29.7.0
jest-util: 29.7.0
- '@jest/get-type@30.1.0': {}
-
- '@jest/globals@29.7.0':
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/types': 29.6.3
- jest-mock: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
- '@jest/reporters@29.7.0':
- dependencies:
- '@bcoe/v8-coverage': 0.2.3
- '@jest/console': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.31
- '@types/node': 24.12.4
- chalk: 4.1.2
- collect-v8-coverage: 1.0.3
- exit: 0.1.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 6.0.3
- istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.2.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- jest-worker: 29.7.0
- slash: 3.0.0
- string-length: 4.0.2
- strip-ansi: 6.0.1
- v8-to-istanbul: 9.3.0
- transitivePeerDependencies:
- - supports-color
-
'@jest/schemas@29.6.3':
dependencies:
'@sinclair/typebox': 0.27.10
- '@jest/schemas@30.4.1':
- dependencies:
- '@sinclair/typebox': 0.34.49
-
- '@jest/source-map@29.6.3':
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- callsites: 3.1.0
- graceful-fs: 4.2.11
-
- '@jest/test-result@29.7.0':
- dependencies:
- '@jest/console': 29.7.0
- '@jest/types': 29.6.3
- '@types/istanbul-lib-coverage': 2.0.6
- collect-v8-coverage: 1.0.3
-
- '@jest/test-sequencer@29.7.0':
- dependencies:
- '@jest/test-result': 29.7.0
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- slash: 3.0.0
-
'@jest/transform@29.7.0':
dependencies:
'@babel/core': 7.29.0
@@ -12968,8 +12458,6 @@ snapshots:
'@sinclair/typebox@0.27.10': {}
- '@sinclair/typebox@0.34.49': {}
-
'@sinonjs/commons@3.0.1':
dependencies:
type-detect: 4.0.8
@@ -13002,18 +12490,6 @@ snapshots:
'@tanstack/query-core': 5.100.10
react: 19.1.0
- '@testing-library/react-native@13.3.3(jest@29.7.0(@types/node@24.12.4))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react-test-renderer@19.1.0(react@19.1.0))(react@19.1.0)':
- dependencies:
- jest-matcher-utils: 30.4.1
- picocolors: 1.1.1
- pretty-format: 30.4.1
- react: 19.1.0
- react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0)
- react-test-renderer: 19.1.0(react@19.1.0)
- redent: 3.0.0
- optionalDependencies:
- jest: 29.7.0(@types/node@24.12.4)
-
'@tiptap/core@2.27.2(@tiptap/pm@2.27.2)':
dependencies:
'@tiptap/pm': 2.27.2
@@ -13106,7 +12582,8 @@ snapshots:
'@tiptap/core': 2.27.2(@tiptap/pm@2.27.2)
'@tiptap/pm': 2.27.2
- '@tootallnate/once@2.0.1': {}
+ '@tootallnate/once@2.0.1':
+ optional: true
'@tybys/wasm-util@0.10.2':
dependencies:
@@ -13229,17 +12706,6 @@ snapshots:
dependencies:
'@types/istanbul-lib-report': 3.0.3
- '@types/jest@29.5.14':
- dependencies:
- expect: 29.7.0
- pretty-format: 29.7.0
-
- '@types/jsdom@20.0.1':
- dependencies:
- '@types/node': 24.12.4
- '@types/tough-cookie': 4.0.5
- parse5: 7.3.0
-
'@types/json-schema@7.0.15': {}
'@types/linkify-it@5.0.0': {}
@@ -13324,8 +12790,6 @@ snapshots:
'@types/stack-utils@2.0.3': {}
- '@types/tough-cookie@4.0.5': {}
-
'@types/use-sync-external-store@0.0.6': {}
'@types/ws@8.18.1':
@@ -13694,6 +13158,7 @@ snapshots:
dependencies:
acorn: 8.16.0
acorn-walk: 8.3.5
+ optional: true
acorn-import-phases@1.0.4(acorn@8.16.0):
dependencies:
@@ -13758,8 +13223,6 @@ snapshots:
dependencies:
type-fest: 1.4.0
- ansi-escapes@6.2.1: {}
-
ansi-html-community@0.0.8: {}
ansi-html@0.0.9: {}
@@ -13894,7 +13357,8 @@ snapshots:
async-limiter@1.0.1: {}
- asynckit@0.4.0: {}
+ asynckit@0.4.0:
+ optional: true
available-typed-arrays@1.0.7:
dependencies:
@@ -14221,11 +13685,6 @@ snapshots:
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- chalk@3.0.0:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
@@ -14233,10 +13692,6 @@ snapshots:
chalk@5.3.0: {}
- char-regex@1.0.2: {}
-
- char-regex@2.0.2: {}
-
chokidar@3.5.1:
dependencies:
anymatch: 3.1.3
@@ -14289,8 +13744,6 @@ snapshots:
ci-info@3.9.0: {}
- cjs-module-lexer@1.4.3: {}
-
clean-css@5.3.3:
dependencies:
source-map: 0.6.1
@@ -14337,10 +13790,6 @@ snapshots:
clone@1.0.4: {}
- co@4.6.0: {}
-
- collect-v8-coverage@1.0.3: {}
-
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -14372,6 +13821,7 @@ snapshots:
combined-stream@1.0.8:
dependencies:
delayed-stream: 1.0.0
+ optional: true
command-exists-promise@2.0.2: {}
@@ -14463,21 +13913,6 @@ snapshots:
optionalDependencies:
typescript: 6.0.3
- create-jest@29.7.0(@types/node@24.12.4):
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@24.12.4)
- jest-util: 29.7.0
- prompts: 2.4.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
crelt@1.0.6: {}
cross-fetch@3.2.0:
@@ -14616,13 +14051,16 @@ snapshots:
dependencies:
css-tree: 2.2.1
- cssom@0.3.8: {}
+ cssom@0.3.8:
+ optional: true
- cssom@0.5.0: {}
+ cssom@0.5.0:
+ optional: true
cssstyle@2.3.0:
dependencies:
cssom: 0.3.8
+ optional: true
csstype@3.2.3: {}
@@ -14631,6 +14069,7 @@ snapshots:
abab: 2.0.6
whatwg-mimetype: 3.0.0
whatwg-url: 11.0.0
+ optional: true
data-view-buffer@1.0.2:
dependencies:
@@ -14674,12 +14113,11 @@ snapshots:
decamelize@1.2.0: {}
- decimal.js@10.6.0: {}
+ decimal.js@10.6.0:
+ optional: true
decode-uri-component@0.2.2: {}
- dedent@1.7.2: {}
-
deep-extend@0.6.0: {}
deep-is@0.1.4: {}
@@ -14718,7 +14156,8 @@ snapshots:
pify: 4.0.1
rimraf: 2.7.1
- delayed-stream@1.0.0: {}
+ delayed-stream@1.0.0:
+ optional: true
depd@1.1.2: {}
@@ -14730,14 +14169,10 @@ snapshots:
detect-libc@2.1.2: {}
- detect-newline@3.1.0: {}
-
detect-node-es@1.1.0: {}
detect-node@2.1.0: {}
- diff-sequences@29.6.3: {}
-
dijkstrajs@1.0.3: {}
dir-glob@3.0.1:
@@ -14775,6 +14210,7 @@ snapshots:
domexception@4.0.0:
dependencies:
webidl-conversions: 7.0.0
+ optional: true
domhandler@4.3.1:
dependencies:
@@ -14825,8 +14261,6 @@ snapshots:
email-validator@2.0.4: {}
- emittery@0.13.1: {}
-
emoji-mart@5.6.0: {}
emoji-regex@10.6.0: {}
@@ -14852,7 +14286,8 @@ snapshots:
entities@5.0.0: {}
- entities@6.0.1: {}
+ entities@6.0.1:
+ optional: true
env-editor@0.4.2: {}
@@ -15013,6 +14448,7 @@ snapshots:
esutils: 2.0.3
optionalDependencies:
source-map: 0.6.1
+ optional: true
eslint-import-context@0.1.9(unrs-resolver@1.11.1):
dependencies:
@@ -15246,18 +14682,8 @@ snapshots:
signal-exit: 3.0.7
strip-final-newline: 3.0.0
- exit@0.1.2: {}
-
expect-type@1.4.0: {}
- expect@29.7.0:
- dependencies:
- '@jest/expect-utils': 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
-
expo-application@7.0.8(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)):
dependencies:
expo: 54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
@@ -15796,6 +15222,7 @@ snapshots:
es-set-tostringtag: 2.1.0
hasown: 2.0.3
mime-types: 2.1.35
+ optional: true
forwarded@0.2.0: {}
@@ -16025,6 +15452,7 @@ snapshots:
html-encoding-sniffer@3.0.0:
dependencies:
whatwg-encoding: 2.0.0
+ optional: true
html-entities@2.6.0: {}
@@ -16089,6 +15517,7 @@ snapshots:
debug: 4.4.3
transitivePeerDependencies:
- supports-color
+ optional: true
http-proxy-middleware@2.0.9(@types/express@4.17.25):
dependencies:
@@ -16161,15 +15590,8 @@ snapshots:
parent-module: 1.0.1
resolve-from: 4.0.0
- import-local@3.2.0:
- dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
-
imurmurhash@0.1.4: {}
- indent-string@4.0.0: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -16279,8 +15701,6 @@ snapshots:
is-fullwidth-code-point@4.0.0: {}
- is-generator-fn@2.1.0: {}
-
is-generator-function@1.1.2:
dependencies:
call-bound: 1.0.4
@@ -16327,7 +15747,8 @@ snapshots:
is-plain-obj@3.0.0: {}
- is-potential-custom-element-name@1.0.1: {}
+ is-potential-custom-element-name@1.0.1:
+ optional: true
is-regex@1.2.1:
dependencies:
@@ -16398,30 +15819,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- istanbul-lib-instrument@6.0.3:
- dependencies:
- '@babel/core': 7.29.0
- '@babel/parser': 7.29.3
- '@istanbuljs/schema': 0.1.6
- istanbul-lib-coverage: 3.2.2
- semver: 7.8.0
- transitivePeerDependencies:
- - supports-color
-
istanbul-lib-report@3.0.1:
dependencies:
istanbul-lib-coverage: 3.2.2
make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@4.0.1:
- dependencies:
- debug: 4.4.3
- istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
- transitivePeerDependencies:
- - supports-color
-
istanbul-reports@3.2.0:
dependencies:
html-escaper: 2.0.2
@@ -16446,128 +15849,6 @@ snapshots:
dependencies:
'@isaacs/cliui': 9.0.0
- jest-changed-files@29.7.0:
- dependencies:
- execa: 5.1.1
- jest-util: 29.7.0
- p-limit: 3.1.0
-
- jest-circus@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- chalk: 4.1.2
- co: 4.6.0
- dedent: 1.7.2
- is-generator-fn: 2.1.0
- jest-each: 29.7.0
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-runtime: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- p-limit: 3.1.0
- pretty-format: 29.7.0
- pure-rand: 6.1.0
- slash: 3.0.0
- stack-utils: 2.0.6
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
-
- jest-cli@29.7.0(@types/node@24.12.4):
- dependencies:
- '@jest/core': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0(@types/node@24.12.4)
- exit: 0.1.2
- import-local: 3.2.0
- jest-config: 29.7.0(@types/node@24.12.4)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
- jest-config@29.7.0(@types/node@24.12.4):
- dependencies:
- '@babel/core': 7.29.0
- '@jest/test-sequencer': 29.7.0
- '@jest/types': 29.6.3
- babel-jest: 29.7.0(@babel/core@7.29.0)
- chalk: 4.1.2
- ci-info: 3.9.0
- deepmerge: 4.3.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-circus: 29.7.0
- jest-environment-node: 29.7.0
- jest-get-type: 29.6.3
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-runner: 29.7.0
- jest-util: 29.7.0
- jest-validate: 29.7.0
- micromatch: 4.0.8
- parse-json: 5.2.0
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-json-comments: 3.1.1
- optionalDependencies:
- '@types/node': 24.12.4
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
-
- jest-diff@29.7.0:
- dependencies:
- chalk: 4.1.2
- diff-sequences: 29.6.3
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-diff@30.4.1:
- dependencies:
- '@jest/diff-sequences': 30.4.0
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- pretty-format: 30.4.1
-
- jest-docblock@29.7.0:
- dependencies:
- detect-newline: 3.1.0
-
- jest-each@29.7.0:
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- jest-get-type: 29.6.3
- jest-util: 29.7.0
- pretty-format: 29.7.0
-
- jest-environment-jsdom@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/jsdom': 20.0.1
- '@types/node': 24.12.4
- jest-mock: 29.7.0
- jest-util: 29.7.0
- jsdom: 20.0.3
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
jest-environment-node@29.7.0:
dependencies:
'@jest/environment': 29.7.0
@@ -16577,33 +15858,6 @@ snapshots:
jest-mock: 29.7.0
jest-util: 29.7.0
- jest-expo@54.0.17(@babel/core@7.29.0)(expo@54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(jest@29.7.0(@types/node@24.12.4))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0):
- dependencies:
- '@expo/config': 12.0.13
- '@expo/json-file': 10.0.14
- '@jest/create-cache-key-function': 29.7.0
- '@jest/globals': 29.7.0
- babel-jest: 29.7.0(@babel/core@7.29.0)
- expo: 54.0.34(@babel/core@7.29.0)(react-native-webview@13.15.0(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)
- jest-environment-jsdom: 29.7.0
- jest-snapshot: 29.7.0
- jest-watch-select-projects: 2.0.0
- jest-watch-typeahead: 2.2.1(jest@29.7.0(@types/node@24.12.4))
- json5: 2.2.3
- lodash: 4.18.1
- react-native: 0.81.5(patch_hash=2656ac6deb71b92a4df4af4593d13ace6a5740936432e5e7e8ef32bc3cd05194)(@babel/core@7.29.0)(@types/react@19.1.17)(react@19.1.0)
- react-test-renderer: 19.1.0(react@19.1.0)
- server-only: 0.0.1
- stacktrace-js: 2.0.2
- transitivePeerDependencies:
- - '@babel/core'
- - bufferutil
- - canvas
- - jest
- - react
- - supports-color
- - utf-8-validate
-
jest-get-type@29.6.3: {}
jest-haste-map@29.7.0:
@@ -16622,32 +15876,6 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- jest-junit@16.0.0:
- dependencies:
- mkdirp: 1.0.4
- strip-ansi: 6.0.1
- uuid: 8.3.2
- xml: 1.0.1
-
- jest-leak-detector@29.7.0:
- dependencies:
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-matcher-utils@29.7.0:
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
-
- jest-matcher-utils@30.4.1:
- dependencies:
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- jest-diff: 30.4.1
- pretty-format: 30.4.1
-
jest-message-util@29.7.0:
dependencies:
'@babel/code-frame': 7.29.0
@@ -16666,109 +15894,8 @@ snapshots:
'@types/node': 24.12.4
jest-util: 29.7.0
- jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
- optionalDependencies:
- jest-resolve: 29.7.0
-
jest-regex-util@29.6.3: {}
- jest-resolve-dependencies@29.7.0:
- dependencies:
- jest-regex-util: 29.6.3
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
-
- jest-resolve@29.7.0:
- dependencies:
- chalk: 4.1.2
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- resolve: 1.22.12
- resolve.exports: 2.0.3
- slash: 3.0.0
-
- jest-runner@29.7.0:
- dependencies:
- '@jest/console': 29.7.0
- '@jest/environment': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- chalk: 4.1.2
- emittery: 0.13.1
- graceful-fs: 4.2.11
- jest-docblock: 29.7.0
- jest-environment-node: 29.7.0
- jest-haste-map: 29.7.0
- jest-leak-detector: 29.7.0
- jest-message-util: 29.7.0
- jest-resolve: 29.7.0
- jest-runtime: 29.7.0
- jest-util: 29.7.0
- jest-watcher: 29.7.0
- jest-worker: 29.7.0
- p-limit: 3.1.0
- source-map-support: 0.5.13
- transitivePeerDependencies:
- - supports-color
-
- jest-runtime@29.7.0:
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/globals': 29.7.0
- '@jest/source-map': 29.6.3
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- chalk: 4.1.2
- cjs-module-lexer: 1.4.3
- collect-v8-coverage: 1.0.3
- glob: 7.2.3
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-regex-util: 29.6.3
- jest-resolve: 29.7.0
- jest-snapshot: 29.7.0
- jest-util: 29.7.0
- slash: 3.0.0
- strip-bom: 4.0.0
- transitivePeerDependencies:
- - supports-color
-
- jest-snapshot@29.7.0:
- dependencies:
- '@babel/core': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
- '@babel/types': 7.29.0
- '@jest/expect-utils': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0)
- chalk: 4.1.2
- expect: 29.7.0
- graceful-fs: 4.2.11
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- jest-matcher-utils: 29.7.0
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- natural-compare: 1.4.0
- pretty-format: 29.7.0
- semver: 7.8.0
- transitivePeerDependencies:
- - supports-color
-
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
@@ -16787,34 +15914,6 @@ snapshots:
leven: 3.1.0
pretty-format: 29.7.0
- jest-watch-select-projects@2.0.0:
- dependencies:
- ansi-escapes: 4.3.2
- chalk: 3.0.0
- prompts: 2.4.2
-
- jest-watch-typeahead@2.2.1(jest@29.7.0(@types/node@24.12.4)):
- dependencies:
- ansi-escapes: 6.2.1
- chalk: 4.1.2
- jest: 29.7.0(@types/node@24.12.4)
- jest-regex-util: 29.6.3
- jest-watcher: 29.7.0
- slash: 5.1.0
- string-length: 5.0.1
- strip-ansi: 7.2.0
-
- jest-watcher@29.7.0:
- dependencies:
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 24.12.4
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- emittery: 0.13.1
- jest-util: 29.7.0
- string-length: 4.0.2
-
jest-worker@27.5.1:
dependencies:
'@types/node': 24.12.4
@@ -16828,18 +15927,6 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@24.12.4):
- dependencies:
- '@jest/core': 29.7.0
- '@jest/types': 29.6.3
- import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@24.12.4)
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
-
jimp-compact@0.16.1: {}
jiti@2.7.0: {}
@@ -16895,6 +15982,7 @@ snapshots:
- bufferutil
- supports-color
- utf-8-validate
+ optional: true
jsesc@3.1.0: {}
@@ -17397,8 +16485,6 @@ snapshots:
mimic-fn@4.0.0: {}
- min-indent@1.0.1: {}
-
mini-css-extract-plugin@2.10.2(webpack@5.106.2(postcss@8.5.14)):
dependencies:
schema-utils: 4.3.3
@@ -17530,7 +16616,8 @@ snapshots:
nullthrows@1.1.1: {}
- nwsapi@2.2.23: {}
+ nwsapi@2.2.23:
+ optional: true
ob1@0.83.3:
dependencies:
@@ -17714,6 +16801,7 @@ snapshots:
parse5@7.3.0:
dependencies:
entities: 6.0.1
+ optional: true
parseurl@1.3.3: {}
@@ -18012,13 +17100,6 @@ snapshots:
ansi-styles: 5.2.0
react-is: 18.3.1
- pretty-format@30.4.1:
- dependencies:
- '@jest/schemas': 30.4.1
- ansi-styles: 5.2.0
- react-is-18: react-is@18.3.1
- react-is-19: react-is@19.2.6
-
proc-log@4.2.0: {}
process-nextick-args@2.0.1: {}
@@ -18164,8 +17245,6 @@ snapshots:
punycode@2.3.1: {}
- pure-rand@6.1.0: {}
-
qrcode-terminal@0.11.0: {}
qrcode@1.5.4:
@@ -18185,7 +17264,8 @@ snapshots:
split-on-first: 1.1.0
strict-uri-encode: 2.0.0
- querystringify@2.2.0: {}
+ querystringify@2.2.0:
+ optional: true
queue-microtask@1.2.3: {}
@@ -18562,12 +17642,6 @@ snapshots:
optionalDependencies:
'@types/react': 19.1.17
- react-test-renderer@19.1.0(react@19.1.0):
- dependencies:
- react: 19.1.0
- react-is: 19.2.6
- scheduler: 0.26.0
-
react-textarea-autosize@8.5.9(@types/react@19.1.17)(react@19.1.0):
dependencies:
'@babel/runtime': 7.29.2
@@ -18603,11 +17677,6 @@ snapshots:
dependencies:
picomatch: 2.3.2
- redent@3.0.0:
- dependencies:
- indent-string: 4.0.0
- strip-indent: 3.0.0
-
reflect.getprototypeof@1.0.10:
dependencies:
call-bind: 1.0.9
@@ -18686,10 +17755,6 @@ snapshots:
reselect@4.1.8: {}
- resolve-cwd@3.0.0:
- dependencies:
- resolve-from: 5.0.0
-
resolve-from@4.0.0: {}
resolve-from@5.0.0: {}
@@ -18808,6 +17873,7 @@ snapshots:
saxes@6.0.0:
dependencies:
xmlchars: 2.2.0
+ optional: true
scheduler@0.26.0: {}
@@ -18890,8 +17956,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- server-only@0.0.1: {}
-
set-blocking@2.0.0: {}
set-function-length@1.2.2:
@@ -18993,8 +18057,6 @@ snapshots:
slash@4.0.0: {}
- slash@5.1.0: {}
-
slice-ansi@5.0.0:
dependencies:
ansi-styles: 6.2.3
@@ -19034,18 +18096,11 @@ snapshots:
source-map-js: 1.2.1
webpack: 5.106.2(postcss@8.5.14)
- source-map-support@0.5.13:
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
-
source-map-support@0.5.21:
dependencies:
buffer-from: 1.1.2
source-map: 0.6.1
- source-map@0.5.6: {}
-
source-map@0.5.7: {}
source-map@0.6.1: {}
@@ -19081,10 +18136,6 @@ snapshots:
stable@0.1.8: {}
- stack-generator@2.0.10:
- dependencies:
- stackframe: 1.3.4
-
stack-utils@2.0.6:
dependencies:
escape-string-regexp: 2.0.0
@@ -19093,17 +18144,6 @@ snapshots:
stackframe@1.3.4: {}
- stacktrace-gps@3.1.2:
- dependencies:
- source-map: 0.5.6
- stackframe: 1.3.4
-
- stacktrace-js@2.0.2:
- dependencies:
- error-stack-parser: 2.1.4
- stack-generator: 2.0.10
- stacktrace-gps: 3.1.2
-
stacktrace-parser@0.1.11:
dependencies:
type-fest: 0.7.1
@@ -19125,16 +18165,6 @@ snapshots:
string-argv@0.3.2: {}
- string-length@4.0.2:
- dependencies:
- char-regex: 1.0.2
- strip-ansi: 6.0.1
-
- string-length@5.0.1:
- dependencies:
- char-regex: 2.0.2
- strip-ansi: 7.2.0
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -19211,16 +18241,10 @@ snapshots:
dependencies:
ansi-regex: 6.2.2
- strip-bom@4.0.0: {}
-
strip-final-newline@2.0.0: {}
strip-final-newline@3.0.0: {}
- strip-indent@3.0.0:
- dependencies:
- min-indent: 1.0.1
-
strip-json-comments@2.0.1: {}
strip-json-comments@3.1.1: {}
@@ -19288,7 +18312,8 @@ snapshots:
picocolors: 1.1.1
sax: 1.6.0
- symbol-tree@3.2.4: {}
+ symbol-tree@3.2.4:
+ optional: true
tapable@2.3.3: {}
@@ -19404,6 +18429,7 @@ snapshots:
punycode: 2.3.1
universalify: 0.2.0
url-parse: 1.5.10
+ optional: true
toygrad@2.6.0: {}
@@ -19412,6 +18438,7 @@ snapshots:
tr46@3.0.0:
dependencies:
punycode: 2.3.1
+ optional: true
ts-api-utils@2.5.0(typescript@6.0.3):
dependencies:
@@ -19520,7 +18547,8 @@ snapshots:
unicode-segmenter@0.14.5: {}
- universalify@0.2.0: {}
+ universalify@0.2.0:
+ optional: true
universalify@2.0.1: {}
@@ -19576,6 +18604,7 @@ snapshots:
dependencies:
querystringify: 2.2.0
requires-port: 1.0.0
+ optional: true
use-callback-ref@1.3.3(@types/react@19.1.17)(react@19.1.0):
dependencies:
@@ -19643,12 +18672,6 @@ snapshots:
uuid@9.0.1: {}
- v8-to-istanbul@9.3.0:
- dependencies:
- '@jridgewell/trace-mapping': 0.3.31
- '@types/istanbul-lib-coverage': 2.0.6
- convert-source-map: 2.0.0
-
validate-npm-package-name@5.0.1: {}
vary@1.1.2: {}
@@ -19708,6 +18731,7 @@ snapshots:
w3c-xmlserializer@4.0.0:
dependencies:
xml-name-validator: 4.0.0
+ optional: true
walker@1.0.8:
dependencies:
@@ -19732,7 +18756,8 @@ snapshots:
webidl-conversions@5.0.0: {}
- webidl-conversions@7.0.0: {}
+ webidl-conversions@7.0.0:
+ optional: true
webpack-bundle-analyzer@4.10.2:
dependencies:
@@ -19867,10 +18892,12 @@ snapshots:
whatwg-encoding@2.0.0:
dependencies:
iconv-lite: 0.6.3
+ optional: true
whatwg-fetch@3.6.20: {}
- whatwg-mimetype@3.0.0: {}
+ whatwg-mimetype@3.0.0:
+ optional: true
whatwg-url-without-unicode@8.0.0-3:
dependencies:
@@ -19882,6 +18909,7 @@ snapshots:
dependencies:
tr46: 3.0.0
webidl-conversions: 7.0.0
+ optional: true
whatwg-url@5.0.0:
dependencies:
@@ -19982,20 +19010,20 @@ snapshots:
simple-plist: 1.3.1
uuid: 7.0.3
- xml-name-validator@4.0.0: {}
+ xml-name-validator@4.0.0:
+ optional: true
xml2js@0.6.0:
dependencies:
sax: 1.6.0
xmlbuilder: 11.0.1
- xml@1.0.1: {}
-
xmlbuilder@11.0.1: {}
xmlbuilder@15.1.1: {}
- xmlchars@2.2.0: {}
+ xmlchars@2.2.0:
+ optional: true
y18n@4.0.3: {}
diff --git a/src/state/session/__tests__/session-test.ts b/src/state/session/__tests__/session.test.ts
similarity index 99%
rename from src/state/session/__tests__/session-test.ts
rename to src/state/session/__tests__/session.test.ts
index eebcfcf8d2..298ac5aa06 100644
--- a/src/state/session/__tests__/session-test.ts
+++ b/src/state/session/__tests__/session.test.ts
@@ -1,21 +1,21 @@
import {AtpAgent} from '@atproto/api'
-import {describe, expect, it, jest} from '@jest/globals'
+import {vi} from 'vitest'
import {agentToSessionAccountOrThrow} from '../agent'
import {type Action, getInitialState, reducer, type State} from '../reducer'
-jest.mock('jwt-decode', () => ({
+vi.mock('jwt-decode', () => ({
jwtDecode(_token: string) {
return {}
},
}))
-jest.mock('../../birthdate')
-jest.mock('../../../ageAssurance/data')
-jest.mock('../../../ageAssurance/state', () => ({
+vi.mock('../../birthdate')
+vi.mock('../../../ageAssurance/data')
+vi.mock('../../../ageAssurance/state', () => ({
unsafeGetAndComputeAgeAssurance: () => ({state: {}}),
}))
-jest.mock('#/lib/notifications/notifications', () => ({
+vi.mock('#/lib/notifications/notifications', () => ({
unregisterPushToken(_agents: AtpAgent[]) {
return Promise.resolve()
},
diff --git a/tsconfig.json b/tsconfig.json
index c3f559d917..e5e985dcd2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -4,7 +4,7 @@
"jsx": "react-jsx",
"module": "esnext",
"lib": ["dom", "esnext"],
- "types": ["node", "jest"],
+ "types": ["node", "vitest/globals"],
"paths": {
"#/*": ["./src/*"],
"crypto": ["./src/platform/crypto.ts"],