diff --git a/.changeset/security-tooling-cleanup.md b/.changeset/security-tooling-cleanup.md new file mode 100644 index 00000000000..e38a3700024 --- /dev/null +++ b/.changeset/security-tooling-cleanup.md @@ -0,0 +1,30 @@ +--- +'@fluentui-react-native/codemods': patch +'@fluentui-react-native/design': patch +'@uifabricshared/foundation-compose': patch +'@fluentui-react-native/avatar': patch +'@fluentui-react-native/badge': patch +'@fluentui-react-native/button': patch +'@fluentui-react-native/checkbox': patch +'@fluentui-react-native/chip': patch +'@fluentui-react-native/contextual-menu': patch +'@fluentui-react-native/divider': patch +'@fluentui-react-native/icon': patch +'@fluentui-react-native/input': patch +'@fluentui-react-native/menu': patch +'@fluentui-react-native/menu-button': patch +'@fluentui-react-native/notification': patch +'@fluentui-react-native/radio-group': patch +'@fluentui-react-native/tablist': patch +'@fluentui-react-native/experimental-activity-indicator': patch +'@fluentui-react-native/experimental-checkbox': patch +'@fluentui-react-native/dropdown': patch +'@fluentui-react-native/experimental-menu-button': patch +'@fluentui-react-native/overflow': patch +'@fluentui-react-native/experimental-shimmer': patch +'@fluentui-react-native/spinner': patch +'@fluentui-react-native/tooltip': patch +'@fluentui/react-native': patch +--- + +Refresh dependency alignment with current rnx-kit tools and remove retired depcheck configuration. diff --git a/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch b/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch new file mode 100644 index 00000000000..96bfbd2bb39 --- /dev/null +++ b/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch @@ -0,0 +1,72 @@ +diff --git a/dist/cjs.js b/dist/cjs.js +index 7c36cbdd06cc22c92d590be3f87a08a91ca06b40..f5a058f5680ae278304711b8413cd9a90b3fb328 100644 +--- a/dist/cjs.js ++++ b/dist/cjs.js +@@ -71,7 +71,8 @@ function propertyIsOnObject(object, property) { + + // Protects from prototype poisoning and unexpected merging up the prototype chain. + function propertyIsUnsafe(target, key) { +- return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, ++ return key === '__proto__' || key === 'constructor' || key === 'prototype' ++ || propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. + } +@@ -80,6 +81,9 @@ function mergeObject(target, source, options) { + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { ++ if (propertyIsUnsafe(target, key)) { ++ return ++ } + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } +diff --git a/dist/umd.js b/dist/umd.js +index 4071e7c56ec8e5273fe166f6e723ac460fab8b72..2936f900c75f44e618a31b756f27bcaede1a00a5 100644 +--- a/dist/umd.js ++++ b/dist/umd.js +@@ -75,7 +75,8 @@ + + // Protects from prototype poisoning and unexpected merging up the prototype chain. + function propertyIsUnsafe(target, key) { +- return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, ++ return key === '__proto__' || key === 'constructor' || key === 'prototype' ++ || propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. + } +@@ -84,6 +85,9 @@ + var destination = {}; + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { ++ if (propertyIsUnsafe(target, key)) { ++ return ++ } + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); + }); + } +diff --git a/index.js b/index.js +index 77968aed5d456cccc294f60912ef381fa1e52a7b..4e3fc275860d43e9570fc5c0a76f644f3de791f2 100644 +--- a/index.js ++++ b/index.js +@@ -46,7 +46,8 @@ function propertyIsOnObject(object, property) { + + // Protects from prototype poisoning and unexpected merging up the prototype chain. + function propertyIsUnsafe(target, key) { +- return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, ++ return key === '__proto__' || key === 'constructor' || key === 'prototype' ++ || propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet, + && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain, + && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable. + } +@@ -55,6 +56,9 @@ function mergeObject(target, source, options) { + var destination = {} + if (options.isMergeableObject(target)) { + getKeys(target).forEach(function(key) { ++ if (propertyIsUnsafe(target, key)) { ++ return ++ } + destination[key] = cloneUnlessOtherwiseSpecified(target[key], options) + }) + } diff --git a/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch b/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch new file mode 100644 index 00000000000..f3c331e0747 --- /dev/null +++ b/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch @@ -0,0 +1,127 @@ +diff --git a/dist/commonjs/walker.js b/dist/commonjs/walker.js +index cb15946d9a852cf8147b2c53f4021c796df36ef9..b98a40b382ec7c2cd3b3f674f4568bb9b24cc8c3 100644 +--- a/dist/commonjs/walker.js ++++ b/dist/commonjs/walker.js +@@ -77,8 +77,6 @@ class GlobUtil { + } + } + onResume(fn) { +- if (this.signal?.aborted) +- return; + /* c8 ignore start */ + if (!this.paused) { + fn(); +@@ -185,7 +183,7 @@ class GlobUtil { + walkCB(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) +- cb(); ++ return cb(); + /* c8 ignore stop */ + this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb); + } +@@ -193,7 +191,7 @@ class GlobUtil { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) +- cb(); ++ return cb(); + if (this.paused) { + this.onResume(() => this.walkCB2(target, patterns, processor, cb)); + return; +@@ -249,7 +247,7 @@ class GlobUtil { + walkCBSync(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) +- cb(); ++ return cb(); + /* c8 ignore stop */ + this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb); + } +@@ -257,7 +255,7 @@ class GlobUtil { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) +- cb(); ++ return cb(); + if (this.paused) { + this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb)); + return; +diff --git a/dist/esm/walker.js b/dist/esm/walker.js +index 3d68196c4f175f6b314b444e409f9b8a77164963..c3d401c2246bca0822bbb8f29a576beb858aef8a 100644 +--- a/dist/esm/walker.js ++++ b/dist/esm/walker.js +@@ -74,8 +74,6 @@ export class GlobUtil { + } + } + onResume(fn) { +- if (this.signal?.aborted) +- return; + /* c8 ignore start */ + if (!this.paused) { + fn(); +@@ -182,7 +180,7 @@ export class GlobUtil { + walkCB(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) +- cb(); ++ return cb(); + /* c8 ignore stop */ + this.walkCB2(target, patterns, new Processor(this.opts), cb); + } +@@ -190,7 +188,7 @@ export class GlobUtil { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) +- cb(); ++ return cb(); + if (this.paused) { + this.onResume(() => this.walkCB2(target, patterns, processor, cb)); + return; +@@ -246,7 +244,7 @@ export class GlobUtil { + walkCBSync(target, patterns, cb) { + /* c8 ignore start */ + if (this.signal?.aborted) +- cb(); ++ return cb(); + /* c8 ignore stop */ + this.walkCB2Sync(target, patterns, new Processor(this.opts), cb); + } +@@ -254,7 +252,7 @@ export class GlobUtil { + if (this.#childrenIgnored(target)) + return cb(); + if (this.signal?.aborted) +- cb(); ++ return cb(); + if (this.paused) { + this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb)); + return; +diff --git a/package.json b/package.json +index 03ed19143e0c566f9df9a8d158b303d75a4a60b6..8cb27a4806637f042c328a0345d4616b58a7acc4 100644 +--- a/package.json ++++ b/package.json +@@ -20,8 +20,8 @@ + } + } + }, +- "main": "./dist/commonjs/index.min.js", +- "module": "./dist/esm/index.min.js", ++ "main": "./dist/commonjs/index.js", ++ "module": "./dist/esm/index.js", + "types": "./dist/commonjs/index.d.ts", + "exports": { + "./package.json": "./package.json", +@@ -38,11 +38,11 @@ + ".": { + "import": { + "types": "./dist/esm/index.d.ts", +- "default": "./dist/esm/index.min.js" ++ "default": "./dist/esm/index.js" + }, + "require": { + "types": "./dist/commonjs/index.d.ts", +- "default": "./dist/commonjs/index.min.js" ++ "default": "./dist/commonjs/index.js" + } + } + }, diff --git a/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch b/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch new file mode 100644 index 00000000000..9243b5775f3 --- /dev/null +++ b/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch @@ -0,0 +1,13 @@ +diff --git a/lib/types/string.js b/lib/types/string.js +index aa8d6afe5ad8c6883f750a4d9f45e6a3a594cc46..689b00fc33db59d49a502375db6c0fcee90a171f 100755 +--- a/lib/types/string.js ++++ b/lib/types/string.js +@@ -294,7 +294,7 @@ module.exports = Any.extend({ + Assert(options.multiple === undefined || typeof options.multiple === 'boolean', 'multiple option must be an boolean'); + + const address = internals.addressOptions(options); +- const regex = new RegExp(`\\s*[${options.separator ? EscapeRegex(options.separator) : ','}]\\s*`); ++ const regex = options.multiple ? new RegExp(`(?:(? -> */**/ <== not valid because ** doesn't follow + // this WOULD be allowed if ** did follow symlinks, or * didn't + firstPhasePreProcess(globParts) { ++ const { braceExpandMax = 100_000 } = this.options; + let didSomething = false; + do { + didSomething = false; +@@ -480,7 +481,8 @@ class Minimatch { + p === '..' || + !p2 || + p2 === '.' || +- p2 === '..') { ++ p2 === '..' || ++ globParts.length >= braceExpandMax) { + continue; + } + didSomething = true; +@@ -537,6 +539,8 @@ class Minimatch { + // {
/**/,
/**/

/} ->

