From ee5e1ae5490170f60c06723fa8ba4ab3aed74ddb Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 06:55:16 -0700 Subject: [PATCH 1/9] added a test for the budgets widget --- example/maestro/budgetsWidget.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 example/maestro/budgetsWidget.yaml diff --git a/example/maestro/budgetsWidget.yaml b/example/maestro/budgetsWidget.yaml new file mode 100644 index 0000000..ef1c7dc --- /dev/null +++ b/example/maestro/budgetsWidget.yaml @@ -0,0 +1,10 @@ +# This test assumes that a budget has been generated for the specific user + +appId: com.anonymous.example +--- +- launchApp +- tapOn: "Budgets" +- scrollUntilVisible: + centerElement: true + element: + text: "Spent.*Budgeted" From d3a837fed783042052c37c7488795162dd985f4e Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 08:07:29 -0700 Subject: [PATCH 2/9] added tests for the goals widget and added retries to improve test reliability --- example/maestro/budgetsWidget.yaml | 13 +++++++------ example/maestro/connectWidget.yaml | 11 ++++++----- example/maestro/goalsWidget.yaml | 10 ++++++++++ 3 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 example/maestro/goalsWidget.yaml diff --git a/example/maestro/budgetsWidget.yaml b/example/maestro/budgetsWidget.yaml index ef1c7dc..fa6a45a 100644 --- a/example/maestro/budgetsWidget.yaml +++ b/example/maestro/budgetsWidget.yaml @@ -2,9 +2,10 @@ appId: com.anonymous.example --- -- launchApp -- tapOn: "Budgets" -- scrollUntilVisible: - centerElement: true - element: - text: "Spent.*Budgeted" +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Budgets" + - assertVisible: "$.*" + - assertVisible: "Spent" diff --git a/example/maestro/connectWidget.yaml b/example/maestro/connectWidget.yaml index c89a80d..8102713 100644 --- a/example/maestro/connectWidget.yaml +++ b/example/maestro/connectWidget.yaml @@ -1,7 +1,8 @@ appId: com.anonymous.example --- -- launchApp -- tapOn: "Connect" -- assertVisible: "Select your institution" -- tapOn: ".*MX Bank.*" -- assertVisible: "Enter your credentials" +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Connect" + - assertVisible: "Select your institution" diff --git a/example/maestro/goalsWidget.yaml b/example/maestro/goalsWidget.yaml new file mode 100644 index 0000000..94b336d --- /dev/null +++ b/example/maestro/goalsWidget.yaml @@ -0,0 +1,10 @@ +appId: com.anonymous.example +--- +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Goals" + - assertVisible: ".*Total.*" + - assertVisible: ".*Monthly.*" + - assertVisible: ".*Contribution.*" From 3e6914c28dadcbcc1c717a76c70cc7f9b121e24c Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 08:15:58 -0700 Subject: [PATCH 3/9] added e2e tests for the pulse widget --- example/maestro/pulseWidget.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 example/maestro/pulseWidget.yaml diff --git a/example/maestro/pulseWidget.yaml b/example/maestro/pulseWidget.yaml new file mode 100644 index 0000000..07b9917 --- /dev/null +++ b/example/maestro/pulseWidget.yaml @@ -0,0 +1,8 @@ +appId: com.anonymous.example +--- +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Pulse" + - assertVisible: ".*see what insights we have for you.*" From fec4e768cc34371b540c71da831e4a56f836a0a4 Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 08:33:03 -0700 Subject: [PATCH 4/9] added a test for the spending widget --- example/maestro/spendingWidget.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 example/maestro/spendingWidget.yaml diff --git a/example/maestro/spendingWidget.yaml b/example/maestro/spendingWidget.yaml new file mode 100644 index 0000000..14ddf2f --- /dev/null +++ b/example/maestro/spendingWidget.yaml @@ -0,0 +1,10 @@ +appId: com.anonymous.example +--- +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Spending" + - assertVisible: "Spending" + - assertVisible: "Income" + - assertVisible: "Total.*" From 480a001e082f0bfe35dc9b8a4a4a57d726046629 Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 09:00:54 -0700 Subject: [PATCH 5/9] added e2e tests for the transactions widget --- example/maestro/transactionsWidget.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 example/maestro/transactionsWidget.yaml diff --git a/example/maestro/transactionsWidget.yaml b/example/maestro/transactionsWidget.yaml new file mode 100644 index 0000000..a99b6ca --- /dev/null +++ b/example/maestro/transactionsWidget.yaml @@ -0,0 +1,8 @@ +appId: com.anonymous.example +--- +- retry: + maxRetries: 3 + commands: + - launchApp + - tapOn: "Transactions" + - assertVisible: "Transfer.*" From ce5b84e6675c6973335435703e4fab2e72661869 Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 09:02:38 -0700 Subject: [PATCH 6/9] ticked version and updated changelog --- CHANGELOG.md | 6 ++++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88b1d79..75e9c67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +## [2.0.2] + +### Added + +- More E2E tests + ## [2.0.1] ### Added diff --git a/package-lock.json b/package-lock.json index 83eeee6..7ccdfb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mxenabled/react-native-widget-sdk", - "version": "2.0.1", + "version": "2.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mxenabled/react-native-widget-sdk", - "version": "2.0.1", + "version": "2.0.2", "license": "MIT", "dependencies": { "@mxenabled/widget-post-message-definitions": "^1.4.0", diff --git a/package.json b/package.json index 862b9e2..a556a16 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@mxenabled/react-native-widget-sdk", "description": "MX React Native Widget SDK", - "version": "2.0.1", + "version": "2.0.2", "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/index.d.ts", From 9fe7edf918d0983b95d1383dc1bbe1938cf07e41 Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Wed, 7 Jan 2026 09:04:07 -0700 Subject: [PATCH 7/9] audit fix --- package-lock.json | 123 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 85 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ccdfb4..5af19bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5369,24 +5369,24 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -5403,6 +5403,27 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -5423,6 +5444,16 @@ "node": ">= 0.8" } }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", @@ -6984,22 +7015,6 @@ "dev": true, "license": "MIT" }, - "node_modules/express/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -7641,6 +7656,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -10508,13 +10524,13 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -10587,17 +10603,48 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } From ddcf99a39d728ef5481bf831eb588c1a58c1fb3a Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Tue, 13 Jan 2026 14:56:21 -0700 Subject: [PATCH 8/9] standardizing on a specific client for e2e tests and fixed tests on ios and android --- .mx-sso-proxy-rc.example.yml | 7 ++++++- example/maestro/budgetsWidget.yaml | 5 +++-- example/maestro/connectWidget.yaml | 2 +- example/maestro/goalsWidget.yaml | 9 +++++---- example/maestro/pulseWidget.yaml | 2 +- example/maestro/spendingWidget.yaml | 7 +++---- example/maestro/transactionsWidget.yaml | 2 +- 7 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.mx-sso-proxy-rc.example.yml b/.mx-sso-proxy-rc.example.yml index 3701d35..96e6d9a 100644 --- a/.mx-sso-proxy-rc.example.yml +++ b/.mx-sso-proxy-rc.example.yml @@ -1,4 +1,9 @@ +# For the E2E tests to pass a client needs to be setup in a certain way to ensure the correct widgets are returned +# This test client should be used when running e2e tests: https://batcave.int.internal.mx/clients/CLT-9c423da1-3b85-4218-bb4c-a66ab8a9c133 +# The clientId and apiKey can be retrieved from the client page in batcave +# Other users can be used, but the example user is known to work + apiKey: "" apiHost: "https://int-api.mx.com" clientId: "" -defaultUserGuid: "" +defaultUserGuid: "USR-e7353471-51d7-447f-b621-db255148a10c" diff --git a/example/maestro/budgetsWidget.yaml b/example/maestro/budgetsWidget.yaml index fa6a45a..a00560d 100644 --- a/example/maestro/budgetsWidget.yaml +++ b/example/maestro/budgetsWidget.yaml @@ -3,9 +3,10 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Budgets" - assertVisible: "$.*" - - assertVisible: "Spent" + - scrollUntilVisible: + element: "Budget Categories" diff --git a/example/maestro/connectWidget.yaml b/example/maestro/connectWidget.yaml index 8102713..18a6d60 100644 --- a/example/maestro/connectWidget.yaml +++ b/example/maestro/connectWidget.yaml @@ -1,7 +1,7 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Connect" diff --git a/example/maestro/goalsWidget.yaml b/example/maestro/goalsWidget.yaml index 94b336d..f5e7eb9 100644 --- a/example/maestro/goalsWidget.yaml +++ b/example/maestro/goalsWidget.yaml @@ -1,10 +1,11 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Goals" - - assertVisible: ".*Total.*" - - assertVisible: ".*Monthly.*" - - assertVisible: ".*Contribution.*" + - assertVisible: "Goals" + - assertVisible: "Saving.*" + - assertVisible: "Debt.*" + - assertVisible: "Retirement.*" diff --git a/example/maestro/pulseWidget.yaml b/example/maestro/pulseWidget.yaml index 07b9917..888c785 100644 --- a/example/maestro/pulseWidget.yaml +++ b/example/maestro/pulseWidget.yaml @@ -1,7 +1,7 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Pulse" diff --git a/example/maestro/spendingWidget.yaml b/example/maestro/spendingWidget.yaml index 14ddf2f..7d129f1 100644 --- a/example/maestro/spendingWidget.yaml +++ b/example/maestro/spendingWidget.yaml @@ -1,10 +1,9 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Spending" - - assertVisible: "Spending" - - assertVisible: "Income" - - assertVisible: "Total.*" + - assertVisible: "Spending.*" + - assertVisible: "Income.*" diff --git a/example/maestro/transactionsWidget.yaml b/example/maestro/transactionsWidget.yaml index a99b6ca..605b7ca 100644 --- a/example/maestro/transactionsWidget.yaml +++ b/example/maestro/transactionsWidget.yaml @@ -1,7 +1,7 @@ appId: com.anonymous.example --- - retry: - maxRetries: 3 + maxRetries: 2 commands: - launchApp - tapOn: "Transactions" From 99cb0f9dcf556207dc58424c8dc2698141f4bff1 Mon Sep 17 00:00:00 2001 From: Wes Risenmay Date: Tue, 13 Jan 2026 14:58:21 -0700 Subject: [PATCH 9/9] npm audit --- example/package-lock.json | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/example/package-lock.json b/example/package-lock.json index fab482e..3b37040 100644 --- a/example/package-lock.json +++ b/example/package-lock.json @@ -46,7 +46,7 @@ }, "..": { "name": "@mxenabled/react-native-widget-sdk", - "version": "2.0.0", + "version": "2.0.2", "license": "MIT", "dependencies": { "@mxenabled/widget-post-message-definitions": "^1.4.0", @@ -55,17 +55,19 @@ }, "devDependencies": { "@mxenabled/sso-api-proxy": "^1.3.4", - "@testing-library/react-native": "^9.0.0", + "@react-native/babel-preset": "^0.83.0", + "@testing-library/react-native": "^13.3.3", + "@types/jest": "^29.5.0", "@types/node-fetch": "^2.5.12", "@types/react": "^19.1.0", "@types/react-native-base64": "^0.2.0", "@types/react-test-renderer": "^18.3.0", "@typescript-eslint/eslint-plugin": "^5.11.0", "@typescript-eslint/parser": "^5.11.0", - "@vitest/coverage-v8": "^4.0.15", "concurrently": "^9.2.1", "eslint": "^8.19.0", "eslint-plugin-react-hooks": "^4.3.0", + "jest": "^29.5.0", "msw": "^2.12.4", "node-fetch": "^2.6.7", "nodemon": "^3.1.11", @@ -74,12 +76,11 @@ "react-native": "^0.81.5", "react-native-base64": "^0.2.1", "react-test-renderer": "^19.0.0", + "ts-jest": "^29.1.0", "ts-node": "^10.4.0", "typescript": "^4.5.5", "vite": "^7.2.7", - "vite-plugin-dts": "^4.5.4", - "vitest": "^4.0.15", - "vitest-react-native": "^0.1.5" + "vite-plugin-dts": "^4.5.4" }, "peerDependencies": { "react": "*", @@ -3171,9 +3172,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", - "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "version": "1.23.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz", + "integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==", "license": "MIT", "engines": { "node": ">=14.0.0" @@ -10585,12 +10586,12 @@ } }, "node_modules/react-router": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.0.tgz", - "integrity": "sha512-D3X8FyH9nBcTSHGdEKurK7r8OYE1kKFn3d/CF+CoxbSHkxU7o37+Uh7eAHRXr6k2tSExXYO++07PeXJtA/dEhQ==", + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz", + "integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==", "license": "MIT", "dependencies": { - "@remix-run/router": "1.23.0" + "@remix-run/router": "1.23.2" }, "engines": { "node": ">=14.0.0" @@ -10600,13 +10601,13 @@ } }, "node_modules/react-router-native": { - "version": "6.30.0", - "resolved": "https://registry.npmjs.org/react-router-native/-/react-router-native-6.30.0.tgz", - "integrity": "sha512-xYlz29ku+QiqXztwGOmzCXZqT8ItihfO2VAT9uvUibRIJR423lnsxj85oDSsGP9Upie4NiX8VMS/Zd4vyueRww==", + "version": "6.30.3", + "resolved": "https://registry.npmjs.org/react-router-native/-/react-router-native-6.30.3.tgz", + "integrity": "sha512-FnZXlDb/v138h/wyfVB2o3YEsK7tHbwZRARULhIoo5YzOcWe5CLXtBuGp1kQMegsPPV8WAR38LZiXckz67nGbQ==", "license": "MIT", "dependencies": { "@ungap/url-search-params": "^0.2.2", - "react-router": "6.30.0" + "react-router": "6.30.3" }, "engines": { "node": ">=14.0.0"