/**/
+     // ^-- not valid because ** doens't follow symlinks
+     secondPhasePreProcess(globParts) {
++        if (globParts.length > 1000)
++            return globParts;
+         for (let i = 0; i < globParts.length - 1; i++) {
+             for (let j = i + 1; j < globParts.length; j++) {
+                 const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+diff --git a/dist/esm/index.js b/dist/esm/index.js
+index a5e6fa88fdc6d6ec05d26ab4975718824cbc8bdc..11465360cb9b66b6922ae83df4b40e4c24b330d9 100644
+--- a/dist/esm/index.js
++++ b/dist/esm/index.js
+@@ -444,6 +444,7 @@ export class Minimatch {
+     // **/*/ -> */**/ <== not valid because ** doesn't follow
+     // this WOULD be allowed if ** did follow symlinks, or * didn't
+     firstPhasePreProcess(globParts) {
++        const { braceExpandMax = 100_000 } = this.options;
+         let didSomething = false;
+         do {
+             didSomething = false;
+@@ -471,7 +472,8 @@ export class Minimatch {
+                         p === '..' ||
+                         !p2 ||
+                         p2 === '.' ||
+-                        p2 === '..') {
++                        p2 === '..' ||
++                        globParts.length >= braceExpandMax) {
+                         continue;
+                     }
+                     didSomething = true;
+@@ -528,6 +530,8 @@ export class Minimatch {
+     // {
/**/,
/**/

/} ->

/**/
+     // ^-- not valid because ** doens't follow symlinks
+     secondPhasePreProcess(globParts) {
++        if (globParts.length > 1000)
++            return globParts;
+         for (let i = 0; i < globParts.length - 1; i++) {
+             for (let j = i + 1; j < globParts.length; j++) {
+                 const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
diff --git a/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch b/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch
new file mode 100644
index 00000000000..02289e67ce6
--- /dev/null
+++ b/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch
@@ -0,0 +1,62 @@
+diff --git a/dist/commonjs/index.js b/dist/commonjs/index.js
+index c12dc5e6476874f9dbba429a19e445a4a688e1df..84850bec3610e1002825d5f5b95b4212280d8c26 100644
+--- a/dist/commonjs/index.js
++++ b/dist/commonjs/index.js
+@@ -446,6 +446,7 @@ class Minimatch {
+     // **/*/ -> */**/ <== not valid because ** doesn't follow
+     // this WOULD be allowed if ** did follow symlinks, or * didn't
+     firstPhasePreProcess(globParts) {
++        const { braceExpandMax = 100_000 } = this.options;
+         let didSomething = false;
+         do {
+             didSomething = false;
+@@ -473,7 +474,8 @@ class Minimatch {
+                         p === '..' ||
+                         !p2 ||
+                         p2 === '.' ||
+-                        p2 === '..') {
++                        p2 === '..' ||
++                        globParts.length >= braceExpandMax) {
+                         continue;
+                     }
+                     didSomething = true;
+@@ -530,6 +532,8 @@ class Minimatch {
+     // {
/**/,
/**/

/} ->

/**/
+     // ^-- not valid because ** doens't follow symlinks
+     secondPhasePreProcess(globParts) {
++        if (globParts.length > 1000)
++            return globParts;
+         for (let i = 0; i < globParts.length - 1; i++) {
+             for (let j = i + 1; j < globParts.length; j++) {
+                 const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
+diff --git a/dist/esm/index.js b/dist/esm/index.js
+index 737c8095415235e69e4717b505d0ee4ea3c0b6fa..2f5c664caefe4ee02c87663def8c6e570f75a269 100644
+--- a/dist/esm/index.js
++++ b/dist/esm/index.js
+@@ -434,6 +434,7 @@ export class Minimatch {
+     // **/*/ -> */**/ <== not valid because ** doesn't follow
+     // this WOULD be allowed if ** did follow symlinks, or * didn't
+     firstPhasePreProcess(globParts) {
++        const { braceExpandMax = 100_000 } = this.options;
+         let didSomething = false;
+         do {
+             didSomething = false;
+@@ -461,7 +462,8 @@ export class Minimatch {
+                         p === '..' ||
+                         !p2 ||
+                         p2 === '.' ||
+-                        p2 === '..') {
++                        p2 === '..' ||
++                        globParts.length >= braceExpandMax) {
+                         continue;
+                     }
+                     didSomething = true;
+@@ -518,6 +520,8 @@ export class Minimatch {
+     // {
/**/,
/**/

/} ->

/**/
+     // ^-- not valid because ** doens't follow symlinks
+     secondPhasePreProcess(globParts) {
++        if (globParts.length > 1000)
++            return globParts;
+         for (let i = 0; i < globParts.length - 1; i++) {
+             for (let j = i + 1; j < globParts.length; j++) {
+                 const matched = this.partsMatch(globParts[i], globParts[j], !this.preserveMultipleSlashes);
diff --git a/.yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs b/.yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs
index 2beb8837a83..c0d89640c3f 100644
--- a/.yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs
+++ b/.yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs
@@ -68,7 +68,8 @@ exports.factory = (require) => {
           return;
         }
 
-        workspace.project.workspacesByCwd.forEach(({ cwd, manifest }) => {
+        const workspaces = workspace.project.workspacesByCwd.values();
+        for (const { cwd, manifest } of workspaces) {
           const { name, version, raw } = manifest;
           if (!name || !version) {
             return;
@@ -83,7 +84,7 @@ exports.factory = (require) => {
 
           const descriptor = structUtils.makeDescriptor(name, version);
           registerPackageExtension(descriptor, data);
-        });
+        }
       },
     },
   };
diff --git a/.yarnrc.yml b/.yarnrc.yml
index 5c0551301e4..c7d2e80034b 100644
--- a/.yarnrc.yml
+++ b/.yarnrc.yml
@@ -13,28 +13,28 @@ catalog:
   "@fluentui-react-native/design-tokens-macos": ^0.53.0
   "@fluentui-react-native/design-tokens-win32": ^0.53.0
   "@fluentui-react-native/design-tokens-windows": ^0.53.0
-  "@rnx-kit/align-deps": ^4.0.3
-  "@rnx-kit/babel-preset-metro-react-native": ^4.0.0
-  "@rnx-kit/cli": ^2.0.3
-  "@rnx-kit/config": ^0.9.0
+  "@rnx-kit/align-deps": ^5.0.1
+  "@rnx-kit/babel-preset-metro-react-native": ^4.0.2
+  "@rnx-kit/cli": ^2.0.7
+  "@rnx-kit/config": ^1.0.0
   "@rnx-kit/eslint-plugin": ^0.9.9
-  "@rnx-kit/jest-preset": ^0.3.2
-  "@rnx-kit/lint-json": ^0.2.0
-  "@rnx-kit/lint-lockfile": ^0.2.1
-  "@rnx-kit/lint-package": ^0.2.1
-  "@rnx-kit/metro-config": ^2.2.4
-  "@rnx-kit/metro-resolver-symlinks": ^0.3.1
+  "@rnx-kit/jest-preset": ^0.3.3
+  "@rnx-kit/lint-json": ^0.2.1
+  "@rnx-kit/lint-lockfile": ^0.2.3
+  "@rnx-kit/lint-package": ^0.2.2
+  "@rnx-kit/metro-config": ^2.2.6
+  "@rnx-kit/metro-resolver-symlinks": ^0.3.2
   "@rnx-kit/metro-serializer": ^2.0.3
-  "@rnx-kit/metro-serializer-esbuild": ^0.4.1
+  "@rnx-kit/metro-serializer-esbuild": ^0.4.2
   "@rnx-kit/oxlint-config": ^1.0.3
   "@rnx-kit/reporter": ^0.2.0
-  "@rnx-kit/tools-packages": ^0.1.3
-  "@rnx-kit/tools-react-native": ^2.3.8
-  "@rnx-kit/tools-typescript": ^0.2.1
-  "@rnx-kit/tools-workspaces": ^0.2.4
+  "@rnx-kit/tools-filesystem": ^0.2.0
+  "@rnx-kit/tools-formatting": ^0.2.0
+  "@rnx-kit/tools-react-native": ^2.3.10
+  "@rnx-kit/tools-workspaces": ^0.2.6
   "@rnx-kit/tsconfig": ^3.0.3
-  "@rnx-kit/types-kit-config": ^1.0.0
-  "@rnx-kit/types-node": ^1.0.0
+  "@rnx-kit/types-kit-config": ^2.0.0
+  "@rnx-kit/types-node": ^1.0.1
   "@testing-library/react-native": ^14.0.1
   "@types/jasmine": 5.1.13
   "@types/node": ^22.19.7
@@ -50,7 +50,6 @@ catalog:
   lage: ^2.14.19
   oxc-resolver: ^11.24.0
   react-native-test-app: ^5.3.3
-  rimraf: ^6.1.2
   test-renderer: 1.1.0
   webdriverio: ^10.1.0
 
@@ -110,7 +109,7 @@ packageExtensions:
 plugins:
   - path: .yarn/plugins/@yarnpkg/plugin-compat.cjs
     spec: "@yarnpkg/plugin-compat"
-  - checksum: 672e525b81762c6162366bd3ffec5e86ab8fac2655ef0267047e86a0f32e79a4bde0f170bc30479663f40aa3f006d91f8dc3289f679dd4dc5ae5a5d12ba3ad0b
+  - checksum: 7a8601ccc6985f33d41b7fb5e2f4a431cc5cda36ba9c0906326cb18230933042366bdec1551ebd41a3787f162e72a8da3cb4367b63f275ea9b66c3fdcf0666b0
     path: .yarn/plugins/@rnx-kit/yarn-plugin-dynamic-extensions.cjs
     spec: "https://raw.githubusercontent.com/microsoft/rnx-kit/main/incubator/yarn-plugin-dynamic-extensions/index.js"
   - checksum: 8d8252c376e41a67ca509b2778f3fb92164aa91828459ae8a6aa0e13f1b6f9843586d0983ba9a200f6d813d37efc171474c8dbc85b0dff01df56c0d476c238ce
diff --git a/apps/bundle-size/package.json b/apps/bundle-size/package.json
index 6ef8f40e5e0..d78dcc31cab 100644
--- a/apps/bundle-size/package.json
+++ b/apps/bundle-size/package.json
@@ -26,8 +26,8 @@
   },
   "devDependencies": {
     "@fluentui-react-native/scripts": "workspace:*",
-    "@rnx-kit/tools-filesystem": "^0.2.0",
-    "@rnx-kit/tools-formatting": "^0.1.0",
+    "@rnx-kit/tools-filesystem": "catalog:",
+    "@rnx-kit/tools-formatting": "catalog:",
     "@rnx-kit/tsconfig": "catalog:",
     "esbuild": "^0.28.2"
   },
diff --git a/apps/component-generator/component-templates/ComponentTemplate/package.json b/apps/component-generator/component-templates/ComponentTemplate/package.json
index 7b1e735b2b3..ba4f7a7714b 100644
--- a/apps/component-generator/component-templates/ComponentTemplate/package.json
+++ b/apps/component-generator/component-templates/ComponentTemplate/package.json
@@ -16,7 +16,6 @@
   "scripts": {
     "build": "fluentui-scripts build",
     "clean": "fluentui-scripts clean",
-    "depcheck": "fluentui-scripts depcheck",
     "just": "fluentui-scripts",
     "lint": "fluentui-scripts lint",
     "test": "fluentui-scripts jest",
diff --git a/apps/tester-core/package.json b/apps/tester-core/package.json
index 4cd34db7f61..747b5aafa31 100644
--- a/apps/tester-core/package.json
+++ b/apps/tester-core/package.json
@@ -138,7 +138,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
@@ -194,13 +194,6 @@
   "jest": {
     "preset": "react-native"
   },
-  "furn": {
-    "depcheck": {
-      "ignoreMatches": [
-        "@fluentui-react-native/experimental-expander"
-      ]
-    }
-  },
   "rnx-kit": {
     "kitType": "library",
     "alignDeps": {
diff --git a/apps/win32/package.json b/apps/win32/package.json
index cc784f49f32..15255aac9b7 100644
--- a/apps/win32/package.json
+++ b/apps/win32/package.json
@@ -64,19 +64,11 @@
     "oxc-resolver": "catalog:",
     "react-native-svg-transformer": "^1.0.0",
     "react-native-test-app": "catalog:",
-    "react-test-renderer": "19.1.4",
-    "rimraf": "catalog:"
+    "react-test-renderer": "19.1.4"
   },
   "jest": {
     "preset": "react-native"
   },
-  "furn": {
-    "depcheck": {
-      "ignoreMatches": [
-        "@office-iss/react-native-win32"
-      ]
-    }
-  },
   "rnx-kit": {
     "kitType": "app",
     "bundle": [
diff --git a/package.json b/package.json
index 2c4c791c329..71488d6ee96 100644
--- a/package.json
+++ b/package.json
@@ -69,25 +69,34 @@
     "@fluentui/react-native-icons/@types/react-native": "ignore:",
     "@nevware21/ts-utils": "0.14.0",
     "@react-native-windows/cli": "patch:@react-native-windows/cli@npm%3A0.81.8#~/.yarn/patches/@react-native-windows-cli-npm-0.81.8-9ffb7042e8.patch",
-    "@rnx-kit/tools-apple@npm:^0.2.2": "0.2.3",
     "@storybook/addon-ondevice-controls": "10.5.4",
     "@storybook/react-native-theming": "10.5.4",
     "@storybook/react-native-ui-common": "10.5.4",
     "@storybook/react-native-ui-lite": "10.5.4",
     "@types/react": "19.1.17",
     "basic-ftp@npm:^5.3.1": "6.2.3",
-    "body-parser@npm:^1.20.3": "1.20.8",
+    "body-parser@npm:^1.20.3": "1.20.9",
+    "body-parser@npm:^2.2.2": "2.4.0",
     "brace-expansion@npm:^1.1.7": "1.1.21",
     "brace-expansion@npm:^2.0.1": "2.1.7",
     "brace-expansion@npm:^2.0.2": "2.1.7",
     "brace-expansion@npm:^5.0.8": "5.0.12",
     "compression@npm:^1.7.1": "1.8.2",
+    "deepmerge@npm:^4.2.2": "patch:deepmerge@npm%3A4.3.1#~/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch",
+    "deepmerge@npm:^4.3.0": "patch:deepmerge@npm%3A4.3.1#~/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch",
+    "deepmerge@npm:^4.3.1": "patch:deepmerge@npm%3A4.3.1#~/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch",
     "esbuild@npm:~0.25.0": "^0.28.0",
     "fast-uri@npm:^3.0.1": "3.1.9",
     "fast-xml-parser@npm:^4.4.1": "5.11.0",
+    "glob@npm:^10.2.2 || ^11.0.3 || ^12.0.0 || ^13.0.0": "patch:glob@npm%3A13.0.6#~/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch",
+    "glob@npm:^13.0.0": "patch:glob@npm%3A13.0.6#~/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch",
+    "glob@npm:^13.0.6": "patch:glob@npm%3A13.0.6#~/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch",
+    "joi@npm:^17.2.1": "patch:joi@npm%3A17.13.8#~/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch",
     "lage": "patch:lage@npm%3A2.14.19#~/.yarn/patches/lage-npm-2.14.19-5dcab627c8.patch",
     "launch-editor@npm:^2.9.1": "2.14.2",
     "lodash": "^4.18.1",
+    "minimatch@npm:^10.2.2": "patch:minimatch@npm%3A10.2.6#~/.yarn/patches/minimatch-npm-10.2.6-fd0d1cf467.patch",
+    "minimatch@npm:^9.0.5": "patch:minimatch@npm%3A9.0.9#~/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch",
     "moment@npm:^2.24.0": "2.31.0",
     "moment@npm:^2.29.4": "2.31.0",
     "path-to-regexp@npm:8.3.0": "^8.4.2",
diff --git a/packages/agentic/design/package.json b/packages/agentic/design/package.json
index 737366a905c..b815f10ec79 100644
--- a/packages/agentic/design/package.json
+++ b/packages/agentic/design/package.json
@@ -132,7 +132,7 @@
     "@react-native-community/cli-platform-android": "^20.0.0",
     "@react-native-community/cli-platform-ios": "^20.0.0",
     "@react-native/babel-preset": "^0.81.0",
-    "@rnx-kit/tools-filesystem": "^0.2.0",
+    "@rnx-kit/tools-filesystem": "catalog:",
     "@types/react": "~19.1.4",
     "@types/react-test-renderer": "^19.1.0",
     "react": "19.1.4",
diff --git a/packages/codemods/package.json b/packages/codemods/package.json
index f4a4765e25d..3c7aed32a89 100644
--- a/packages/codemods/package.json
+++ b/packages/codemods/package.json
@@ -45,14 +45,6 @@
     "@types/node": "catalog:"
   },
   "furn": {
-    "depcheck": {
-      "ignoreMatches": [
-        ".bin"
-      ],
-      "ignorePatterns": [
-        "src/transforms/__testfixtures__/*"
-      ]
-    },
     "jestPlatform": "react",
     "knip": {
       "extraEntries": [
diff --git a/packages/components/Avatar/package.json b/packages/components/Avatar/package.json
index 0c57f0641b2..56a75b6e6e6 100644
--- a/packages/components/Avatar/package.json
+++ b/packages/components/Avatar/package.json
@@ -65,7 +65,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Badge/package.json b/packages/components/Badge/package.json
index 93b5168cf0a..5eb73e714e5 100644
--- a/packages/components/Badge/package.json
+++ b/packages/components/Badge/package.json
@@ -62,7 +62,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Button/package.json b/packages/components/Button/package.json
index 445b7b1659e..462ceb92f6e 100644
--- a/packages/components/Button/package.json
+++ b/packages/components/Button/package.json
@@ -72,7 +72,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Checkbox/package.json b/packages/components/Checkbox/package.json
index 84be8d2df01..e960f88477e 100644
--- a/packages/components/Checkbox/package.json
+++ b/packages/components/Checkbox/package.json
@@ -69,7 +69,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Chip/package.json b/packages/components/Chip/package.json
index 93dfb3b4da8..dcb861488d6 100644
--- a/packages/components/Chip/package.json
+++ b/packages/components/Chip/package.json
@@ -60,7 +60,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/ContextualMenu/package.json b/packages/components/ContextualMenu/package.json
index 1d24abca5e6..38e2f96b9d9 100644
--- a/packages/components/ContextualMenu/package.json
+++ b/packages/components/ContextualMenu/package.json
@@ -72,7 +72,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Divider/package.json b/packages/components/Divider/package.json
index d01e409744b..331c7d220b3 100644
--- a/packages/components/Divider/package.json
+++ b/packages/components/Divider/package.json
@@ -61,7 +61,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Icon/package.json b/packages/components/Icon/package.json
index f92955609fc..92134349d5e 100644
--- a/packages/components/Icon/package.json
+++ b/packages/components/Icon/package.json
@@ -60,7 +60,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Input/package.json b/packages/components/Input/package.json
index da6b10aa6d2..6d1b86600c0 100644
--- a/packages/components/Input/package.json
+++ b/packages/components/Input/package.json
@@ -64,7 +64,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Menu/package.json b/packages/components/Menu/package.json
index df8994e589d..31c7b0d1ad7 100644
--- a/packages/components/Menu/package.json
+++ b/packages/components/Menu/package.json
@@ -70,7 +70,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/MenuButton/package.json b/packages/components/MenuButton/package.json
index d7c1235b16b..fffe87aa01e 100644
--- a/packages/components/MenuButton/package.json
+++ b/packages/components/MenuButton/package.json
@@ -64,7 +64,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/Notification/package.json b/packages/components/Notification/package.json
index 170f909dd3a..071e6cc7a2d 100644
--- a/packages/components/Notification/package.json
+++ b/packages/components/Notification/package.json
@@ -68,7 +68,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/RadioGroup/package.json b/packages/components/RadioGroup/package.json
index 6c238e8bf25..d86a2f543c1 100644
--- a/packages/components/RadioGroup/package.json
+++ b/packages/components/RadioGroup/package.json
@@ -69,7 +69,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/components/TabList/package.json b/packages/components/TabList/package.json
index 80826570874..ee66bb4996d 100644
--- a/packages/components/TabList/package.json
+++ b/packages/components/TabList/package.json
@@ -65,7 +65,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/deprecated/foundation-compose/package.json b/packages/deprecated/foundation-compose/package.json
index 4877ac6900c..e17172b835f 100644
--- a/packages/deprecated/foundation-compose/package.json
+++ b/packages/deprecated/foundation-compose/package.json
@@ -73,15 +73,6 @@
       "optional": true
     }
   },
-  "furn": {
-    "depcheck": {
-      "ignoreMatches": [
-        "@fluentui-react-native/default-theme",
-        "@fluentui-react-native/design",
-        "@fluentui-react-native/memo-cache"
-      ]
-    }
-  },
   "rnx-kit": {
     "kitType": "library",
     "alignDeps": {
diff --git a/packages/experimental/ActivityIndicator/package.json b/packages/experimental/ActivityIndicator/package.json
index 36d29314ba4..21bc23c9bce 100644
--- a/packages/experimental/ActivityIndicator/package.json
+++ b/packages/experimental/ActivityIndicator/package.json
@@ -55,7 +55,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Checkbox/package.json b/packages/experimental/Checkbox/package.json
index 12c412e3023..069dd0fc4a2 100644
--- a/packages/experimental/Checkbox/package.json
+++ b/packages/experimental/Checkbox/package.json
@@ -56,7 +56,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Dropdown/package.json b/packages/experimental/Dropdown/package.json
index 8d727d5460c..9b882b5d9a3 100644
--- a/packages/experimental/Dropdown/package.json
+++ b/packages/experimental/Dropdown/package.json
@@ -62,7 +62,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/MenuButton/package.json b/packages/experimental/MenuButton/package.json
index d0b55966abf..f7a6f061113 100644
--- a/packages/experimental/MenuButton/package.json
+++ b/packages/experimental/MenuButton/package.json
@@ -60,7 +60,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Overflow/package.json b/packages/experimental/Overflow/package.json
index ae6e15de08e..ab1c386b9e4 100644
--- a/packages/experimental/Overflow/package.json
+++ b/packages/experimental/Overflow/package.json
@@ -55,7 +55,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Shimmer/package.json b/packages/experimental/Shimmer/package.json
index dbaf365e00b..691b958b022 100644
--- a/packages/experimental/Shimmer/package.json
+++ b/packages/experimental/Shimmer/package.json
@@ -61,7 +61,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Spinner/package.json b/packages/experimental/Spinner/package.json
index 1243dba7101..c0353fe4760 100644
--- a/packages/experimental/Spinner/package.json
+++ b/packages/experimental/Spinner/package.json
@@ -59,7 +59,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/experimental/Tooltip/package.json b/packages/experimental/Tooltip/package.json
index 8110e293907..86c16967616 100644
--- a/packages/experimental/Tooltip/package.json
+++ b/packages/experimental/Tooltip/package.json
@@ -55,7 +55,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/packages/libraries/core/package.json b/packages/libraries/core/package.json
index a85996812ca..d74d323f04f 100644
--- a/packages/libraries/core/package.json
+++ b/packages/libraries/core/package.json
@@ -71,7 +71,7 @@
     "react": "18.2.0 || 19.0.0 || 19.1.4",
     "react-native": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6",
     "react-native-macos": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0",
-    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1",
+    "react-native-svg": ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1",
     "react-native-windows": "^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0"
   },
   "peerDependenciesMeta": {
diff --git a/references/agents/repository/dependency-security.md b/references/agents/repository/dependency-security.md
index 5577f6fcee7..246856b3c35 100644
--- a/references/agents/repository/dependency-security.md
+++ b/references/agents/repository/dependency-security.md
@@ -154,3 +154,41 @@ while the repository runs native desktop automation, inspect both dependents,
 confirm their normal modules load without extraction, resolve `extract-zip` to
 `ignore:`, regenerate and deduplicate the lockfile, then prove the browser
 archive path fails closed and the native tooling still works.
+
+## Carried security backports
+
+The root resolutions carry the following focused Yarn patches. Run
+`yarn workspace @fluentui-react-native/scripts test` to exercise the installed
+CommonJS and ESM entry points, not just the patch text.
+
+- `deepmerge` 4.3.1: reject prototype-sensitive keys in both the target-copy
+  and source-merge loops, following the remediation in
+  [upstream issue 273](https://github.com/TehShrike/deepmerge/issues/273)
+  (GHSA-gcqx-w48m-w2h4). There is no published fixed release. Regressions cover
+  null-prototype targets, own malicious keys, and nested null placeholders.
+- `joi` 17.13.8: backport the linear-time email separator expression from
+  [upstream commit 807858d](https://github.com/hapijs/joi/commit/807858d7480f5075b0610817e3e44230890fb18e)
+  (GHSA-4528-x5fx-h6hg). Replace with 17.13.9 once its 2026-10-28
+  publication passes the seven-day age gate.
+- `glob` 13.0.6: backport cancellation returns and resume handling from
+  [upstream commit 4682e8c](https://github.com/isaacs/node-glob/commit/4682e8c9babee1b385202ede36389634e12076d7)
+  (GHSA-3g3m-2fjr-6pw4). Route package entry points to the patched unbundled
+  modules, so the bundled copy cannot bypass either this fix or the minimatch
+  patch. Fixed 14.x releases were published on 2026-10-27 and 2026-10-28;
+  validate major-version compatibility before replacing the backport.
+- `minimatch` 9.0.9 and 10.2.6: backport pattern expansion and pairwise
+  comparison bounds from
+  [upstream commit 77a0f5c](https://github.com/isaacs/minimatch/commit/77a0f5c4b80bdc641c3c930a1d9edf5ad2db57f8)
+  (GHSA-g3hv-75wg-m249). Keep each consumer on its existing major. Fixed
+  11.x releases were first published on 2026-10-27; do not force the new
+  object API into callers that require the callable 3.x API.
+
+Version-based audits still report these patched versions. Do not exclude the
+advisories or describe the audit as clean. The remaining minimatch 3.1.5 report
+is a version-range overmatch: it has neither affected preprocessing method;
+the regression suite checks that fact and its callable API. Remove each patch
+only after an age-eligible compatible release and its runtime regression pass.
+
+Legacy depcheck and its manifest exclusions are retired. Repository dependency
+checking uses the existing Knip step in `yarn lint-repo`; bundle budgets use
+`yarn bundle-size`, not the retired scripts-workspace `bundlesize` command.
diff --git a/scripts/package.json b/scripts/package.json
index 2ed46c544de..95735510cc1 100644
--- a/scripts/package.json
+++ b/scripts/package.json
@@ -27,10 +27,9 @@
   },
   "scripts": {
     "build": "tsc -b",
-    "bundlesize": "bundlesize --debug",
     "format": "node ./src/cli.ts format",
     "lint": "node ./src/cli.ts lint",
-    "test": "node --test src/tasks/agentInstructions.test.ts src/tasks/clean.test.mjs src/utils/jestSelection.test.ts src/utils/runScript.test.ts"
+    "test": "node --test src/tasks/agentInstructions.test.ts src/tasks/clean.test.mjs src/utils/jestSelection.test.ts src/utils/runScript.test.ts src/utils/securityPatches.test.ts"
   },
   "dependencies": {
     "@babel/core": "catalog:",
@@ -49,7 +48,7 @@
     "@rnx-kit/eslint-plugin": "catalog:",
     "@rnx-kit/jest-preset": "catalog:",
     "@rnx-kit/oxlint-config": "catalog:",
-    "@rnx-kit/tools-filesystem": "0.2.0",
+    "@rnx-kit/tools-filesystem": "catalog:",
     "@rnx-kit/tsconfig": "catalog:",
     "@rnx-kit/types-kit-config": "catalog:",
     "babel-jest": "^29.0.0",
@@ -67,8 +66,6 @@
     "@rnx-kit/lint-json": "catalog:",
     "@rnx-kit/lint-package": "catalog:",
     "@rnx-kit/reporter": "catalog:",
-    "@rnx-kit/tools-packages": "catalog:",
-    "@rnx-kit/tools-typescript": "catalog:",
     "@rnx-kit/tools-workspaces": "catalog:",
     "@rnx-kit/tsconfig": "catalog:",
     "@rnx-kit/types-kit-config": "catalog:",
@@ -77,10 +74,7 @@
     "@types/micromatch": "^4.0.9",
     "@types/node": "catalog:",
     "@yarnpkg/types": "^4.0.1",
-    "chalk": "^4.0.0",
     "clipanion": "^4.0.0-rc.4",
-    "depcheck": "^1.0.0",
-    "find-up": "^5.0.0",
     "jest": "^29.2.1",
     "jest-transform-stub": "^2.0.0",
     "knip": "catalog:",
@@ -95,27 +89,8 @@
     "workspace-tools": "^0.42.0",
     "zx": "^8.2.4"
   },
-  "bundlesize": [
-    {
-      "path": "../apps/test-bundles/dist/office-ui-fabric-react-Button.min.js",
-      "maxSize": "50.1 kB"
-    }
-  ],
   "furn": {
-    "packageType": "tooling",
-    "depcheck": {
-      "ignoreMatches": [
-        "@babel/plugin-transform-react-jsx",
-        "@babel/plugin-transform-react-jsx-source",
-        "@babel/preset-env",
-        "@babel/preset-react",
-        "@babel/preset-typescript",
-        "@microsoft/eslint-plugin-sdl",
-        "@rnx-kit/align-deps",
-        "@rnx-kit/config",
-        "@rnx-kit/eslint-plugin"
-      ]
-    }
+    "packageType": "tooling"
   },
   "rnx-kit": {
     "extends": "./configs/rnx-kit/rnx-kit.config.cts"
diff --git a/scripts/src/pkgContext.ts b/scripts/src/pkgContext.ts
index 0c6887f1e29..90dddb89d7d 100644
--- a/scripts/src/pkgContext.ts
+++ b/scripts/src/pkgContext.ts
@@ -13,10 +13,6 @@ export type PlatformTarget = 'react' | 'win32' | 'macos' | 'ios' | 'android' | '
 export type FurnConfig = {
   packageType?: PackageType;
   jestPlatform?: PlatformTarget;
-  depcheck?: {
-    ignoreMatches?: string[];
-    ignorePatterns?: string[];
-  };
   knip?: {
     entry?: string[];
     extraEntries?: string[];
diff --git a/scripts/src/preinstall/tool-versions.ts b/scripts/src/preinstall/tool-versions.ts
index d0b5f916473..373e410850e 100644
--- a/scripts/src/preinstall/tool-versions.ts
+++ b/scripts/src/preinstall/tool-versions.ts
@@ -25,9 +25,7 @@ const devToolVersions: Record = {
   '@react-native-community/cli-platform-ios': '^13.6.4',
   '@rnx-kit/eslint-plugin': '^0.9.9',
   '@rnx-kit/oxlint-config': '^1.0.3',
-  '@rnx-kit/jest-preset': '^0.3.2',
-  '@rnx-kit/tools-packages': '^0.1.3',
-  '@rnx-kit/tools-typescript': '^0.2.1',
+  '@rnx-kit/jest-preset': '^0.3.3',
   '@rnx-kit/tsconfig': '^3.0.3',
   '@types/es6-collections': '^0.5.29',
   '@types/es6-promise': '0.0.32',
@@ -38,10 +36,6 @@ const devToolVersions: Record = {
   '@typescript-eslint/parser': '^8.36.0',
   '@uifabric/prettier-rules': '^7.0.3',
   clipanion: '^4.0.0-rc.4',
-  depcheck: '^1.0.0',
-  'find-up': '^5.0.0',
-  'fs-extra': '^7.0.1',
-  glob: '^10.0.0',
   jest: '^29.2.1',
   'jest-diff': '^27.0.0',
   jsdom: '^25.0.0',
@@ -50,7 +44,6 @@ const devToolVersions: Record = {
   oxlint: '^1.57.0',
   'oxlint-tsgolint': '^0.17.4',
   'react-test-renderer': '^19.1.0',
-  rimraf: '^5.0.1',
   // Fill versions from scripts first
   ...scriptManifest.devDependencies,
   // use the root workspace dev dependencies as the highest priority, overwriting any duplicates from scripts
diff --git a/scripts/src/tasks/constrain.ts b/scripts/src/tasks/constrain.ts
index d39f4177e03..9c7b7128dcd 100644
--- a/scripts/src/tasks/constrain.ts
+++ b/scripts/src/tasks/constrain.ts
@@ -55,6 +55,7 @@ export function constrain(workspace: Yarn.Constraints.Workspace): void {
   ctx.enforce('scripts.build-cjs', undefined);
   ctx.enforce('scripts.build-core', undefined);
   ctx.enforce('scripts.depcheck', undefined);
+  ctx.enforce('furn.depcheck', undefined);
   const tsCtx = ctx.validateJSON('tsconfig.json');
   if (tsCtx) {
     const depBuilds = new Set();
diff --git a/scripts/src/utils/resolvePaths.ts b/scripts/src/utils/resolvePaths.ts
deleted file mode 100644
index 41c9fd7566c..00000000000
--- a/scripts/src/utils/resolvePaths.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import findUp from 'find-up';
-import fs from 'node:fs';
-import path from 'node:path';
-
-/**
- * Find all node_modules directories up to the project root
- */
-export function nodeModulesToRoot(): string[] {
-  const results: string[] = [];
-  findUp.sync((directory) => {
-    const nodeModulesPath = path.join(directory, 'node_modules');
-    if (fs.existsSync(nodeModulesPath)) {
-      results.push(nodeModulesPath.replace(/\\/g, '/'));
-    }
-
-    const gitRoot = path.join(directory, '.git');
-    return fs.existsSync(gitRoot) ? findUp.stop : undefined;
-  });
-  return results;
-}
diff --git a/scripts/src/utils/securityPatches.test.ts b/scripts/src/utils/securityPatches.test.ts
new file mode 100644
index 00000000000..46e8109b546
--- /dev/null
+++ b/scripts/src/utils/securityPatches.test.ts
@@ -0,0 +1,145 @@
+import assert from 'node:assert/strict';
+import fs from 'node:fs';
+import { createRequire } from 'node:module';
+import os from 'node:os';
+import path from 'node:path';
+import { performance } from 'node:perf_hooks';
+import { it } from 'node:test';
+import { pathToFileURL, fileURLToPath } from 'node:url';
+import { setTimeout } from 'node:timers/promises';
+
+const store = fileURLToPath(new URL('../../../node_modules/.store/', import.meta.url));
+
+function installedPackage(name: string, version: string, patched = true) {
+  const candidates = fs
+    .readdirSync(store)
+    .filter((entry) => entry.startsWith(`${name}-${patched ? 'patch' : 'npm'}-`))
+    .map((entry) => path.join(store, entry, 'package'))
+    .filter((root) => JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8')).version === version);
+  assert.equal(candidates.length, 1, `Expected one installed ${name}@${version} (${patched ? 'patched' : 'npm'})`);
+  const root = candidates[0];
+  const manifest = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
+  const require = createRequire(path.join(root, 'package.json'));
+  return { root, manifest, require, module: require(root) };
+}
+
+it('deepmerge cannot poison a result through either input or nested placeholders', () => {
+  const { root, require } = installedPackage('deepmerge', '4.3.1');
+  for (const entry of ['dist/cjs.js', 'dist/umd.js']) {
+    const merge = require(path.join(root, entry));
+    const payload = JSON.parse('{"__proto__":{"isAdmin":true},"constructor":{"prototype":{"isAdmin":true}},"safe":1}');
+    for (const target of [Object.create(null), payload, { session: null }, { session: undefined }]) {
+      for (const result of [merge(target, payload), merge(payload, target), merge(target, { session: payload })]) {
+        assert.equal(Object.getPrototypeOf(result), Object.prototype);
+        assert.equal(result.isAdmin, undefined);
+        if (result.session) {
+          assert.equal(Object.getPrototypeOf(result.session), Object.prototype);
+          assert.equal(result.session.isAdmin, undefined);
+        }
+      }
+    }
+    const symbol = Symbol('safe');
+    assert.deepEqual(merge({ a: [1], nested: { x: 1 }, [symbol]: 1 }, { a: [2], nested: { y: 2 } }), {
+      a: [1, 2],
+      nested: { x: 1, y: 2 },
+      [symbol]: 1,
+    });
+    assert.equal(Object.getOwnPropertyDescriptor(Object.prototype, 'isAdmin'), undefined);
+  }
+});
+
+it('Joi multiple-email splitting is bounded and preserves separator behavior', () => {
+  const { module: Joi } = installedPackage('joi', '17.13.8');
+  const spaces = ' '.repeat(100_000);
+  for (const separator of [undefined, ';', ', ']) {
+    const schema = Joi.string().email({ multiple: true, separator });
+    const start = performance.now();
+    assert.equal(schema.validate(spaces).error.details[0].type, 'string.email');
+    assert.ok(performance.now() - start < 1000, '100 KB of whitespace must not block for seconds');
+  }
+  assert.equal(Joi.string().email({ multiple: true }).validate('a@example.com , b@example.org').error, undefined);
+  assert.equal(Joi.string().email({ multiple: true, separator: ';' }).validate('a@example.com ; b@example.org').error, undefined);
+  assert.equal(Joi.string().email().validate('a@example.com').error, undefined);
+});
+
+for (const version of ['9.0.9', '10.2.6']) {
+  it(`minimatch ${version} bounds optimization expansion in CommonJS and ESM`, async () => {
+    const { root, manifest, module } = installedPackage('minimatch', version);
+    const esm = await import(pathToFileURL(path.resolve(root, manifest.exports['.'].import.default)).href);
+    for (const { Minimatch } of [module, esm]) {
+      const start = performance.now();
+      const matcher = new Minimatch(Array(30).fill('**/../a/b').join('/'), { optimizationLevel: 2, braceExpandMax: 64 });
+      assert.equal(matcher.set.length, 64);
+      assert.ok(performance.now() - start < 1000, 'Pattern expansion must remain bounded');
+      const small = new Minimatch('**/../a/b/**/../c/d', { optimizationLevel: 2 });
+      assert.equal(small.set.length, 4);
+      assert.equal(small.match('../a/b/../c/d'), true);
+      assert.equal(small.match('x/a/b/y/c/d'), true);
+      const large = new Minimatch('{x,*}/{0..999}', { optimizationLevel: 2 });
+      assert.equal(large.set.length, 2000);
+      assert.equal(large.match('y/999'), true);
+      assert.equal(large.match('.y/5'), false);
+    }
+  });
+}
+
+it('minimatch 3 retains its callable API and has no affected optimization phase', () => {
+  const { module: minimatch } = installedPackage('minimatch', '3.1.5', false);
+  assert.equal(typeof minimatch, 'function');
+  assert.equal(minimatch('src/test.ts', '**/*.ts'), true);
+  assert.equal(minimatch.Minimatch.prototype.firstPhasePreProcess, undefined);
+  assert.equal(minimatch.Minimatch.prototype.secondPhasePreProcess, undefined);
+});
+
+it('glob stops filesystem traversal after abort in CommonJS and ESM', async (t) => {
+  const { root, manifest, module } = installedPackage('glob', '13.0.6');
+  const esm = await import(pathToFileURL(path.resolve(root, manifest.exports['.'].import.default)).href);
+  const cwd = fs.mkdtempSync(path.join(os.tmpdir(), 'furn-glob-security-'));
+  t.after(() => fs.rmSync(cwd, { recursive: true, force: true }));
+  for (let i = 0; i < 10; i++) {
+    fs.mkdirSync(path.join(cwd, String(i), 'nested'), { recursive: true });
+    fs.writeFileSync(path.join(cwd, String(i), 'nested', 'file'), '');
+  }
+  for (const glob of [module, esm]) {
+    const controller = new AbortController();
+    const reason = new Error('test abort');
+    let reads = 0;
+    const countedFs = {
+      ...fs,
+      readdir(...args: Parameters) {
+        if (++reads === 1) controller.abort(reason);
+        return fs.readdir(...args);
+      },
+    };
+    await assert.rejects(glob.glob('**', { cwd, signal: controller.signal, fs: countedFs }), reason);
+    const readsAtReject = reads;
+    await setTimeout(100);
+    assert.equal(reads, readsAtReject);
+    assert.equal(reads, 1);
+    const syncController = new AbortController();
+    let syncReads = 0;
+    const syncFs = {
+      ...fs,
+      readdirSync(...args: Parameters) {
+        if (++syncReads === 1) syncController.abort(reason);
+        return fs.readdirSync(...args);
+      },
+    };
+    const abortedStream = glob.globStreamSync('**', { cwd, signal: syncController.signal, fs: syncFs });
+    await new Promise((resolve, reject) => {
+      abortedStream.on('error', (error: unknown) => {
+        if (error === reason) resolve();
+        else reject(error);
+      });
+      abortedStream.on('end', () => reject(new Error('Aborted stream must emit an error')));
+      abortedStream.resume();
+    });
+    assert.equal(syncReads, 1);
+    const expected = new Set(glob.globSync('**', { cwd }));
+    const stream = glob.globStream('**', { cwd });
+    await setTimeout(50);
+    const actual = [];
+    for await (const entry of stream) actual.push(entry);
+    assert.deepEqual(new Set(actual), expected);
+  }
+});
diff --git a/yarn.lock b/yarn.lock
index 5e6872b3ec1..94e1a01dd35 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -276,7 +276,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.21.3, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.29.7":
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.24.7, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.29.0, @babel/parser@npm:^7.29.7":
   version: 7.29.9
   resolution: "@babel/parser@npm:7.29.9"
   dependencies:
@@ -1599,7 +1599,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0, @babel/traverse@npm:^7.29.7":
+"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.0, @babel/traverse@npm:^7.28.5, @babel/traverse@npm:^7.28.6, @babel/traverse@npm:^7.29.0, @babel/traverse@npm:^7.29.7":
   version: 7.29.7
   resolution: "@babel/traverse@npm:7.29.7"
   dependencies:
@@ -2532,7 +2532,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -2581,7 +2581,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -2603,8 +2603,8 @@ __metadata:
     "@fluentui-react-native/design": "workspace:*"
     "@fluentui-react-native/scripts": "workspace:*"
     "@office-iss/react-native-win32": "npm:^0.81.0"
-    "@rnx-kit/tools-filesystem": "npm:^0.2.0"
-    "@rnx-kit/tools-formatting": "npm:^0.1.0"
+    "@rnx-kit/tools-filesystem": "catalog:"
+    "@rnx-kit/tools-formatting": "catalog:"
     "@rnx-kit/tsconfig": "catalog:"
     "@types/react": "npm:~19.1.4"
     esbuild: "npm:^0.28.2"
@@ -2658,7 +2658,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -2752,7 +2752,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -2801,7 +2801,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -2946,7 +2946,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3280,7 +3280,7 @@ __metadata:
     "@react-native-community/cli-platform-android": "npm:^20.0.0"
     "@react-native-community/cli-platform-ios": "npm:^20.0.0"
     "@react-native/babel-preset": "npm:^0.81.0"
-    "@rnx-kit/tools-filesystem": "npm:^0.2.0"
+    "@rnx-kit/tools-filesystem": "catalog:"
     "@types/react": "npm:~19.1.4"
     "@types/react-test-renderer": "npm:^19.1.0"
     assert-never: "npm:^1.2.1"
@@ -3376,7 +3376,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3467,7 +3467,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3555,7 +3555,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3671,7 +3671,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3752,7 +3752,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -3888,7 +3888,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4089,7 +4089,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4138,7 +4138,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4278,7 +4278,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4331,7 +4331,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4430,7 +4430,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4470,7 +4470,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4689,7 +4689,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -4756,9 +4756,7 @@ __metadata:
     "@rnx-kit/lint-package": "catalog:"
     "@rnx-kit/oxlint-config": "catalog:"
     "@rnx-kit/reporter": "catalog:"
-    "@rnx-kit/tools-filesystem": "npm:0.2.0"
-    "@rnx-kit/tools-packages": "catalog:"
-    "@rnx-kit/tools-typescript": "catalog:"
+    "@rnx-kit/tools-filesystem": "catalog:"
     "@rnx-kit/tools-workspaces": "catalog:"
     "@rnx-kit/tsconfig": "catalog:"
     "@rnx-kit/types-kit-config": "catalog:"
@@ -4768,11 +4766,8 @@ __metadata:
     "@types/node": "catalog:"
     "@yarnpkg/types": "npm:^4.0.1"
     babel-jest: "npm:^29.0.0"
-    chalk: "npm:^4.0.0"
     clipanion: "npm:^4.0.0-rc.4"
     cross-spawn: "npm:7.0.6"
-    depcheck: "npm:^1.0.0"
-    find-up: "npm:^5.0.0"
     jest: "npm:^29.2.1"
     jest-transform-stub: "npm:^2.0.0"
     knip: "catalog:"
@@ -4863,7 +4858,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -5097,7 +5092,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -5266,7 +5261,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@fluentui-react-native/callout":
@@ -5336,7 +5331,6 @@ __metadata:
     react-native-svg-transformer: "npm:^1.0.0"
     react-native-test-app: "catalog:"
     react-test-renderer: "npm:19.1.4"
-    rimraf: "catalog:"
   languageName: unknown
   linkType: soft
 
@@ -5680,7 +5674,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -5908,7 +5902,7 @@ __metadata:
     react: 18.2.0 || 19.0.0 || 19.1.4
     react-native: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.6
     react-native-macos: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
-    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || ^15.11.2 || ^15.12.1"
+    react-native-svg: ">=15.0.0 <15.13.0 || >=15.4.0 <15.13.0 || >=15.11.2 <15.16.0 || ^15.12.1"
     react-native-windows: ^0.73.0 || ^0.74.0 || ^0.78.0 || ^0.81.0
   peerDependenciesMeta:
     "@office-iss/react-native-win32":
@@ -6649,7 +6643,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5, @jridgewell/sourcemap-codec@npm:^1.6.0":
+"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.6.0":
   version: 1.6.0
   resolution: "@jridgewell/sourcemap-codec@npm:1.6.0"
   checksum: 10c0/b5be700e45a775f218589c3466c4ffea630582b4988657652da464e5ab8a7d18bf928ee4fd2363fb346ede4bea9c6ff0bae05a538358c4565ece6199531b5f72
@@ -8837,22 +8831,22 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/align-deps@npm:^4.0.3, @rnx-kit/align-deps@npm:^4.0.5":
-  version: 4.0.5
-  resolution: "@rnx-kit/align-deps@npm:4.0.5"
+"@rnx-kit/align-deps@npm:^5.0.0, @rnx-kit/align-deps@npm:^5.0.1":
+  version: 5.0.1
+  resolution: "@rnx-kit/align-deps@npm:5.0.1"
   dependencies:
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-    "@rnx-kit/types-node": "npm:^1.0.0"
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+    "@rnx-kit/types-node": "npm:^1.0.1"
     oxc-resolver: "npm:^11.0.0"
   bin:
     rnx-align-deps: lib/index.js
-  checksum: 10c0/fdb5ccde7ff0a9037ca10787ddb58e073ec4a4bfe8ff78818702e764d1574795fc115c86ea2b7f37dc7fbd5b9d8d6e2dc3282e17de4ecd4695eab65961a7a392
+  checksum: 10c0/3de61de8cab2f2b6a894cf38e41ed554c411e99f1a6eb6cdfa20fc3dead82692d243506760bd683e52c4ff75f390748b941c164afd217230325f153391539632
   languageName: node
   linkType: hard
 
-"@rnx-kit/babel-preset-metro-react-native@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "@rnx-kit/babel-preset-metro-react-native@npm:4.0.0"
+"@rnx-kit/babel-preset-metro-react-native@npm:^4.0.2":
+  version: 4.0.2
+  resolution: "@rnx-kit/babel-preset-metro-react-native@npm:4.0.2"
   dependencies:
     "@rnx-kit/console": "npm:^3.0.0"
     babel-plugin-const-enum: "npm:^1.0.0"
@@ -8864,33 +8858,33 @@ __metadata:
   peerDependenciesMeta:
     "@babel/plugin-transform-typescript":
       optional: true
-  checksum: 10c0/1e213b5a571fbcb2861d09516720662d16f922d7618cb9b09758233f5533e64c8a804d80ca6cdb9295af25451ab5f35b8f3627ec4c1c6138e66525a033261d2f
+  checksum: 10c0/3d10f33a07b8728fb610fdc0f8453cca3198e9406e04c19df3d23654565b47854c4b8bb71a11186c77f9670eb20b136cdb31d042cf3feb8fb115b6e3cb35b051
   languageName: node
   linkType: hard
 
-"@rnx-kit/cli@npm:^2.0.3":
-  version: 2.0.3
-  resolution: "@rnx-kit/cli@npm:2.0.3"
+"@rnx-kit/cli@npm:^2.0.7":
+  version: 2.0.7
+  resolution: "@rnx-kit/cli@npm:2.0.7"
   dependencies:
-    "@rnx-kit/align-deps": "npm:^4.0.5"
-    "@rnx-kit/config": "npm:^0.9.1"
+    "@rnx-kit/align-deps": "npm:^5.0.0"
+    "@rnx-kit/config": "npm:^1.0.0"
     "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/metro-plugin-cyclic-dependencies-detector": "npm:^3.0.1"
     "@rnx-kit/metro-plugin-duplicates-checker": "npm:^4.0.1"
-    "@rnx-kit/metro-plugin-typescript": "npm:^0.6.0"
-    "@rnx-kit/metro-serializer": "npm:^2.0.0"
+    "@rnx-kit/metro-plugin-typescript": "npm:^0.6.1"
+    "@rnx-kit/metro-serializer": "npm:^2.0.3"
     "@rnx-kit/metro-serializer-esbuild": "npm:^0.4.2"
-    "@rnx-kit/metro-service": "npm:^5.0.0"
-    "@rnx-kit/third-party-notices": "npm:^3.0.2"
+    "@rnx-kit/metro-service": "npm:^5.0.3"
+    "@rnx-kit/third-party-notices": "npm:^3.0.4"
     "@rnx-kit/tools-android": "npm:^0.2.2"
-    "@rnx-kit/tools-apple": "npm:^0.2.2"
+    "@rnx-kit/tools-apple": "npm:^0.2.3"
     "@rnx-kit/tools-filesystem": "npm:^0.2.0"
     "@rnx-kit/tools-language": "npm:^3.0.1"
     "@rnx-kit/tools-node": "npm:^3.0.6"
-    "@rnx-kit/tools-react-native": "npm:^2.3.7"
-    "@rnx-kit/types-bundle-config": "npm:^1.0.0"
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-    "@rnx-kit/types-node": "npm:^1.0.0"
+    "@rnx-kit/tools-react-native": "npm:^2.3.10"
+    "@rnx-kit/types-bundle-config": "npm:^1.0.1"
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+    "@rnx-kit/types-node": "npm:^1.0.1"
     commander: "npm:^11.1.0"
     ora: "npm:^5.4.1"
     qrcode: "npm:^1.5.0"
@@ -8904,23 +8898,21 @@ __metadata:
       optional: true
   bin:
     rnx-cli: bin/rnx-cli.cjs
-  checksum: 10c0/9c76c90902f307c3550cd24ace2bc6f01e65717dd622969385d8ce9892c164c15b33eeee03eb6a90a03e42b52f7981b871b9844f07fde4212363370c74937bcd
+  checksum: 10c0/4dc734df0eb11748e7945ebcacf25fc3fbabdf286d15ee79199bd89797a908a4ba96cd3a094d62f64adb85534191cb083af4a5d498c5ed50fdd31e13acff88e8
   languageName: node
   linkType: hard
 
-"@rnx-kit/config@npm:^0.9.0, @rnx-kit/config@npm:^0.9.1":
-  version: 0.9.1
-  resolution: "@rnx-kit/config@npm:0.9.1"
+"@rnx-kit/config@npm:^1.0.0":
+  version: 1.0.0
+  resolution: "@rnx-kit/config@npm:1.0.0"
   dependencies:
-    "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/tools-node": "npm:^3.0.6"
     "@rnx-kit/tools-packages": "npm:^0.1.3"
     "@rnx-kit/types-bundle-config": "npm:^1.0.0"
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-    "@rnx-kit/types-node": "npm:^1.0.0"
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+    "@rnx-kit/types-node": "npm:^1.0.1"
     lodash.merge: "npm:^4.6.2"
-    semver: "npm:^7.0.0"
-  checksum: 10c0/8ecda158afc9debc2f49fbf265f8e14d70da4506a06f36fc9fd64edb7be61ba2bb4720177a2f9a4ceb05958e710f55aa5690c88edf089eb7826810575d96fd21
+  checksum: 10c0/2da4af7a1a23662671a02415ad4180308c990ba1510960e519581c028e50924aa6ff6442e92867afb93ca02763359234d35bf32d2386b0f25981852b0a7e037e
   languageName: node
   linkType: hard
 
@@ -8946,16 +8938,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/jest-preset@npm:^0.3.2":
-  version: 0.3.2
-  resolution: "@rnx-kit/jest-preset@npm:0.3.2"
+"@rnx-kit/jest-preset@npm:^0.3.3":
+  version: 0.3.3
+  resolution: "@rnx-kit/jest-preset@npm:0.3.3"
   dependencies:
     "@babel/core": "npm:^7.0.0"
     "@babel/preset-env": "npm:^7.0.0"
     "@babel/preset-typescript": "npm:^7.0.0"
     "@jest/create-cache-key-function": "npm:^29.7.0"
+    "@rnx-kit/tools-node": "npm:^3.0.5"
     "@rnx-kit/tools-react-native": "npm:^2.3.2"
-    find-up: "npm:^5.0.0"
   peerDependencies:
     "@react-native/jest-preset": ">=0.85"
     react-native: ^0.0.0-0 || >=0.73
@@ -8964,58 +8956,58 @@ __metadata:
       optional: true
     react-native:
       optional: true
-  checksum: 10c0/67cdb8331f4145eadc8704b056ddf53415e41bec1edc2f8c6126aa4cafde9109cb1d6c394eabbf59a6775f2b8ee0565089acb4e52b79b95443b8c2121ae7ab03
+  checksum: 10c0/1517d78a70404de8f6665649432627f3296f53df7e99366948b6c66d580020e87274edbcb8bff9945ed2d842ed006df64918beedf4bab1025b8b79cbda0a38a3
   languageName: node
   linkType: hard
 
-"@rnx-kit/lint-json@npm:^0.2.0":
-  version: 0.2.0
-  resolution: "@rnx-kit/lint-json@npm:0.2.0"
+"@rnx-kit/lint-json@npm:^0.2.0, @rnx-kit/lint-json@npm:^0.2.1":
+  version: 0.2.1
+  resolution: "@rnx-kit/lint-json@npm:0.2.1"
   dependencies:
     "@rnx-kit/tools-filesystem": "npm:^0.2.0"
-    "@rnx-kit/tools-formatting": "npm:^0.1.0"
-  checksum: 10c0/2d0b542a69967da9d0b716fa6382262706dfd6441deaba37fb997a25c83aff7153dface11f2b709403fbfa5325bd5323b47d774097f2b062ddcbc25ac7b7df64
+    "@rnx-kit/tools-formatting": "npm:^0.2.0"
+  checksum: 10c0/447a90ca8ffba6a5ad0817123b3858d29ad8bc47badb49282f69cbb1f1da46d6cafc8bc63befee0de4480fa1719716462ded3db7ea27fceb4a63ee4cabd0a4a2
   languageName: node
   linkType: hard
 
-"@rnx-kit/lint-lockfile@npm:^0.2.1":
-  version: 0.2.1
-  resolution: "@rnx-kit/lint-lockfile@npm:0.2.1"
+"@rnx-kit/lint-lockfile@npm:^0.2.3":
+  version: 0.2.3
+  resolution: "@rnx-kit/lint-lockfile@npm:0.2.3"
   dependencies:
-    "@rnx-kit/config": "npm:^0.9.0"
-    "@rnx-kit/tools-workspaces": "npm:^0.2.3"
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-    js-yaml: "npm:^4.2.0"
+    "@rnx-kit/config": "npm:^1.0.0"
+    "@rnx-kit/tools-workspaces": "npm:^0.2.6"
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+    js-yaml: "npm:^5.2.3"
   bin:
     lint-lockfile: lib/cli.js
-  checksum: 10c0/3d0f8334553072b91e1433a708e9cae696a865c77611a3740b6ec1f9aecd8b7e34097f7fe2cd9973713f696e25a98be00795f7f900e8c75532802eec6b41c861
+  checksum: 10c0/b7337b73f3fafc23f1243c40f7a4ca61910054fe824eab543888a8d0cb80e4c454fda13d50eafd4fb9e3dfe4f37f331fb6faf06efc50971256e2764d06bb022c
   languageName: node
   linkType: hard
 
-"@rnx-kit/lint-package@npm:^0.2.1":
-  version: 0.2.1
-  resolution: "@rnx-kit/lint-package@npm:0.2.1"
+"@rnx-kit/lint-package@npm:^0.2.2":
+  version: 0.2.2
+  resolution: "@rnx-kit/lint-package@npm:0.2.2"
   dependencies:
-    "@rnx-kit/config": "npm:^0.9.0"
+    "@rnx-kit/config": "npm:^1.0.0"
     "@rnx-kit/lint-json": "npm:^0.2.0"
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-    "@rnx-kit/types-node": "npm:^1.0.0"
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+    "@rnx-kit/types-node": "npm:^1.0.1"
   peerDependencies:
     "@yarnpkg/types": ">=4.0.0"
   peerDependenciesMeta:
     "@yarnpkg/types":
       optional: true
-  checksum: 10c0/d535cf5b34154d62b57ea8742160cc88b39388747ccf172ae1aad3809a3d5e9e61b07d6758fe6c489fa112e2f8cba2910923af237e7e76582fdb232159a9b241
+  checksum: 10c0/1651aaca628e49c5d078c1ef7c08209f587527c3c0431a2865797b9b5eb2f4fb14826d5f65a08305b38c4b7e8b78c654bb0f5a029ca1346a2826e9ab562728cf
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-config@npm:^2.2.4":
-  version: 2.2.4
-  resolution: "@rnx-kit/metro-config@npm:2.2.4"
+"@rnx-kit/metro-config@npm:^2.2.6":
+  version: 2.2.6
+  resolution: "@rnx-kit/metro-config@npm:2.2.6"
   dependencies:
     "@rnx-kit/tools-node": "npm:^3.0.0"
     "@rnx-kit/tools-react-native": "npm:^2.3.1"
-    "@rnx-kit/tools-workspaces": "npm:^0.2.0"
+    "@rnx-kit/tools-workspaces": "npm:^0.2.6"
   peerDependencies:
     "@react-native/metro-config": "*"
     react: "*"
@@ -9023,7 +9015,7 @@ __metadata:
   peerDependenciesMeta:
     "@react-native/metro-config":
       optional: true
-  checksum: 10c0/e07553e1fa1dfaea7586e0aeb9f2af10157f7d8fdcb7e1a07d75a5ebb83a02117e44c7899491f8ccc46b2a49b45c55459adfa44378d8070a60b18b55311f5e2c
+  checksum: 10c0/b372f1b90b97b31b542e87ecd25d291c5218eecd27d086a0fb951b13c9acfe2d9a1e85bbaaeaa9a8d64d38453788e1a103eb1bc6f078c1ce42e37d4f36153fd3
   languageName: node
   linkType: hard
 
@@ -9051,24 +9043,24 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-plugin-typescript@npm:^0.6.0":
-  version: 0.6.0
-  resolution: "@rnx-kit/metro-plugin-typescript@npm:0.6.0"
+"@rnx-kit/metro-plugin-typescript@npm:^0.6.1":
+  version: 0.6.1
+  resolution: "@rnx-kit/metro-plugin-typescript@npm:0.6.1"
   dependencies:
     "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/tools-node": "npm:^3.0.4"
     "@rnx-kit/tools-react-native": "npm:^2.3.3"
     "@rnx-kit/types-bundle-config": "npm:^1.0.0"
     "@rnx-kit/types-plugin-typescript": "npm:^1.0.0"
-    "@rnx-kit/typescript-service": "npm:^2.0.2"
-    typescript: "npm:>=4.7.0"
-  checksum: 10c0/41f3e87a0eec383f44c244504ce09e3859a93e4d838508d757d6837e54c47432f6547b7854d55d27a920be104a821e0392127446bd452dfdcf6bf9853553a97c
+    "@rnx-kit/typescript-service": "npm:^2.0.3"
+    typescript: "npm:4.7 - 6.0"
+  checksum: 10c0/8ebe73bff7edba3b08494ec1b829c5345ed3122f74b7251a3406f440fd19089166dc483acf92e43d1f282b0b57a1d38b6dc180bb85c5fdf38b3efa32a98d9e99
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-resolver-symlinks@npm:^0.3.1":
-  version: 0.3.1
-  resolution: "@rnx-kit/metro-resolver-symlinks@npm:0.3.1"
+"@rnx-kit/metro-resolver-symlinks@npm:^0.3.2":
+  version: 0.3.2
+  resolution: "@rnx-kit/metro-resolver-symlinks@npm:0.3.2"
   dependencies:
     "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/tools-node": "npm:^3.0.3"
@@ -9079,11 +9071,11 @@ __metadata:
   peerDependenciesMeta:
     oxc-resolver:
       optional: true
-  checksum: 10c0/6c910b9acaf10da3102ea05c4b582100573716d23d36cba98541685a93668eec0c4c8aba30ba46a829273b3bbf83fd1b38ced6a9d19099d31cc4990043d46afd
+  checksum: 10c0/a15c8521ce7dd6f8e9a7e8290bb0420ee225adcab57d8813ce96a131111f636c4fa953caa2abae39a3c781bff86c3fb3a53f08d629afb9d4fb11613376629811
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-serializer-esbuild@npm:^0.4.1, @rnx-kit/metro-serializer-esbuild@npm:^0.4.2":
+"@rnx-kit/metro-serializer-esbuild@npm:^0.4.2":
   version: 0.4.2
   resolution: "@rnx-kit/metro-serializer-esbuild@npm:0.4.2"
   dependencies:
@@ -9097,7 +9089,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-serializer@npm:^2.0.0":
+"@rnx-kit/metro-serializer@npm:^2.0.3":
   version: 2.0.3
   resolution: "@rnx-kit/metro-serializer@npm:2.0.3"
   dependencies:
@@ -9106,14 +9098,13 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/metro-service@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "@rnx-kit/metro-service@npm:5.0.0"
+"@rnx-kit/metro-service@npm:^5.0.3":
+  version: 5.0.3
+  resolution: "@rnx-kit/metro-service@npm:5.0.3"
   dependencies:
     "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/tools-node": "npm:^3.0.3"
     "@rnx-kit/tools-react-native": "npm:^2.3.5"
-    node-fetch: "npm:^2.6.7"
   peerDependencies:
     "@office-iss/react-native-win32": "*"
     "@react-native/metro-config": "*"
@@ -9125,7 +9116,7 @@ __metadata:
       optional: true
     metro-react-native-babel-transformer:
       optional: true
-  checksum: 10c0/68fb6ef888565fbb50a6c6b31e8600f8b95538629af205dc85bc5fa4b50fe5a06e6e443ceaf7de91678949dbb6d31085a9578e955590c6c363a18562ec37954f
+  checksum: 10c0/96a83e6c718c7b037cfd8abbad8c5436c080a609914699b6280b8349faecd30856a532d4c00aba5014d5914bd503847a0c2cbf2d3a12f5afc3a0e5de65c26db9
   languageName: node
   linkType: hard
 
@@ -9147,11 +9138,11 @@ __metadata:
   linkType: hard
 
 "@rnx-kit/react-native-host@npm:^0.5.19":
-  version: 0.5.19
-  resolution: "@rnx-kit/react-native-host@npm:0.5.19"
+  version: 0.5.21
+  resolution: "@rnx-kit/react-native-host@npm:0.5.21"
   peerDependencies:
     react-native: ">=0.66"
-  checksum: 10c0/6dbf12788c7ebff0813288343dcaa4b7c18b4a2fa048a6bdcb65019c92234beabbe8b9a52701dc7cd6845f9c621e93969fe58db3409093c7443053aa8646cc21
+  checksum: 10c0/f48bfe6fa991becee8783909a1668309b994aa8cd1dcdb8294aaf0685810cc8cec708b3e5ba87cb44ac4b9c2d41495dc027d6ebb8720a1d4476d6de477d15a0c
   languageName: node
   linkType: hard
 
@@ -9162,9 +9153,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/third-party-notices@npm:^3.0.2":
-  version: 3.0.2
-  resolution: "@rnx-kit/third-party-notices@npm:3.0.2"
+"@rnx-kit/third-party-notices@npm:^3.0.4":
+  version: 3.0.4
+  resolution: "@rnx-kit/third-party-notices@npm:3.0.4"
   dependencies:
     "@rnx-kit/console": "npm:^3.0.0"
     "@rnx-kit/tools-node": "npm:^3.0.6"
@@ -9172,7 +9163,7 @@ __metadata:
     yargs: "npm:^17.0.0"
   bin:
     build-tpn: ./lib/build-tpn.js
-  checksum: 10c0/5d89bd41357a26a94c1dbd0da1da2c4412a95e951f39a3bc552d924075fcb7284f97b435b856a3df713d49b5a8a5a73497b9808ef4228c25127f53e56c9b13c6
+  checksum: 10c0/ace4fb254ae7d62ba8c790f6fd9c833c6eada669bc3332108b16d5538623f259c7c825c376d53c833e85bc1f446369ad5141db32368a59cbb57d6ee59079cf2c
   languageName: node
   linkType: hard
 
@@ -9185,7 +9176,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/tools-apple@npm:0.2.3":
+"@rnx-kit/tools-apple@npm:^0.2.3":
   version: 0.2.3
   resolution: "@rnx-kit/tools-apple@npm:0.2.3"
   dependencies:
@@ -9195,7 +9186,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/tools-filesystem@npm:0.2.0, @rnx-kit/tools-filesystem@npm:^0.2.0":
+"@rnx-kit/tools-filesystem@npm:^0.2.0":
   version: 0.2.0
   resolution: "@rnx-kit/tools-filesystem@npm:0.2.0"
   peerDependencies:
@@ -9207,10 +9198,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/tools-formatting@npm:^0.1.0":
-  version: 0.1.0
-  resolution: "@rnx-kit/tools-formatting@npm:0.1.0"
-  checksum: 10c0/50bb60a782bc6492d7d3815450e509be3692d07692e03752e4f09688778b773808b5290c841043821b25af081ca6033e346e6486bae7717ce381440b53ae04fb
+"@rnx-kit/tools-formatting@npm:^0.2.0":
+  version: 0.2.0
+  resolution: "@rnx-kit/tools-formatting@npm:0.2.0"
+  checksum: 10c0/d23861004c91a8a83635b0717e44af90263727124cf717de3195f74c245003be53b14bea08db8ddde8f26b8f3d859531f353d11918e7a016fcaccec674f34557
   languageName: node
   linkType: hard
 
@@ -9241,19 +9232,19 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/tools-react-native@npm:^2.1.0, @rnx-kit/tools-react-native@npm:^2.3.0, @rnx-kit/tools-react-native@npm:^2.3.1, @rnx-kit/tools-react-native@npm:^2.3.2, @rnx-kit/tools-react-native@npm:^2.3.3, @rnx-kit/tools-react-native@npm:^2.3.5, @rnx-kit/tools-react-native@npm:^2.3.7, @rnx-kit/tools-react-native@npm:^2.3.8":
-  version: 2.3.8
-  resolution: "@rnx-kit/tools-react-native@npm:2.3.8"
+"@rnx-kit/tools-react-native@npm:^2.1.0, @rnx-kit/tools-react-native@npm:^2.3.0, @rnx-kit/tools-react-native@npm:^2.3.1, @rnx-kit/tools-react-native@npm:^2.3.10, @rnx-kit/tools-react-native@npm:^2.3.2, @rnx-kit/tools-react-native@npm:^2.3.3, @rnx-kit/tools-react-native@npm:^2.3.5":
+  version: 2.3.10
+  resolution: "@rnx-kit/tools-react-native@npm:2.3.10"
   dependencies:
     "@rnx-kit/tools-filesystem": "npm:^0.2.0"
-    "@rnx-kit/tools-node": "npm:^3.0.5"
-    "@rnx-kit/types-bundle-config": "npm:^1.0.0"
+    "@rnx-kit/tools-node": "npm:^3.0.6"
+    "@rnx-kit/types-bundle-config": "npm:^1.0.1"
   peerDependencies:
     "@react-native-community/cli-types": "*"
   peerDependenciesMeta:
     "@react-native-community/cli-types":
       optional: true
-  checksum: 10c0/2881b698aaea20d4ea92f2bf0b08997255cd574b257c8942bf2a72bd3e692e00fea69cf2af31c3527495d78d8e8ece7c490e2250724c942153d9a904e60dcda8
+  checksum: 10c0/75dfbcbccfce146bcee17f3548d651ad94100ba6e5ac481e1189f1439f71a055a7c75d8e7873386588e03acb328b319c39a92db5b648856a48c3aca287c9172c
   languageName: node
   linkType: hard
 
@@ -9264,33 +9255,16 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/tools-typescript@npm:^0.2.1":
-  version: 0.2.1
-  resolution: "@rnx-kit/tools-typescript@npm:0.2.1"
-  dependencies:
-    "@rnx-kit/config": "npm:^0.9.0"
-    "@rnx-kit/console": "npm:^3.0.0"
-    "@rnx-kit/tools-node": "npm:^3.0.4"
-    "@rnx-kit/tools-packages": "npm:^0.1.3"
-    "@rnx-kit/tools-react-native": "npm:^2.3.3"
-    "@rnx-kit/types-bundle-config": "npm:^1.0.0"
-    "@rnx-kit/typescript-service": "npm:^2.0.3"
-  peerDependencies:
-    typescript: 4.7 - 6.0
-  checksum: 10c0/6672ba16e229bb8b9b319f38003562f0e8b1fcfd4ba007e6e649020e4330e332a78c52b093cbda84b136e8e0672745531db59a83f88b6c846a89888f3ded10b7
-  languageName: node
-  linkType: hard
-
-"@rnx-kit/tools-workspaces@npm:^0.2.0, @rnx-kit/tools-workspaces@npm:^0.2.1, @rnx-kit/tools-workspaces@npm:^0.2.3, @rnx-kit/tools-workspaces@npm:^0.2.4":
-  version: 0.2.4
-  resolution: "@rnx-kit/tools-workspaces@npm:0.2.4"
+"@rnx-kit/tools-workspaces@npm:^0.2.1, @rnx-kit/tools-workspaces@npm:^0.2.6":
+  version: 0.2.6
+  resolution: "@rnx-kit/tools-workspaces@npm:0.2.6"
   dependencies:
     fast-glob: "npm:^3.2.7"
     find-up: "npm:^5.0.0"
-    js-yaml: "npm:^5.2.2"
+    js-yaml: "npm:^5.2.3"
     micromatch: "npm:^4.0.0"
     strip-json-comments: "npm:^3.1.1"
-  checksum: 10c0/af7c308ce12792522286c3f4a06e7156feda839e868d5a0dfd307589a8c7556b1bbce11653db5952e63dd72fbe4c03ef9fd05b2177e3a3f68a752c8e231579b7
+  checksum: 10c0/7ee3e4c178c22ddbcb0f8e9c90d7dd0422ce51687741e6da034befd31de6e65bca444b16f52b8654ff59ad6951f83de8c0ee146e75de6971b2868ec450252d11
   languageName: node
   linkType: hard
 
@@ -9301,9 +9275,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/types-bundle-config@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@rnx-kit/types-bundle-config@npm:1.0.0"
+"@rnx-kit/types-bundle-config@npm:^1.0.0, @rnx-kit/types-bundle-config@npm:^1.0.1":
+  version: 1.0.1
+  resolution: "@rnx-kit/types-bundle-config@npm:1.0.1"
   dependencies:
     "@rnx-kit/types-metro-serializer-esbuild": "npm:^1.0.0"
     "@rnx-kit/types-plugin-cyclic-dependencies": "npm:^1.0.0"
@@ -9314,32 +9288,32 @@ __metadata:
   peerDependenciesMeta:
     metro:
       optional: true
-  checksum: 10c0/854000d0609a140c4719ea2099c5843ac420fc3fdf7274a3ff5be52f1deebd17669025576cc32413279f9df1ffebbb4e128e676839479d76cb5d7c85d8c4640f
+  checksum: 10c0/0d6b8c3bf43d0ce2fbe509fb7a1de057412352c8384c6e459a2a99caa1ba1c03384cea990e2c04dd50329442401ee5eabf6a39c948d4e84a047c3c2b0ba225a1
   languageName: node
   linkType: hard
 
-"@rnx-kit/types-kit-config@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@rnx-kit/types-kit-config@npm:1.0.0"
+"@rnx-kit/types-kit-config@npm:^2.0.0":
+  version: 2.0.0
+  resolution: "@rnx-kit/types-kit-config@npm:2.0.0"
   dependencies:
-    "@rnx-kit/types-bundle-config": "npm:^1.0.0"
-  checksum: 10c0/164809621b7889af879463ba0f89b05ebc6113df5b78615cd2dcc289c4480b15b35a4f9a8f593068c0be352472a8410bc7acdc1e39aa165940e88fccb58a82e2
+    "@rnx-kit/types-bundle-config": "npm:^1.0.1"
+  checksum: 10c0/4b120545fb3a392e2e7103341059bf41f75bf79469d1bfaebdbe3aa7abac1495393e5683d527d610a8611196f92bf102e2ba8e7bbbbaab688c4e2611fc8ce05a
   languageName: node
   linkType: hard
 
 "@rnx-kit/types-metro-serializer-esbuild@npm:^1.0.0":
-  version: 1.0.1
-  resolution: "@rnx-kit/types-metro-serializer-esbuild@npm:1.0.1"
-  checksum: 10c0/1907fb5e747d327be004b9479ca40cdd328c10a322b51cbb423df6e0d488a32cfea3bea2f52894f9c3a7f54ee810516362861166b3a513de7b123eeb49aca6bf
+  version: 1.0.2
+  resolution: "@rnx-kit/types-metro-serializer-esbuild@npm:1.0.2"
+  checksum: 10c0/90cebe6c5296654a071ff69934cc8b64475604e0fa2fa67b524faa636e36a6784485ac534c76c8a965649214d2e14b7d38f812477805446f14188c31c376141d
   languageName: node
   linkType: hard
 
-"@rnx-kit/types-node@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "@rnx-kit/types-node@npm:1.0.0"
+"@rnx-kit/types-node@npm:^1.0.0, @rnx-kit/types-node@npm:^1.0.1":
+  version: 1.0.1
+  resolution: "@rnx-kit/types-node@npm:1.0.1"
   dependencies:
-    "@rnx-kit/types-kit-config": "npm:^1.0.0"
-  checksum: 10c0/601608822853b7a875adc4945f150a00ee25db9c701922c0e0c09197a6c0ff15c328995fa22b6c39f9081ce4e965898af04e7c3bfb3a68fdb9e7a6e4c780e162
+    "@rnx-kit/types-kit-config": "npm:^2.0.0"
+  checksum: 10c0/a5eb4d0aa63c57d747d711bbcf23bb330fa6d2a7e17417a3a53ab88a604b6cd789da9c157d2a9d1d695591c3538491c0dd369d3b45641ce49af64adbba0fa92d
   languageName: node
   linkType: hard
 
@@ -9364,7 +9338,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@rnx-kit/typescript-service@npm:^2.0.2, @rnx-kit/typescript-service@npm:^2.0.3":
+"@rnx-kit/typescript-service@npm:^2.0.3":
   version: 2.0.3
   resolution: "@rnx-kit/typescript-service@npm:2.0.3"
   dependencies:
@@ -10114,13 +10088,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/minimatch@npm:^3.0.3":
-  version: 3.0.5
-  resolution: "@types/minimatch@npm:3.0.5"
-  checksum: 10c0/a1a19ba342d6f39b569510f621ae4bbe972dc9378d15e9a5e47904c440ee60744f5b09225bc73be1c6490e3a9c938eee69eb53debf55ce1f15761201aa965f97
-  languageName: node
-  linkType: hard
-
 "@types/node@npm:*":
   version: 25.0.3
   resolution: "@types/node@npm:25.0.3"
@@ -10146,13 +10113,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/parse-json@npm:^4.0.0":
-  version: 4.0.0
-  resolution: "@types/parse-json@npm:4.0.0"
-  checksum: 10c0/1d3012ab2fcdad1ba313e1d065b737578f6506c8958e2a7a5bdbdef517c7e930796cb1599ee067d5dee942fb3a764df64b5eef7e9ae98548d776e86dcffba985
-  languageName: node
-  linkType: hard
-
 "@types/parse-path@npm:^7.0.0":
   version: 7.0.3
   resolution: "@types/parse-path@npm:7.0.3"
@@ -10867,76 +10827,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@vue/compiler-core@npm:3.3.4":
-  version: 3.3.4
-  resolution: "@vue/compiler-core@npm:3.3.4"
-  dependencies:
-    "@babel/parser": "npm:^7.21.3"
-    "@vue/shared": "npm:3.3.4"
-    estree-walker: "npm:^2.0.2"
-    source-map-js: "npm:^1.0.2"
-  checksum: 10c0/941dded05d656c26f6d142fda6a8b2557b2b9918e4755f88a660fee941ae04b800c69900cfe12c2c2ee045c7d9248b0fdc36398ca938395a2107b366f7f062e0
-  languageName: node
-  linkType: hard
-
-"@vue/compiler-dom@npm:3.3.4":
-  version: 3.3.4
-  resolution: "@vue/compiler-dom@npm:3.3.4"
-  dependencies:
-    "@vue/compiler-core": "npm:3.3.4"
-    "@vue/shared": "npm:3.3.4"
-  checksum: 10c0/4f9f0fca076dbc799e4d3d6cca5e1fdba8da9b09b496c754c3d096d5e7ee7003f99f22e51fe541ade14bc2cf1ff821f6e76d9fc15ac5bb3e0d333810acd6976e
-  languageName: node
-  linkType: hard
-
-"@vue/compiler-sfc@npm:^3.3.4":
-  version: 3.3.4
-  resolution: "@vue/compiler-sfc@npm:3.3.4"
-  dependencies:
-    "@babel/parser": "npm:^7.20.15"
-    "@vue/compiler-core": "npm:3.3.4"
-    "@vue/compiler-dom": "npm:3.3.4"
-    "@vue/compiler-ssr": "npm:3.3.4"
-    "@vue/reactivity-transform": "npm:3.3.4"
-    "@vue/shared": "npm:3.3.4"
-    estree-walker: "npm:^2.0.2"
-    magic-string: "npm:^0.30.0"
-    postcss: "npm:^8.1.10"
-    source-map-js: "npm:^1.0.2"
-  checksum: 10c0/21e76ff9f12156d91f97b34001708ccfe1017b44f7217b6b25f0acd5762a5bc013782f69f7b7a50eb0c15b8bc395ddf76f23ca51ff20ceac273fcd600576f697
-  languageName: node
-  linkType: hard
-
-"@vue/compiler-ssr@npm:3.3.4":
-  version: 3.3.4
-  resolution: "@vue/compiler-ssr@npm:3.3.4"
-  dependencies:
-    "@vue/compiler-dom": "npm:3.3.4"
-    "@vue/shared": "npm:3.3.4"
-  checksum: 10c0/b4c103b21618cefca6ff7a870f6a52576a021fc9a34ce2f826492e5a3a729b74e28d6cfe87b6db72d5f741d2b7e2dce7772d264115d9a3e5222954ccc24a8492
-  languageName: node
-  linkType: hard
-
-"@vue/reactivity-transform@npm:3.3.4":
-  version: 3.3.4
-  resolution: "@vue/reactivity-transform@npm:3.3.4"
-  dependencies:
-    "@babel/parser": "npm:^7.20.15"
-    "@vue/compiler-core": "npm:3.3.4"
-    "@vue/shared": "npm:3.3.4"
-    estree-walker: "npm:^2.0.2"
-    magic-string: "npm:^0.30.0"
-  checksum: 10c0/a8e25f66e272b21b38523c361171bd5fa4f0d4787c5be09b47cc7ef3911c511544cea58dd3cebea83783700431bc870e239cc66dff8bb379f52b3709a3afb046
-  languageName: node
-  linkType: hard
-
-"@vue/shared@npm:3.3.4":
-  version: 3.3.4
-  resolution: "@vue/shared@npm:3.3.4"
-  checksum: 10c0/01a337004476988a576e1681eed219031db6d8671b60cbf46f75ea55e9fa1e01f5cdf550f380fe4045e037c0ac837faed6961420cd03f6f69036518fff110bb9
-  languageName: node
-  linkType: hard
-
 "@wdio/cli@npm:^10.1.0":
   version: 10.1.0
   resolution: "@wdio/cli@npm:10.1.0"
@@ -11459,6 +11349,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"argparse@npm:^3.0.3":
+  version: 3.0.4
+  resolution: "argparse@npm:3.0.4"
+  checksum: 10c0/845346e39e677b46f8558cece7c8dad1f7045f8b86af33356d8565b26a16940bf770a14a51d6da40ce76554a141e0e95b514d055d1da17a2f1b42df7d523fa0f
+  languageName: node
+  linkType: hard
+
 "aria-query@npm:5.3.0":
   version: 5.3.0
   resolution: "aria-query@npm:5.3.0"
@@ -11501,13 +11398,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"array-differ@npm:^3.0.0":
-  version: 3.0.0
-  resolution: "array-differ@npm:3.0.0"
-  checksum: 10c0/c0d924cc2b7e3f5a0e6ae932e8941c5fddc0412bcecf8d5152641910e60f5e1c1e87da2b32083dec2f92f9a8f78e916ea68c22a0579794ba49886951ae783123
-  languageName: node
-  linkType: hard
-
 "array-includes@npm:^3.1.5, array-includes@npm:^3.1.8":
   version: 3.1.9
   resolution: "array-includes@npm:3.1.9"
@@ -11601,13 +11491,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"arrify@npm:^2.0.1":
-  version: 2.0.1
-  resolution: "arrify@npm:2.0.1"
-  checksum: 10c0/3fb30b5e7c37abea1907a60b28a554d2f0fc088757ca9bf5b684786e583fdf14360721eb12575c1ce6f995282eab936712d3c4389122682eafab0e0b57f78dbb
-  languageName: node
-  linkType: hard
-
 "art@npm:^0.10.0":
   version: 0.10.3
   resolution: "art@npm:0.10.3"
@@ -11930,9 +11813,9 @@ __metadata:
   languageName: node
   linkType: hard
 
-"body-parser@npm:1.20.8":
-  version: 1.20.8
-  resolution: "body-parser@npm:1.20.8"
+"body-parser@npm:1.20.9":
+  version: 1.20.9
+  resolution: "body-parser@npm:1.20.9"
   dependencies:
     bytes: "npm:~3.1.2"
     content-type: "npm:~1.0.5"
@@ -11946,24 +11829,24 @@ __metadata:
     raw-body: "npm:~2.5.3"
     type-is: "npm:~1.6.18"
     unpipe: "npm:~1.0.0"
-  checksum: 10c0/7edc8c4762d52ff685af081b1d5ccad860edcec662c25893be452b16042fd55b9c9869a194bd282e0ad936c34eb07866b2b33f0cc02ff916597058fd229c13d2
+  checksum: 10c0/685d3208335377a3dfc6d7bc8b2af6d40d38b9a72e25bab4d9f7aff19d059729d5b1b3a9f5561274f460020bb9166c211d5302abe0b45452665420ca5e16013b
   languageName: node
   linkType: hard
 
-"body-parser@npm:^2.2.2":
-  version: 2.3.0
-  resolution: "body-parser@npm:2.3.0"
+"body-parser@npm:2.4.0":
+  version: 2.4.0
+  resolution: "body-parser@npm:2.4.0"
   dependencies:
     bytes: "npm:^3.1.2"
-    content-type: "npm:^2.0.0"
+    content-type: "npm:^2.1.0"
     debug: "npm:^4.4.3"
     http-errors: "npm:^2.0.1"
-    iconv-lite: "npm:^0.7.2"
+    iconv-lite: "npm:^0.7.3"
     on-finished: "npm:^2.4.1"
-    qs: "npm:^6.15.2"
+    qs: "npm:^6.16.1"
     raw-body: "npm:^3.0.2"
     type-is: "npm:^2.1.0"
-  checksum: 10c0/2a8fbbdc471b588338555a3e1a597d1eb0ad0c21cf20fdc3bac5d3f8d9c3a4b19b4163575ab852a43a5dfc0df7770ced5284f979e561f1a24c2f851ce89e695a
+  checksum: 10c0/247b891a27f661410b149c8a4771d3a9a076c86f41fff033d87b8bc828198195bd03ba321e3a8993ac37abca5a7ffeb62c96ea41f7ad3f11c170b73de5c27afe
   languageName: node
   linkType: hard
 
@@ -12143,13 +12026,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"callsite@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "callsite@npm:1.0.0"
-  checksum: 10c0/8b23d5ed879984b66fe3da381994d6c4b741e561226abc48b40c99c4896f7125db395ea4aa989071a7eb0712c3f83bc32fb1e798fdf54967acdf4af176e48572
-  languageName: node
-  linkType: hard
-
 "callsites@npm:^3.0.0":
   version: 3.1.0
   resolution: "callsites@npm:3.1.0"
@@ -12164,7 +12040,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"camelcase@npm:^6.2.0, camelcase@npm:^6.3.0":
+"camelcase@npm:^6.2.0":
   version: 6.3.0
   resolution: "camelcase@npm:6.3.0"
   checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710
@@ -12647,10 +12523,10 @@ __metadata:
   languageName: node
   linkType: hard
 
-"content-type@npm:^2.0.0":
-  version: 2.0.0
-  resolution: "content-type@npm:2.0.0"
-  checksum: 10c0/491539fff707d7594b0ca4fabcc084bef2a31ffa754ff0a4f80c4377e3963cff0394317f9271c24087596c97fa675bc123d61fa34ffe65b4904e7d3d3098de72
+"content-type@npm:^2.0.0, content-type@npm:^2.1.0":
+  version: 2.1.0
+  resolution: "content-type@npm:2.1.0"
+  checksum: 10c0/f5d420f55fd0c7a7f7cbae9637777ce67a074aa79b489d8d9fee8599089592b5f8bb194e1d6885741fee20271034baca0d68d5419535b52d070c4f7e39f4b448
   languageName: node
   linkType: hard
 
@@ -12684,19 +12560,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"cosmiconfig@npm:^7.1.0":
-  version: 7.1.0
-  resolution: "cosmiconfig@npm:7.1.0"
-  dependencies:
-    "@types/parse-json": "npm:^4.0.0"
-    import-fresh: "npm:^3.2.1"
-    parse-json: "npm:^5.0.0"
-    path-type: "npm:^4.0.0"
-    yaml: "npm:^1.10.0"
-  checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03
-  languageName: node
-  linkType: hard
-
 "cosmiconfig@npm:^8.1.3":
   version: 8.3.6
   resolution: "cosmiconfig@npm:8.3.6"
@@ -13035,13 +12898,20 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.0, deepmerge@npm:^4.3.1":
+"deepmerge@npm:4.3.1":
   version: 4.3.1
   resolution: "deepmerge@npm:4.3.1"
   checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044
   languageName: node
   linkType: hard
 
+"deepmerge@patch:deepmerge@npm%3A4.3.1#~/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch":
+  version: 4.3.1
+  resolution: "deepmerge@patch:deepmerge@npm%3A4.3.1#~/.yarn/patches/deepmerge-npm-4.3.1-4f751a0844.patch::version=4.3.1&hash=859e69"
+  checksum: 10c0/3dff0023594063480aa3829501ca4cc53f04a155aa3a490f449f56d2bb677b56af145e06f589da3b74ccaf04103c7c9ea9b4c02f86bf73bf21873914cc74a6c6
+  languageName: node
+  linkType: hard
+
 "default-browser-id@npm:^5.0.0":
   version: 5.0.1
   resolution: "default-browser-id@npm:5.0.1"
@@ -13110,39 +12980,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"depcheck@npm:^1.0.0":
-  version: 1.4.7
-  resolution: "depcheck@npm:1.4.7"
-  dependencies:
-    "@babel/parser": "npm:^7.23.0"
-    "@babel/traverse": "npm:^7.23.2"
-    "@vue/compiler-sfc": "npm:^3.3.4"
-    callsite: "npm:^1.0.0"
-    camelcase: "npm:^6.3.0"
-    cosmiconfig: "npm:^7.1.0"
-    debug: "npm:^4.3.4"
-    deps-regex: "npm:^0.2.0"
-    findup-sync: "npm:^5.0.0"
-    ignore: "npm:^5.2.4"
-    is-core-module: "npm:^2.12.0"
-    js-yaml: "npm:^3.14.1"
-    json5: "npm:^2.2.3"
-    lodash: "npm:^4.17.21"
-    minimatch: "npm:^7.4.6"
-    multimatch: "npm:^5.0.0"
-    please-upgrade-node: "npm:^3.2.0"
-    readdirp: "npm:^3.6.0"
-    require-package-name: "npm:^2.0.1"
-    resolve: "npm:^1.22.3"
-    resolve-from: "npm:^5.0.0"
-    semver: "npm:^7.5.4"
-    yargs: "npm:^16.2.0"
-  bin:
-    depcheck: bin/depcheck.js
-  checksum: 10c0/6b9f6c1d5948d19b8e2772cb59d5a25429e13c4420295ff349f954d51253af50015d2e4c70677359e37bb1f147fb7a865fded25d2423e93ec080a9b3be2d88e6
-  languageName: node
-  linkType: hard
-
 "depd@npm:2.0.0, depd@npm:~2.0.0":
   version: 2.0.0
   resolution: "depd@npm:2.0.0"
@@ -13150,13 +12987,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"deps-regex@npm:^0.2.0":
-  version: 0.2.0
-  resolution: "deps-regex@npm:0.2.0"
-  checksum: 10c0/bafb3e1a7644d19c209ec0e5179adb9f0642ef71bc7dcc975c7a92909997c0280a5eb66228921c540fafe97c66faa56c77a3ff1080a4bae5aa75860f824119d3
-  languageName: node
-  linkType: hard
-
 "dequal@npm:^2.0.3":
   version: 2.0.3
   resolution: "dequal@npm:2.0.3"
@@ -13171,13 +13001,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"detect-file@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "detect-file@npm:1.0.0"
-  checksum: 10c0/c782a5f992047944c39d337c82f5d1d21d65d1378986d46c354df9d9ec6d5f356bca0182969c11b08b9b8a7af8727b3c2d5a9fad0b022be4a3bf4c216f63ed07
-  languageName: node
-  linkType: hard
-
 "detect-newline@npm:^3.0.0":
   version: 3.1.0
   resolution: "detect-newline@npm:3.1.0"
@@ -14056,13 +13879,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"estree-walker@npm:^2.0.2":
-  version: 2.0.2
-  resolution: "estree-walker@npm:2.0.2"
-  checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af
-  languageName: node
-  linkType: hard
-
 "esutils@npm:^2.0.2":
   version: 2.0.3
   resolution: "esutils@npm:2.0.3"
@@ -14174,15 +13990,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2":
-  version: 2.0.2
-  resolution: "expand-tilde@npm:2.0.2"
-  dependencies:
-    homedir-polyfill: "npm:^1.0.1"
-  checksum: 10c0/205a60497422746d1c3acbc1d65bd609b945066f239a2b785e69a7a651ac4cbeb4e08555b1ea0023abbe855e6fcb5bbf27d0b371367fdccd303d4fb2b4d66845
-  languageName: node
-  linkType: hard
-
 "expect-webdriverio@npm:^8.0.0":
   version: 8.0.0
   resolution: "expect-webdriverio@npm:8.0.0"
@@ -14454,18 +14261,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"findup-sync@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "findup-sync@npm:5.0.0"
-  dependencies:
-    detect-file: "npm:^1.0.0"
-    is-glob: "npm:^4.0.3"
-    micromatch: "npm:^4.0.4"
-    resolve-dir: "npm:^1.0.1"
-  checksum: 10c0/bbdb8af8c86a0bde4445e2f738003b92e4cd2a4539a5b45199d0252f2f504aeaf19aeca1fac776c3632c60657b2659151e72c8ead29a79617459a57419a0920b
-  languageName: node
-  linkType: hard
-
 "flow-bin@npm:^0.113.0":
   version: 0.113.0
   resolution: "flow-bin@npm:0.113.0"
@@ -14822,7 +14617,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"glob@npm:^10.2.2 || ^11.0.3 || ^12.0.0 || ^13.0.0, glob@npm:^13.0.0, glob@npm:^13.0.6":
+"glob@npm:13.0.6":
   version: 13.0.6
   resolution: "glob@npm:13.0.6"
   dependencies:
@@ -14847,27 +14642,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"global-modules@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "global-modules@npm:1.0.0"
-  dependencies:
-    global-prefix: "npm:^1.0.1"
-    is-windows: "npm:^1.0.1"
-    resolve-dir: "npm:^1.0.0"
-  checksum: 10c0/7d91ecf78d4fcbc966b2d89c1400df273afea795bc8cadf39857ee1684e442065621fd79413ff5fcd9e90c6f1b2dc0123e644fa0b7811f987fd54c6b9afad858
-  languageName: node
-  linkType: hard
-
-"global-prefix@npm:^1.0.1":
-  version: 1.0.2
-  resolution: "global-prefix@npm:1.0.2"
+"glob@patch:glob@npm%3A13.0.6#~/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch":
+  version: 13.0.6
+  resolution: "glob@patch:glob@npm%3A13.0.6#~/.yarn/patches/glob-npm-13.0.6-864eb0cece.patch::version=13.0.6&hash=9360c9"
   dependencies:
-    expand-tilde: "npm:^2.0.2"
-    homedir-polyfill: "npm:^1.0.1"
-    ini: "npm:^1.3.4"
-    is-windows: "npm:^1.0.1"
-    which: "npm:^1.2.14"
-  checksum: 10c0/d8037e300f1dc04d5d410d16afa662e71bfad22dcceba6c9727bb55cc273b8988ca940b3402f62e5392fd261dd9924a9a73a865ef2000219461f31f3fc86be06
+    minimatch: "npm:^10.2.2"
+    minipass: "npm:^7.1.3"
+    path-scurry: "npm:^2.0.2"
+  checksum: 10c0/d3428b582ffc3733a14d57b694a1d3532365e5650596c68583fbe16f3a9b45a8d336c4c5a154cd1d1190d9586f2b8e9e0c3e9981613b68f70f6a315d51c28da4
   languageName: node
   linkType: hard
 
@@ -15049,15 +14831,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"homedir-polyfill@npm:^1.0.1":
-  version: 1.0.3
-  resolution: "homedir-polyfill@npm:1.0.3"
-  dependencies:
-    parse-passwd: "npm:^1.0.0"
-  checksum: 10c0/3c099844f94b8b438f124bd5698bdcfef32b2d455115fb8050d7148e7f7b95fc89ba9922586c491f0e1cdebf437b1053c84ecddb8d596e109e9ac69c5b4a9e27
-  languageName: node
-  linkType: hard
-
 "hosted-git-info@npm:^9.0.0":
   version: 9.0.2
   resolution: "hosted-git-info@npm:9.0.2"
@@ -15201,12 +14974,12 @@ __metadata:
   languageName: node
   linkType: hard
 
-"iconv-lite@npm:*, iconv-lite@npm:^0.7.2, iconv-lite@npm:~0.7.0":
-  version: 0.7.2
-  resolution: "iconv-lite@npm:0.7.2"
+"iconv-lite@npm:*, iconv-lite@npm:^0.7.2, iconv-lite@npm:^0.7.3, iconv-lite@npm:~0.7.0":
+  version: 0.7.3
+  resolution: "iconv-lite@npm:0.7.3"
   dependencies:
     safer-buffer: "npm:>= 2.1.2 < 3.0.0"
-  checksum: 10c0/3c228920f3bd307f56bf8363706a776f4a060eb042f131cd23855ceca962951b264d0997ab38a1ad340e1c5df8499ed26e1f4f0db6b2a2ad9befaff22f14b722
+  checksum: 10c0/be2fd2414f7e94be3a63063fa0ad5919c16bc7b6e00c77eea0765ced6db405739f38dd51016583058fba25cc1d0106ba30b83fbb7a7e32f824d4db76f23d8d33
   languageName: node
   linkType: hard
 
@@ -15272,7 +15045,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0":
+"import-fresh@npm:^3.3.0":
   version: 3.3.0
   resolution: "import-fresh@npm:3.3.0"
   dependencies:
@@ -15339,13 +15112,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"ini@npm:^1.3.4":
-  version: 1.3.8
-  resolution: "ini@npm:1.3.8"
-  checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a
-  languageName: node
-  linkType: hard
-
 "inquirer@npm:^14.2.3":
   version: 14.2.4
   resolution: "inquirer@npm:14.2.4"
@@ -15470,7 +15236,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-core-module@npm:^2.12.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1":
+"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1":
   version: 2.16.2
   resolution: "is-core-module@npm:2.16.2"
   dependencies:
@@ -15567,7 +15333,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3":
+"is-glob@npm:^4.0.1":
   version: 4.0.3
   resolution: "is-glob@npm:4.0.3"
   dependencies:
@@ -15785,13 +15551,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"is-windows@npm:^1.0.1":
-  version: 1.0.2
-  resolution: "is-windows@npm:1.0.2"
-  checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5
-  languageName: node
-  linkType: hard
-
 "is-wsl@npm:^1.1.0":
   version: 1.1.0
   resolution: "is-wsl@npm:1.1.0"
@@ -16488,7 +16247,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"joi@npm:^17.2.1":
+"joi@npm:17.13.8":
   version: 17.13.8
   resolution: "joi@npm:17.13.8"
   dependencies:
@@ -16501,6 +16260,19 @@ __metadata:
   languageName: node
   linkType: hard
 
+"joi@patch:joi@npm%3A17.13.8#~/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch":
+  version: 17.13.8
+  resolution: "joi@patch:joi@npm%3A17.13.8#~/.yarn/patches/joi-npm-17.13.8-be9813fa0c.patch::version=17.13.8&hash=8b5838"
+  dependencies:
+    "@hapi/hoek": "npm:^9.3.0"
+    "@hapi/topo": "npm:^5.1.0"
+    "@sideway/address": "npm:^4.1.5"
+    "@sideway/formula": "npm:^3.0.1"
+    "@sideway/pinpoint": "npm:^2.0.0"
+  checksum: 10c0/a636a611d266c76d23969ca8fe2ef298b6c2565a21e2825edbba4c3a44903c9ae5b35feb1b095a9370e3b39224d3e0781875681aaa3a0eb17b61ae096ee85a88
+  languageName: node
+  linkType: hard
+
 "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
   version: 4.0.0
   resolution: "js-tokens@npm:4.0.0"
@@ -16508,7 +16280,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1":
+"js-yaml@npm:^3.13.1":
   version: 3.15.2
   resolution: "js-yaml@npm:3.15.2"
   dependencies:
@@ -16520,7 +16292,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1, js-yaml@npm:^4.2.0, js-yaml@npm:^4.3.1":
+"js-yaml@npm:^4.1.0, js-yaml@npm:^4.1.1, js-yaml@npm:^4.3.1":
   version: 4.3.2
   resolution: "js-yaml@npm:4.3.2"
   dependencies:
@@ -16531,14 +16303,14 @@ __metadata:
   languageName: node
   linkType: hard
 
-"js-yaml@npm:^5.2.2":
-  version: 5.4.2
-  resolution: "js-yaml@npm:5.4.2"
+"js-yaml@npm:^5.2.3":
+  version: 5.5.0
+  resolution: "js-yaml@npm:5.5.0"
   dependencies:
-    argparse: "npm:^2.0.1"
+    argparse: "npm:^3.0.3"
   bin:
     js-yaml: bin/js-yaml.mjs
-  checksum: 10c0/ba7e0f72c93c7a84eca2c3de45d2a9188b16a20e83f036df723a3ac29e841496382d0b0849592f63028d1c640bcc5b65f88800da342f47469b5b99bda5c75bfc
+  checksum: 10c0/311619f44dd788657e9b81d4b5c60ff367441f364045e3796bc604a41f25819852748fb173ae82f2553d53cb609d7fdb79e0a74148892cb2c085eebe91839b53
   languageName: node
   linkType: hard
 
@@ -17125,15 +16897,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"magic-string@npm:^0.30.0":
-  version: 0.30.21
-  resolution: "magic-string@npm:0.30.21"
-  dependencies:
-    "@jridgewell/sourcemap-codec": "npm:^1.5.5"
-  checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a
-  languageName: node
-  linkType: hard
-
 "magic-string@npm:^1.4.3":
   version: 1.4.3
   resolution: "magic-string@npm:1.4.3"
@@ -17649,7 +17412,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"minimatch@npm:^10.2.2":
+"minimatch@npm:10.2.6":
   version: 10.2.6
   resolution: "minimatch@npm:10.2.6"
   dependencies:
@@ -17658,6 +17421,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"minimatch@npm:9.0.9":
+  version: 9.0.9
+  resolution: "minimatch@npm:9.0.9"
+  dependencies:
+    brace-expansion: "npm:^2.0.2"
+  checksum: 10c0/0b6a58530dbb00361745aa6c8cffaba4c90f551afe7c734830bd95fd88ebf469dd7355a027824ea1d09e37181cfeb0a797fb17df60c15ac174303ac110eb7e86
+  languageName: node
+  linkType: hard
+
 "minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
   version: 3.1.5
   resolution: "minimatch@npm:3.1.5"
@@ -17667,21 +17439,21 @@ __metadata:
   languageName: node
   linkType: hard
 
-"minimatch@npm:^7.4.6":
-  version: 7.4.9
-  resolution: "minimatch@npm:7.4.9"
+"minimatch@patch:minimatch@npm%3A10.2.6#~/.yarn/patches/minimatch-npm-10.2.6-fd0d1cf467.patch":
+  version: 10.2.6
+  resolution: "minimatch@patch:minimatch@npm%3A10.2.6#~/.yarn/patches/minimatch-npm-10.2.6-fd0d1cf467.patch::version=10.2.6&hash=d2580d"
   dependencies:
-    brace-expansion: "npm:^2.0.2"
-  checksum: 10c0/8d5406a9697edb9b7ea02697d58cabcb3d3a9a4a02caa1cf57b9ab5ae22c78b2945600661a78f91d1545f77521f97f3cb5f8cb066e58356a121b50e4e60ccdbe
+    brace-expansion: "npm:^5.0.8"
+  checksum: 10c0/ee65af6879b8d837260e62850b828c09720249e10c8f2a665ce388a9a5ad05fbd19150c584733a8919b8c9cec85c7ebd85105ed8057ca1958bd3156804a52a67
   languageName: node
   linkType: hard
 
-"minimatch@npm:^9.0.5":
+"minimatch@patch:minimatch@npm%3A9.0.9#~/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch":
   version: 9.0.9
-  resolution: "minimatch@npm:9.0.9"
+  resolution: "minimatch@patch:minimatch@npm%3A9.0.9#~/.yarn/patches/minimatch-npm-9.0.9-3ee8f15008.patch::version=9.0.9&hash=30eab0"
   dependencies:
     brace-expansion: "npm:^2.0.2"
-  checksum: 10c0/0b6a58530dbb00361745aa6c8cffaba4c90f551afe7c734830bd95fd88ebf469dd7355a027824ea1d09e37181cfeb0a797fb17df60c15ac174303ac110eb7e86
+  checksum: 10c0/04b90709a376d5d28dcc3d1cf2151629fae038fdadf584796608ee090141898c1b86e148dcd8dc46e277e340bed6e00abd3bb7811fe1f251d17ea11f21942637
   languageName: node
   linkType: hard
 
@@ -17823,19 +17595,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"multimatch@npm:^5.0.0":
-  version: 5.0.0
-  resolution: "multimatch@npm:5.0.0"
-  dependencies:
-    "@types/minimatch": "npm:^3.0.3"
-    array-differ: "npm:^3.0.0"
-    array-union: "npm:^2.1.0"
-    arrify: "npm:^2.0.1"
-    minimatch: "npm:^3.0.4"
-  checksum: 10c0/252ffae6d19491c169c22fc30cf8a99f6031f94a3495f187d3430b06200e9f05a7efae90ab9d834f090834e0d9c979ab55e7ad21f61a37995d807b4b0ccdcbd1
-  languageName: node
-  linkType: hard
-
 "mustache@npm:^4.0.1":
   version: 4.2.0
   resolution: "mustache@npm:4.2.0"
@@ -17852,7 +17611,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"nanoid@npm:^3.3.1, nanoid@npm:^3.3.17":
+"nanoid@npm:^3.3.1":
   version: 3.3.18
   resolution: "nanoid@npm:3.3.18"
   bin:
@@ -17958,7 +17717,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.7":
+"node-fetch@npm:^2.5.0":
   version: 2.7.0
   resolution: "node-fetch@npm:2.7.0"
   dependencies:
@@ -18907,13 +18666,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"package-json-from-dist@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "package-json-from-dist@npm:1.0.1"
-  checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
-  languageName: node
-  linkType: hard
-
 "package-manager-detector@npm:^1.6.0, package-manager-detector@npm:^1.8.0":
   version: 1.8.0
   resolution: "package-manager-detector@npm:1.8.0"
@@ -18947,7 +18699,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0":
+"parse-json@npm:^5.2.0":
   version: 5.2.0
   resolution: "parse-json@npm:5.2.0"
   dependencies:
@@ -18977,13 +18729,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"parse-passwd@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "parse-passwd@npm:1.0.0"
-  checksum: 10c0/1c05c05f95f184ab9ca604841d78e4fe3294d46b8e3641d305dcc28e930da0e14e602dbda9f3811cd48df5b0e2e27dbef7357bf0d7c40e41b18c11c3a8b8d17b
-  languageName: node
-  linkType: hard
-
 "parse-path@npm:^7.0.0":
   version: 7.0.0
   resolution: "parse-path@npm:7.0.0"
@@ -19148,7 +18893,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1":
+"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1":
   version: 2.3.2
   resolution: "picomatch@npm:2.3.2"
   checksum: 10c0/a554d1709e59be97d1acb9eaedbbc700a5c03dbd4579807baed95100b00420bc729335440ef15004ae2378984e2487a7c1cebd743cfdb72b6fa9ab69223c0d61
@@ -19201,15 +18946,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"please-upgrade-node@npm:^3.2.0":
-  version: 3.2.0
-  resolution: "please-upgrade-node@npm:3.2.0"
-  dependencies:
-    semver-compare: "npm:^1.0.0"
-  checksum: 10c0/222514d2841022be4b843f38d415beadcc6409c0545d6d153778d71c601bba7bbf1cd5827d650c7fae6a9a2ba7cf00f4b6729b40d015a3a5ba2937e57bc1c435
-  languageName: node
-  linkType: hard
-
 "pngjs@npm:^5.0.0":
   version: 5.0.0
   resolution: "pngjs@npm:5.0.0"
@@ -19233,17 +18969,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"postcss@npm:^8.1.10":
-  version: 8.5.26
-  resolution: "postcss@npm:8.5.26"
-  dependencies:
-    nanoid: "npm:^3.3.17"
-    picocolors: "npm:^1.1.1"
-    source-map-js: "npm:^1.2.1"
-  checksum: 10c0/2bdafc00d96bd57b6649a52e458864a4bf58ee56cfdbe4aea1472b5cccc127e6c1ad653bd0bec50d211e650eb0b9270c80e1e72aff2e2fa40d9e7363234d6e43
-  languageName: node
-  linkType: hard
-
 "pretty-format@npm:30.5.1, pretty-format@npm:^30.4.1":
   version: 30.5.1
   resolution: "pretty-format@npm:30.5.1"
@@ -19437,7 +19162,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"qs@npm:^6.15.2, qs@npm:~6.16.0":
+"qs@npm:^6.16.1, qs@npm:~6.16.0":
   version: 6.16.1
   resolution: "qs@npm:6.16.1"
   dependencies:
@@ -19986,15 +19711,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"readdirp@npm:^3.6.0":
-  version: 3.6.0
-  resolution: "readdirp@npm:3.6.0"
-  dependencies:
-    picomatch: "npm:^2.2.1"
-  checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b
-  languageName: node
-  linkType: hard
-
 "readdirp@npm:^5.0.0":
   version: 5.1.1
   resolution: "readdirp@npm:5.1.1"
@@ -20171,13 +19887,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"require-package-name@npm:^2.0.1":
-  version: 2.0.1
-  resolution: "require-package-name@npm:2.0.1"
-  checksum: 10c0/2da87caecdd2157489deaf8add246696dc9cbcebd89ef49b062ad1183594b979f96f8194d4b0f5447a92ad72d39b9fae2df38ec5b9ecef9c7c0157af38eeecbc
-  languageName: node
-  linkType: hard
-
 "resolve-cwd@npm:^3.0.0":
   version: 3.0.0
   resolution: "resolve-cwd@npm:3.0.0"
@@ -20187,16 +19896,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1":
-  version: 1.0.1
-  resolution: "resolve-dir@npm:1.0.1"
-  dependencies:
-    expand-tilde: "npm:^2.0.0"
-    global-modules: "npm:^1.0.0"
-  checksum: 10c0/8197ed13e4a51d9cd786ef6a09fc83450db016abe7ef3311ca39389b3e508d77c26fe0cf0483a9b407b8caa2764bb5ccc52cf6a017ded91492a416475a56066f
-  languageName: node
-  linkType: hard
-
 "resolve-from@npm:^4.0.0":
   version: 4.0.0
   resolution: "resolve-from@npm:4.0.0"
@@ -20225,7 +19924,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.10, resolve@npm:^1.22.3":
+"resolve@npm:^1.1.6, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:^1.22.10":
   version: 1.22.12
   resolution: "resolve@npm:1.22.12"
   dependencies:
@@ -20318,18 +20017,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"rimraf@npm:^6.1.2":
-  version: 6.1.2
-  resolution: "rimraf@npm:6.1.2"
-  dependencies:
-    glob: "npm:^13.0.0"
-    package-json-from-dist: "npm:^1.0.1"
-  bin:
-    rimraf: dist/esm/bin.mjs
-  checksum: 10c0/c11a6a6fad937ada03c12fe688860690df8296d7cd08dbe59e3cc087f44e43573ae26ecbe48e54cb7a6db745b8c81fe5a15b9359233cc21d52d9b5b3330fcc74
-  languageName: node
-  linkType: hard
-
 "rimraf@npm:~2.6.2":
   version: 2.6.3
   resolution: "rimraf@npm:2.6.3"
@@ -20458,13 +20145,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"semver-compare@npm:^1.0.0":
-  version: 1.0.0
-  resolution: "semver-compare@npm:1.0.0"
-  checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1
-  languageName: node
-  linkType: hard
-
 "semver@npm:^5.5.0, semver@npm:^5.6.0":
   version: 5.7.2
   resolution: "semver@npm:5.7.2"
@@ -20483,7 +20163,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"semver@npm:^7.0.0, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.3, semver@npm:^7.7.4, semver@npm:^7.8.1":
+"semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.3, semver@npm:^7.7.4, semver@npm:^7.8.1":
   version: 7.8.5
   resolution: "semver@npm:7.8.5"
   bin:
@@ -21730,7 +21410,17 @@ __metadata:
   languageName: node
   linkType: hard
 
-"typescript@npm:7.0.2, typescript@npm:>=4.7.0":
+"typescript@npm:4.7 - 6.0":
+  version: 6.0.3
+  resolution: "typescript@npm:6.0.3"
+  bin:
+    tsc: bin/tsc
+    tsserver: bin/tsserver
+  checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606
+  languageName: node
+  linkType: hard
+
+"typescript@npm:7.0.2":
   version: 7.0.2
   resolution: "typescript@npm:7.0.2"
   dependencies:
@@ -22307,7 +21997,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"which@npm:^1.2.14, which@npm:^1.2.9":
+"which@npm:^1.2.9":
   version: 1.3.1
   resolution: "which@npm:1.3.1"
   dependencies:
@@ -22576,13 +22266,6 @@ __metadata:
   languageName: node
   linkType: hard
 
-"yaml@npm:1.10.3":
-  version: 1.10.3
-  resolution: "yaml@npm:1.10.3"
-  checksum: 10c0/c309ff85a0a569a981d71ab9cf0fef68672a16b9cdf40639d1c3b30034f6cd16ee428602bd6d64ecf006f8c8bee499023cac236538f79898aa99fb5db529a2ed
-  languageName: node
-  linkType: hard
-
 "yaml@npm:^2.2.1, yaml@npm:^2.6.1, yaml@npm:^2.8.2, yaml@npm:^2.9.0":
   version: 2.9.1
   resolution: "yaml@npm:2.9.1"