diff --git a/apps/lockfile-explorer/package.json b/apps/lockfile-explorer/package.json index 24aa7d29cb5..49895bc658d 100644 --- a/apps/lockfile-explorer/package.json +++ b/apps/lockfile-explorer/package.json @@ -70,7 +70,6 @@ "cors": "~2.8.5", "express": "4.21.1", "js-yaml": "~4.1.0", - "open": "~8.4.0", "semver": "~7.7.4", "update-notifier": "~5.1.0" }, diff --git a/apps/lockfile-explorer/src/cli/explorer/ExplorerCommandLineParser.ts b/apps/lockfile-explorer/src/cli/explorer/ExplorerCommandLineParser.ts index 1add863add5..b1e38d3ee5a 100644 --- a/apps/lockfile-explorer/src/cli/explorer/ExplorerCommandLineParser.ts +++ b/apps/lockfile-explorer/src/cli/explorer/ExplorerCommandLineParser.ts @@ -3,14 +3,20 @@ import process from 'node:process'; import * as path from 'node:path'; +import type { ChildProcess } from 'node:child_process'; import express from 'express'; import yaml from 'js-yaml'; import cors from 'cors'; -import open from 'open'; import updateNotifier from 'update-notifier'; -import { FileSystem, type IPackageJson, JsonFile, PackageJsonLookup } from '@rushstack/node-core-library'; +import { + Executable, + FileSystem, + type IPackageJson, + JsonFile, + PackageJsonLookup +} from '@rushstack/node-core-library'; import { ConsoleTerminalProvider, type ITerminal, Terminal, Colorize } from '@rushstack/terminal'; import { type CommandLineFlagParameter, @@ -251,8 +257,36 @@ export class ExplorerCommandLineParser extends CommandLineParser { if (!appState.debugMode) { try { - // Launch the web browser - await open(SERVICE_URL); + // Launch the default web browser using the platform-native open command. + let browserCmd: string; + let browserArgs: string[]; + switch (process.platform) { + case 'win32': { + // "start" is a cmd.exe built-in, not a standalone executable. + // The empty string is the required [title] argument; without it, + // cmd interprets the URL as the title and ignores it. + browserCmd = 'cmd'; + browserArgs = ['/c', 'start', '', SERVICE_URL]; + break; + } + + case 'darwin': { + browserCmd = 'open'; + browserArgs = [SERVICE_URL]; + break; + } + + default: { + // Linux and other Unix-like systems + browserCmd = 'xdg-open'; + browserArgs = [SERVICE_URL]; + break; + } + } + + const browserProcess: ChildProcess = Executable.spawn(browserCmd, browserArgs, { stdio: 'ignore' }); + // Detach from our Node.js process so the browser stays open after we exit + browserProcess.unref(); } catch (e) { this.globalTerminal.writeError('Error launching browser: ' + e.toString()); } diff --git a/common/changes/@microsoft/rush/dependency-cleanup_2026-04-17.json b/common/changes/@microsoft/rush/dependency-cleanup_2026-04-17.json new file mode 100644 index 00000000000..5b641b6e7fc --- /dev/null +++ b/common/changes/@microsoft/rush/dependency-cleanup_2026-04-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Remove unused dependencies: replace `glob-escape` with `fast-glob`'s `escapePath`, replace `figures.pointer` with a named const, replace `builtin-modules` with `node:module.isBuiltin()`.", + "type": "patch" + } + ], + "packageName": "@microsoft/rush" +} diff --git a/common/changes/@rushstack/heft-config-file/dependency-cleanup_2026-04-17.json b/common/changes/@rushstack/heft-config-file/dependency-cleanup_2026-04-17.json new file mode 100644 index 00000000000..c6bcc338574 --- /dev/null +++ b/common/changes/@rushstack/heft-config-file/dependency-cleanup_2026-04-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-config-file", + "comment": "Remove `@ungap/structured-clone` polyfill; use native `structuredClone` (Node 18+).", + "type": "patch" + } + ], + "packageName": "@rushstack/heft-config-file" +} diff --git a/common/changes/@rushstack/lockfile-explorer/dependency-cleanup_2026-04-17.json b/common/changes/@rushstack/lockfile-explorer/dependency-cleanup_2026-04-17.json new file mode 100644 index 00000000000..0e4bdfc148c --- /dev/null +++ b/common/changes/@rushstack/lockfile-explorer/dependency-cleanup_2026-04-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/lockfile-explorer", + "comment": "Remove open dependency; use `Executable.spawn()` from `node-core-library` to launch the browser.", + "type": "patch" + } + ], + "packageName": "@rushstack/lockfile-explorer" +} diff --git a/common/changes/@rushstack/npm-check-fork/dependency-cleanup_2026-04-17.json b/common/changes/@rushstack/npm-check-fork/dependency-cleanup_2026-04-17.json new file mode 100644 index 00000000000..2a435c8f457 --- /dev/null +++ b/common/changes/@rushstack/npm-check-fork/dependency-cleanup_2026-04-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/npm-check-fork", + "comment": "Remove giturl dependency; replace with original toHttpsUrl() implementation using the native URL class.", + "type": "patch" + } + ], + "packageName": "@rushstack/npm-check-fork" +} diff --git a/common/changes/@rushstack/rig-package/dependency-cleanup_2026-04-17.json b/common/changes/@rushstack/rig-package/dependency-cleanup_2026-04-17.json new file mode 100644 index 00000000000..a23bfed44fd --- /dev/null +++ b/common/changes/@rushstack/rig-package/dependency-cleanup_2026-04-17.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/rig-package", + "comment": "Replace `strip-json-comments` with `jju.parse()` for JSONC parsing.", + "type": "patch" + } + ], + "packageName": "@rushstack/rig-package" +} diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 23c585145b8..1a87efdf7fd 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -50,10 +50,6 @@ "name": "@rushstack/rush-vscode-command-webview", "allowedCategories": [ "vscode-extensions" ] }, - { - "name": "@ungap/structured-clone", - "allowedCategories": [ "libraries" ] - }, { "name": "axios", "allowedCategories": [ "libraries" ] diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index 87a7b4f48d6..de6d664412f 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -602,10 +602,6 @@ "name": "babel-loader", "allowedCategories": [ "tests" ] }, - { - "name": "builtin-modules", - "allowedCategories": [ "libraries" ] - }, { "name": "buttono", "allowedCategories": [ "tests" ] @@ -710,10 +706,6 @@ "name": "fastify", "allowedCategories": [ "tests" ] }, - { - "name": "figures", - "allowedCategories": [ "libraries" ] - }, { "name": "file-loader", "allowedCategories": [ "tests" ] @@ -726,18 +718,10 @@ "name": "git-repo-info", "allowedCategories": [ "libraries" ] }, - { - "name": "giturl", - "allowedCategories": [ "libraries" ] - }, { "name": "glob", "allowedCategories": [ "libraries", "vscode-extensions" ] }, - { - "name": "glob-escape", - "allowedCategories": [ "libraries" ] - }, { "name": "heft-action-plugin", "allowedCategories": [ "tests" ] @@ -930,10 +914,6 @@ "name": "object-hash", "allowedCategories": [ "libraries" ] }, - { - "name": "open", - "allowedCategories": [ "libraries" ] - }, { "name": "package-extractor-test-02", "allowedCategories": [ "tests" ] @@ -1038,10 +1018,6 @@ "name": "string-argv", "allowedCategories": [ "libraries" ] }, - { - "name": "strip-json-comments", - "allowedCategories": [ "libraries" ] - }, { "name": "style-loader", "allowedCategories": [ "libraries", "tests" ] diff --git a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml index e11eadee2b6..18ef85bc98c 100644 --- a/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml +++ b/common/config/subspaces/build-tests-subspace/pnpm-lock.yaml @@ -1554,10 +1554,6 @@ packages: resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} engines: {node: '>=0.10.0'} - builtin-modules@3.1.0: - resolution: {integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==} - engines: {node: '>=6'} - builtins@1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} @@ -2146,14 +2142,6 @@ packages: resolution: {integrity: sha512-8aCohiDo4jwjOwma4FmYFd3i97urZulL8XL24nIPxuE+GZnfsAyy/g2Shqx6OjUiFKUXZM+Yy+KHnOmmA3FVcg==} engines: {node: '>= 4.0'} - giturl@2.0.0: - resolution: {integrity: sha512-FB0MmghWLcqsyrBZyqsLCNeS2kIzYymT34t/6BxM5R0/9Pxvj0K1eK25SBbwRHMjKMLgQ7nYqBSduF6XyfkgFg==} - engines: {node: '>= 14.17.0'} - - glob-escape@0.0.2: - resolution: {integrity: sha512-L/cXYz8x7qer1HAyUQ+mbjcUsJVdpRxpAf7CwqHoNBs9vTpABlGfNN4tzkDxt+u3Z7ZncVyKlCNPtzb0R/7WbA==} - engines: {node: '>= 0.10'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -4335,12 +4323,10 @@ snapshots: '@rushstack/terminal': file:../../../libraries/terminal(@types/node@20.17.19) '@rushstack/ts-command-line': file:../../../libraries/ts-command-line(@types/node@20.17.19) '@yarnpkg/lockfile': 1.0.2 - builtin-modules: 3.1.0 dependency-path: 9.2.8 dotenv: 16.4.7 fast-glob: 3.3.3 git-repo-info: 2.1.1 - glob-escape: 0.0.2 https-proxy-agent: 5.0.1 ignore: 5.1.9 js-yaml: 4.1.1 @@ -4779,7 +4765,6 @@ snapshots: '@rushstack/node-core-library': file:../../../libraries/node-core-library(@types/node@20.17.19) '@rushstack/rig-package': file:../../../libraries/rig-package '@rushstack/terminal': file:../../../libraries/terminal(@types/node@20.17.19) - '@ungap/structured-clone': 1.3.0 jsonpath-plus: 10.3.0 transitivePeerDependencies: - '@types/node' @@ -4887,7 +4872,6 @@ snapshots: '@rushstack/npm-check-fork@file:../../../libraries/npm-check-fork(@types/node@20.17.19)': dependencies: '@rushstack/node-core-library': file:../../../libraries/node-core-library(@types/node@20.17.19) - giturl: 2.0.0 semver: 7.7.4 transitivePeerDependencies: - '@types/node' @@ -4925,8 +4909,8 @@ snapshots: '@rushstack/rig-package@file:../../../libraries/rig-package': dependencies: + jju: 1.4.0 resolve: 1.22.11 - strip-json-comments: 3.1.1 '@rushstack/rush-pnpm-kit-v10@file:../../../libraries/rush-pnpm-kit-v10': dependencies: @@ -5695,8 +5679,6 @@ snapshots: builtin-modules@1.1.1: {} - builtin-modules@3.1.0: {} - builtins@1.0.3: {} call-bind-apply-helpers@1.0.2: @@ -6462,10 +6444,6 @@ snapshots: git-repo-info@2.1.1: {} - giturl@2.0.0: {} - - glob-escape@0.0.2: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 diff --git a/common/config/subspaces/build-tests-subspace/repo-state.json b/common/config/subspaces/build-tests-subspace/repo-state.json index 05fdb80aa0a..946c098d4a5 100644 --- a/common/config/subspaces/build-tests-subspace/repo-state.json +++ b/common/config/subspaces/build-tests-subspace/repo-state.json @@ -1,6 +1,6 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "72fae9b780cca1f45b7c807b24a587a13f1719e6", + "pnpmShrinkwrapHash": "1266218fdf9ed4d67e625f96e8c1cc4bae29dc68", "preferredVersionsHash": "550b4cee0bef4e97db6c6aad726df5149d20e7d9", - "packageJsonInjectedDependenciesHash": "258293487508f4a9172933cb6d0c90a02599bd8d" + "packageJsonInjectedDependenciesHash": "0124f2d847733c92b17e06dd465a2c1e903c49d2" } diff --git a/common/config/subspaces/default/pnpm-lock.yaml b/common/config/subspaces/default/pnpm-lock.yaml index daaf5d41460..b66377acaa9 100644 --- a/common/config/subspaces/default/pnpm-lock.yaml +++ b/common/config/subspaces/default/pnpm-lock.yaml @@ -224,9 +224,6 @@ importers: js-yaml: specifier: ~4.1.0 version: 4.1.1 - open: - specifier: ~8.4.0 - version: 8.4.2 semver: specifier: ~7.7.4 version: 7.7.4 @@ -3731,9 +3728,6 @@ importers: '@rushstack/terminal': specifier: workspace:* version: link:../terminal - '@ungap/structured-clone': - specifier: ~1.3.0 - version: 1.3.0 jsonpath-plus: specifier: ~10.3.0 version: 10.3.0 @@ -3741,9 +3735,6 @@ importers: '@rushstack/heft': specifier: 1.2.12 version: 1.2.12(@types/node@22.9.3) - '@types/ungap__structured-clone': - specifier: ~1.2.0 - version: 1.2.0 decoupled-local-node-rig: specifier: workspace:* version: link:../../rigs/decoupled-local-node-rig @@ -3894,9 +3885,6 @@ importers: '@rushstack/node-core-library': specifier: workspace:* version: link:../node-core-library - giturl: - specifier: ^2.0.0 - version: 2.0.0 semver: specifier: ~7.7.4 version: 7.7.4 @@ -4021,16 +4009,19 @@ importers: ../../../libraries/rig-package: dependencies: + jju: + specifier: ~1.4.0 + version: 1.4.0 resolve: specifier: ~1.22.1 version: 1.22.11 - strip-json-comments: - specifier: ~3.1.1 - version: 3.1.1 devDependencies: '@rushstack/heft': specifier: 1.2.12 version: 1.2.12(@types/node@22.9.3) + '@types/jju': + specifier: 1.4.1 + version: 1.4.1 '@types/resolve': specifier: 1.20.2 version: 1.20.2 @@ -4109,9 +4100,6 @@ importers: '@yarnpkg/lockfile': specifier: ~1.0.2 version: 1.0.2 - builtin-modules: - specifier: ~3.1.0 - version: 3.1.0 dependency-path: specifier: ~9.2.8 version: 9.2.8 @@ -4124,9 +4112,6 @@ importers: git-repo-info: specifier: ~2.1.0 version: 2.1.1 - glob-escape: - specifier: ~0.0.2 - version: 0.0.2 https-proxy-agent: specifier: ~5.0.0 version: 5.0.1 @@ -5292,7 +5277,7 @@ importers: version: 8.125.5(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-components': specifier: ~9.72.9 - version: 9.72.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + version: 9.72.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@reduxjs/toolkit': specifier: ~2.11.2 version: 2.11.2(react-redux@9.2.0(@types/react@19.2.7)(react@19.2.4)(redux@5.0.1))(react@19.2.4) @@ -5311,9 +5296,6 @@ importers: redux: specifier: ~5.0.1 version: 5.0.1 - scheduler: - specifier: 0.19.0 - version: 0.19.0 tslib: specifier: ~2.8.1 version: 2.8.1 @@ -10436,9 +10418,6 @@ packages: '@types/uglify-js@3.17.5': resolution: {integrity: sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==} - '@types/ungap__structured-clone@1.2.0': - resolution: {integrity: sha512-ZoaihZNLeZSxESbk9PUAPZOlSpcKx81I1+4emtULDVmBLkYutTcMlCj2K9VNlf9EWODxdO6gkAqEaLorXwZQVA==} - '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} @@ -11690,10 +11669,6 @@ packages: resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} engines: {node: '>=0.10.0'} - builtin-modules@3.1.0: - resolution: {integrity: sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==} - engines: {node: '>=6'} - builtin-status-codes@3.0.0: resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} @@ -13783,14 +13758,6 @@ packages: github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - giturl@2.0.0: - resolution: {integrity: sha512-FB0MmghWLcqsyrBZyqsLCNeS2kIzYymT34t/6BxM5R0/9Pxvj0K1eK25SBbwRHMjKMLgQ7nYqBSduF6XyfkgFg==} - engines: {node: '>= 14.17.0'} - - glob-escape@0.0.2: - resolution: {integrity: sha512-L/cXYz8x7qer1HAyUQ+mbjcUsJVdpRxpAf7CwqHoNBs9vTpABlGfNN4tzkDxt+u3Z7ZncVyKlCNPtzb0R/7WbA==} - engines: {node: '>= 0.10'} - glob-parent@3.1.0: resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==} @@ -17402,9 +17369,6 @@ packages: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - scheduler@0.19.0: - resolution: {integrity: sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==} - scheduler@0.20.2: resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==} @@ -21487,10 +21451,10 @@ snapshots: dependencies: '@swc/helpers': 0.5.21 - '@fluentui/react-accordion@9.10.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-accordion@9.10.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21508,9 +21472,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-alert@9.0.0-beta.132(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-alert@9.0.0-beta.132(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) @@ -21539,13 +21503,13 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-avatar@9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-avatar@9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-badge': 9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) - '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -21625,11 +21589,11 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-carousel@9.9.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-carousel@9.9.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -21649,9 +21613,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-checkbox@9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-checkbox@9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21668,10 +21632,10 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-color-picker@9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-color-picker@9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@ctrl/tinycolor': 3.6.1 - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21686,12 +21650,12 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-combobox@9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-combobox@9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-portal': 9.8.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21709,66 +21673,66 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-components@9.72.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-components@9.72.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-accordion': 9.10.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-alert': 9.0.0-beta.132(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-accordion': 9.10.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-alert': 9.0.0-beta.132(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-badge': 9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-breadcrumb': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-card': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-carousel': 9.9.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-color-picker': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-combobox': 9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-dialog': 9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-carousel': 9.9.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-color-picker': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-combobox': 9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-dialog': 9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-divider': 9.7.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-drawer': 9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-drawer': 9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-image': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-infobutton': 9.0.0-beta.109(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-infolabel': 9.4.19(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-input': 9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-infobutton': 9.0.0-beta.109(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-infolabel': 9.4.19(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-input': 9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-link': 9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-list': 9.6.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-menu': 9.24.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-list': 9.6.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-menu': 9.24.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-message-bar': 9.6.23(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-nav': 9.3.23(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-overflow': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-persona': 9.7.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-nav': 9.3.23(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-overflow': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-persona': 9.7.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-portal': 9.8.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-positioning': 9.22.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-progress': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-progress': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-provider': 9.22.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-rating': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-search': 9.4.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-select': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-search': 9.4.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-select': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) - '@fluentui/react-skeleton': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-slider': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-spinbutton': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-skeleton': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-slider': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-spinbutton': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-spinner': 9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-swatch-picker': 9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-switch': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-table': 9.19.14(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-tabs': 9.12.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-swatch-picker': 9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-switch': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-table': 9.19.14(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-tabs': 9.12.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-tag-picker': 9.8.5(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-tags': 9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-teaching-popover': 9.6.20(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-tag-picker': 9.8.5(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-tags': 9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-teaching-popover': 9.6.20(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-text': 9.6.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-textarea': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-textarea': 9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-theme': 9.2.1 '@fluentui/react-toast': 9.7.16(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-toolbar': 9.7.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-toolbar': 9.7.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-tooltip': 9.10.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-tree': 9.15.16(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-tree': 9.15.16(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-utilities': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-virtualizer': 9.0.0-alpha.109(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@griffel/react': 1.6.1(react@19.2.4) @@ -21780,7 +21744,7 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-context-selector@9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-context-selector@9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-utilities': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@swc/helpers': 0.5.21 @@ -21788,13 +21752,13 @@ snapshots: '@types/react-dom': 19.2.3(@types/react@19.2.7) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - scheduler: 0.19.0 + scheduler: 0.27.0 - '@fluentui/react-dialog@9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-dialog@9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21826,9 +21790,9 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-drawer@9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-drawer@9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-dialog': 9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-dialog': 9.17.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-motion-components-preview': 0.15.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21846,9 +21810,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-field@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-field@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -21903,12 +21867,12 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-infobutton@9.0.0-beta.109(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-infobutton@9.0.0-beta.109(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 '@fluentui/react-utilities': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -21921,12 +21885,12 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-infolabel@9.4.19(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-infolabel@9.4.19(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -21940,9 +21904,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-input@9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-input@9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -21991,11 +21955,11 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-list@9.6.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-list@9.6.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 - '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22010,11 +21974,11 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-menu@9.24.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-menu@9.24.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22072,13 +22036,13 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-nav@9.3.23(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-nav@9.3.23(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-divider': 9.7.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-drawer': 9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-drawer': 9.11.6(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22097,10 +22061,10 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-overflow@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-overflow@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/priority-overflow': 9.3.0 - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-theme': 9.2.1 '@fluentui/react-utilities': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@griffel/react': 1.6.1(react@19.2.4) @@ -22112,9 +22076,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-persona@9.7.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-persona@9.7.2(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-badge': 9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22129,11 +22093,11 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-popover@9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-popover@9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-motion-components-preview': 0.15.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22185,9 +22149,9 @@ snapshots: react-dom: 19.2.4(react@19.2.4) use-sync-external-store: 1.6.0(react@19.2.4) - '@fluentui/react-progress@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-progress@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22218,9 +22182,9 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-radio@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-radio@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22251,10 +22215,10 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-search@9.4.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-search@9.4.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-icons': 2.0.323(react@19.2.4) - '@fluentui/react-input': 9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-input': 9.8.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22268,9 +22232,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-select@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-select@9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22292,9 +22256,9 @@ snapshots: '@types/react': 19.2.7 react: 19.2.4 - '@fluentui/react-skeleton@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-skeleton@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22308,9 +22272,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-slider@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-slider@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22325,10 +22289,10 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-spinbutton@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-spinbutton@9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22357,10 +22321,10 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-swatch-picker@9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-swatch-picker@9.5.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22376,9 +22340,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-switch@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-switch@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-label': 9.4.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22395,16 +22359,16 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-table@9.19.14(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-table@9.19.14(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) - '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22418,9 +22382,9 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-tabs@9.12.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-tabs@9.12.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -22449,20 +22413,20 @@ snapshots: react-dom: 19.2.4(react@19.2.4) tabster: 8.7.0 - '@fluentui/react-tag-picker@9.8.5(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-tag-picker@9.8.5(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-combobox': 9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-combobox': 9.17.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-portal': 9.8.11(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-positioning': 9.22.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-tags': 9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-tags': 9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-theme': 9.2.1 '@fluentui/react-utilities': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@griffel/react': 1.6.1(react@19.2.4) @@ -22474,11 +22438,11 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-tags@9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-tags@9.8.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) @@ -22494,14 +22458,14 @@ snapshots: transitivePeerDependencies: - scheduler - '@fluentui/react-teaching-popover@9.6.20(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-teaching-popover@9.6.20(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) - '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-popover': 9.14.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22529,9 +22493,9 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-textarea@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-textarea@9.7.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: - '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-field': 9.5.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22570,13 +22534,13 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-toolbar@9.7.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-toolbar@9.7.7(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-divider': 9.7.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) - '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -22607,19 +22571,19 @@ snapshots: react: 19.2.4 react-dom: 19.2.4(react@19.2.4) - '@fluentui/react-tree@9.15.16(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0)': + '@fluentui/react-tree@9.15.16(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0)': dependencies: '@fluentui/keyboard-keys': 9.0.8 '@fluentui/react-aria': 9.17.10(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-avatar': 9.11.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-button': 9.9.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) - '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-checkbox': 9.6.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) + '@fluentui/react-context-selector': 9.2.15(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-icons': 2.0.323(react@19.2.4) '@fluentui/react-jsx-runtime': 9.4.1(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-motion': 9.14.0(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-motion-components-preview': 0.15.3(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.19.0) + '@fluentui/react-radio': 9.6.1(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(scheduler@0.27.0) '@fluentui/react-shared-contexts': 9.26.2(@types/react@19.2.7)(react@19.2.4) '@fluentui/react-tabster': 9.26.13(@types/react-dom@19.2.3(@types/react@19.2.7))(@types/react@19.2.7)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@fluentui/react-theme': 9.2.1 @@ -27029,8 +26993,6 @@ snapshots: dependencies: source-map: 0.6.1 - '@types/ungap__structured-clone@1.2.0': {} - '@types/unist@2.0.11': {} '@types/update-notifier@6.0.8': @@ -28914,8 +28876,6 @@ snapshots: builtin-modules@1.1.1: {} - builtin-modules@3.1.0: {} - builtin-status-codes@3.0.0: {} builtins@1.0.3: {} @@ -31901,10 +31861,6 @@ snapshots: github-slugger@1.5.0: {} - giturl@2.0.0: {} - - glob-escape@0.0.2: {} - glob-parent@3.1.0: dependencies: is-glob: 3.1.0 @@ -36296,11 +36252,6 @@ snapshots: dependencies: xmlchars: 2.2.0 - scheduler@0.19.0: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - scheduler@0.20.2: dependencies: loose-envify: 1.4.0 diff --git a/common/config/subspaces/default/repo-state.json b/common/config/subspaces/default/repo-state.json index ac09829bf15..d11043451dc 100644 --- a/common/config/subspaces/default/repo-state.json +++ b/common/config/subspaces/default/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "f41b01db5e94d65ef640cb5e6eb9dce1780f93c6", + "pnpmShrinkwrapHash": "76ae2ab7548e2c22d7a7310451b858bd0e7bb7e5", "preferredVersionsHash": "029c99bd6e65c5e1f25e2848340509811ff9753c" } diff --git a/libraries/heft-config-file/package.json b/libraries/heft-config-file/package.json index aeeae32116f..fcc50e1c3ce 100644 --- a/libraries/heft-config-file/package.json +++ b/libraries/heft-config-file/package.json @@ -47,12 +47,10 @@ "@rushstack/node-core-library": "workspace:*", "@rushstack/rig-package": "workspace:*", "@rushstack/terminal": "workspace:*", - "@ungap/structured-clone": "~1.3.0", "jsonpath-plus": "~10.3.0" }, "devDependencies": { "@rushstack/heft": "1.2.12", - "@types/ungap__structured-clone": "~1.2.0", "decoupled-local-node-rig": "workspace:*", "eslint": "~9.37.0" }, diff --git a/libraries/heft-config-file/src/ConfigurationFileBase.ts b/libraries/heft-config-file/src/ConfigurationFileBase.ts index ebaa66b1e84..6f484f6fded 100644 --- a/libraries/heft-config-file/src/ConfigurationFileBase.ts +++ b/libraries/heft-config-file/src/ConfigurationFileBase.ts @@ -4,7 +4,6 @@ import * as nodeJsPath from 'node:path'; import { JSONPath } from 'jsonpath-plus'; -import structuredClone from '@ungap/structured-clone'; import { JsonSchema, JsonFile, Import, FileSystem } from '@rushstack/node-core-library'; import type { ITerminal } from '@rushstack/terminal'; @@ -652,7 +651,6 @@ export abstract class ConfigurationFileBase(entry.configurationFile); diff --git a/libraries/npm-check-fork/package.json b/libraries/npm-check-fork/package.json index 853d482f527..1d901617e77 100644 --- a/libraries/npm-check-fork/package.json +++ b/libraries/npm-check-fork/package.json @@ -41,7 +41,6 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "giturl": "^2.0.0", "semver": "~7.7.4", "@rushstack/node-core-library": "workspace:*" }, diff --git a/libraries/npm-check-fork/src/BestGuessHomepage.ts b/libraries/npm-check-fork/src/BestGuessHomepage.ts index fd7a6380084..57bbe4a0d5a 100644 --- a/libraries/npm-check-fork/src/BestGuessHomepage.ts +++ b/libraries/npm-check-fork/src/BestGuessHomepage.ts @@ -1,8 +1,8 @@ -/// - -import gitUrl from 'giturl'; +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. import type { INpmCheckPackageVersion, INpmCheckRegistryData } from './interfaces/INpmCheckRegistry'; +import { toHttpsUrl } from './toHttpsUrl'; export default function bestGuessHomepage(data: INpmCheckRegistryData | undefined): string | false { if (!data) { @@ -14,10 +14,10 @@ export default function bestGuessHomepage(data: INpmCheckRegistryData | undefine ? packageDataForLatest.homepage || (packageDataForLatest.bugs && packageDataForLatest.bugs.url && - gitUrl.parse(packageDataForLatest.bugs.url.trim())) || + toHttpsUrl(packageDataForLatest.bugs.url.trim())) || (packageDataForLatest.repository && packageDataForLatest.repository.url && - gitUrl.parse(packageDataForLatest.repository.url.trim())) || + toHttpsUrl(packageDataForLatest.repository.url.trim())) || false : false; } diff --git a/libraries/npm-check-fork/src/tests/BestGuessHomepage.test.ts b/libraries/npm-check-fork/src/tests/BestGuessHomepage.test.ts index e8499b92ce2..57242e394b1 100644 --- a/libraries/npm-check-fork/src/tests/BestGuessHomepage.test.ts +++ b/libraries/npm-check-fork/src/tests/BestGuessHomepage.test.ts @@ -1,5 +1,5 @@ -// Mock gitUrl.parse -jest.mock('giturl', () => ({ parse: (url: string) => url })); +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. import bestGuessHomepage from '../BestGuessHomepage'; import type { INpmCheckRegistryData } from '../interfaces/INpmCheckRegistry'; @@ -25,24 +25,60 @@ describe('bestGuessHomepage', () => { const data: INpmCheckRegistryData = { versions: { latest: { - bugs: { url: 'https://bugs.com' } + bugs: { url: 'https://bugs.com/issues' } } }, 'dist-tags': { latest: 'latest' } }; - expect(bestGuessHomepage(data)).toBe('https://bugs.com'); + expect(bestGuessHomepage(data)).toBe('https://bugs.com/issues'); }); it('returns repository.url if homepage and bugs.url are missing', () => { const data: INpmCheckRegistryData = { versions: { latest: { - repository: { url: 'https://repo.com' } + repository: { url: 'https://repo.com/user/proj' } } }, 'dist-tags': { latest: 'latest' } }; - expect(bestGuessHomepage(data)).toBe('https://repo.com'); + expect(bestGuessHomepage(data)).toBe('https://repo.com/user/proj'); + }); + + it('converts git@ SCP-style repository URL to https', () => { + const data: INpmCheckRegistryData = { + versions: { + latest: { + repository: { url: 'git@github.com:user/repo.git' } + } + }, + 'dist-tags': { latest: 'latest' } + }; + expect(bestGuessHomepage(data)).toBe('https://github.com/user/repo'); + }); + + it('converts git:// repository URL to https', () => { + const data: INpmCheckRegistryData = { + versions: { + latest: { + repository: { url: 'git://github.com/user/repo.git' } + } + }, + 'dist-tags': { latest: 'latest' } + }; + expect(bestGuessHomepage(data)).toBe('https://github.com/user/repo'); + }); + + it('converts git+https:// repository URL to https', () => { + const data: INpmCheckRegistryData = { + versions: { + latest: { + repository: { url: 'git+https://github.com/user/repo.git' } + } + }, + 'dist-tags': { latest: 'latest' } + }; + expect(bestGuessHomepage(data)).toBe('https://github.com/user/repo'); }); it('returns false if no homepage, bugs.url, or repository.url', () => { diff --git a/libraries/npm-check-fork/src/tests/toHttpsUrl.test.ts b/libraries/npm-check-fork/src/tests/toHttpsUrl.test.ts new file mode 100644 index 00000000000..40d1ec386cd --- /dev/null +++ b/libraries/npm-check-fork/src/tests/toHttpsUrl.test.ts @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +import { toHttpsUrl } from '../toHttpsUrl'; + +describe(toHttpsUrl.name, () => { + it('returns empty string for empty input', () => { + expect(toHttpsUrl('')).toBe(''); + }); + + it('passes through an already-valid https URL unchanged', () => { + expect(toHttpsUrl('https://github.com/user/repo')).toBe('https://github.com/user/repo'); + }); + + it('strips .git suffix from an https URL', () => { + expect(toHttpsUrl('https://github.com/user/repo.git')).toBe('https://github.com/user/repo'); + }); + + it('converts SCP-style git@ URL to https', () => { + expect(toHttpsUrl('git@github.com:user/repo.git')).toBe('https://github.com/user/repo'); + }); + + it('converts git:// URL to https', () => { + expect(toHttpsUrl('git://github.com/user/repo.git')).toBe('https://github.com/user/repo'); + }); + + it('converts git+https:// URL to https', () => { + expect(toHttpsUrl('git+https://github.com/user/repo.git')).toBe('https://github.com/user/repo'); + }); + + it('converts git+http:// URL to http', () => { + expect(toHttpsUrl('git+http://example.com/user/repo.git')).toBe('http://example.com/user/repo'); + }); + + it('returns the original string for an unparseable input', () => { + expect(toHttpsUrl('not-a-url-at-all')).toBe('not-a-url-at-all'); + }); +}); diff --git a/libraries/npm-check-fork/src/toHttpsUrl.ts b/libraries/npm-check-fork/src/toHttpsUrl.ts new file mode 100644 index 00000000000..a18206daa53 --- /dev/null +++ b/libraries/npm-check-fork/src/toHttpsUrl.ts @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +/** + * Converts a git-protocol URL into a browseable HTTPS URL, using the native URL class. + * + * Handles the common formats found in npm package metadata: + * git@github.com:user/repo.git -> https://github.com/user/repo + * git://github.com/user/repo -> https://github.com/user/repo + * git+https://github.com/... -> https://github.com/... + * + * Returns the original string unchanged if it cannot be parsed. + */ +export function toHttpsUrl(sourceUrl: string): string { + if (!sourceUrl) { + return ''; + } + + let url: string = sourceUrl; + + // Convert SCP-like syntax (git@host:path) to a standard URL + url = url.replace(/^[^@]*@([^:]+):(.+)$/, 'https://$1/$2'); + + // Strip the "git+" compound prefix and normalize git:// to https:// + url = url.replace(/^git\+/, '').replace(/^git:\/\//, 'https://'); + + try { + const parsed: URL = new URL(url); + parsed.pathname = parsed.pathname.replace(/\.git$/i, ''); + return parsed.toString(); + } catch { + return sourceUrl; + } +} diff --git a/libraries/npm-check-fork/src/types/giturl-typings.d.ts b/libraries/npm-check-fork/src/types/giturl-typings.d.ts deleted file mode 100644 index 3202ff78a60..00000000000 --- a/libraries/npm-check-fork/src/types/giturl-typings.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module 'giturl' { - function parse(url: string): string; - export { parse }; -} diff --git a/libraries/rig-package/package.json b/libraries/rig-package/package.json index dc3c02c2296..8428be1ea46 100644 --- a/libraries/rig-package/package.json +++ b/libraries/rig-package/package.json @@ -40,11 +40,12 @@ "_phase:test": "heft run --only test -- --clean" }, "dependencies": { - "resolve": "~1.22.1", - "strip-json-comments": "~3.1.1" + "jju": "~1.4.0", + "resolve": "~1.22.1" }, "devDependencies": { "@rushstack/heft": "1.2.12", + "@types/jju": "1.4.1", "@types/resolve": "1.20.2", "ajv": "~8.18.0", "decoupled-local-node-rig": "workspace:*", diff --git a/libraries/rig-package/src/RigConfig.ts b/libraries/rig-package/src/RigConfig.ts index 31ab62e2d76..23b75566072 100644 --- a/libraries/rig-package/src/RigConfig.ts +++ b/libraries/rig-package/src/RigConfig.ts @@ -5,7 +5,7 @@ import * as path from 'node:path'; import * as fs from 'node:fs'; import * as nodeResolve from 'resolve'; -import stripJsonComments from 'strip-json-comments'; +import * as jju from 'jju'; import { Helpers } from './Helpers'; @@ -309,7 +309,7 @@ export class RigConfig implements IRigConfig { try { if (!json) { const rigConfigFileContent: string = fs.readFileSync(rigConfigFilePath).toString(); - json = JSON.parse(stripJsonComments(rigConfigFileContent)) as IRigConfigJson; + json = jju.parse(rigConfigFileContent) as IRigConfigJson; } RigConfig._validateSchema(json); } catch (error) { @@ -353,7 +353,7 @@ export class RigConfig implements IRigConfig { try { if (!json) { const rigConfigFileContent: string = (await fs.promises.readFile(rigConfigFilePath)).toString(); - json = JSON.parse(stripJsonComments(rigConfigFileContent)) as IRigConfigJson; + json = jju.parse(rigConfigFileContent) as IRigConfigJson; } RigConfig._validateSchema(json); diff --git a/libraries/rig-package/src/test/RigConfig.test.ts b/libraries/rig-package/src/test/RigConfig.test.ts index 1a4bc104941..0e1edd227f1 100644 --- a/libraries/rig-package/src/test/RigConfig.test.ts +++ b/libraries/rig-package/src/test/RigConfig.test.ts @@ -4,7 +4,7 @@ import Ajv, { type ValidateFunction } from 'ajv'; import * as fs from 'node:fs'; import * as path from 'node:path'; -import stripJsonComments from 'strip-json-comments'; +import * as jju from 'jju'; import { RigConfig } from '../RigConfig'; @@ -203,7 +203,7 @@ describe(RigConfig.name, () => { // Load the rig.json file const rigConfigFileContent: string = fs.readFileSync(rigConfigFilePath).toString(); - const rigConfigJsonObject: unknown = JSON.parse(stripJsonComments(rigConfigFileContent)); + const rigConfigJsonObject: unknown = jju.parse(rigConfigFileContent); // Validate it against our schema const valid: boolean = validateRigFile(rigConfigJsonObject) as boolean; diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index dda2f6d7f5d..eb18eeb1baa 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -57,12 +57,10 @@ "@rushstack/terminal": "workspace:*", "@rushstack/ts-command-line": "workspace:*", "@yarnpkg/lockfile": "~1.0.2", - "builtin-modules": "~3.1.0", "dependency-path": "~9.2.8", "dotenv": "~16.4.7", "fast-glob": "~3.3.1", "git-repo-info": "~2.1.0", - "glob-escape": "~0.0.2", "https-proxy-agent": "~5.0.0", "ignore": "~5.1.6", "@inquirer/checkbox": "~5.1.3", diff --git a/libraries/rush-lib/src/cli/actions/ScanAction.ts b/libraries/rush-lib/src/cli/actions/ScanAction.ts index 0bcd7e08c7a..3fd04e7a12e 100644 --- a/libraries/rush-lib/src/cli/actions/ScanAction.ts +++ b/libraries/rush-lib/src/cli/actions/ScanAction.ts @@ -2,8 +2,7 @@ // See LICENSE in the project root for license information. import * as path from 'node:path'; - -import builtinPackageNames from 'builtin-modules'; +import { isBuiltin as isBuiltinModule } from 'node:module'; import { Colorize } from '@rushstack/terminal'; import type { CommandLineFlagParameter } from '@rushstack/ts-command-line'; @@ -149,7 +148,7 @@ export class ScanAction extends BaseConfiglessRushAction { const detectedPackageNames: string[] = []; packageMatches.forEach((packageName: string) => { - if (builtinPackageNames.indexOf(packageName) < 0) { + if (!isBuiltinModule(packageName)) { detectedPackageNames.push(packageName); } }); diff --git a/libraries/rush-lib/src/logic/installManager/RushInstallManager.ts b/libraries/rush-lib/src/logic/installManager/RushInstallManager.ts index 247aa96131f..b88e6147971 100644 --- a/libraries/rush-lib/src/logic/installManager/RushInstallManager.ts +++ b/libraries/rush-lib/src/logic/installManager/RushInstallManager.ts @@ -42,8 +42,6 @@ import type { BaseLinkManager } from '../base/BaseLinkManager'; import type { PnpmShrinkwrapFile, IPnpmShrinkwrapDependencyYaml } from '../pnpm/PnpmShrinkwrapFile'; import type { Subspace } from '../../api/Subspace'; -const globEscape: (unescaped: string) => string = require('glob-escape'); // No @types/glob-escape package exists - /** * The "noMtime" flag is new in tar@4.4.1 and not available yet for \@types/tar. * As a temporary workaround, augment the type. @@ -572,7 +570,9 @@ export class RushInstallManager extends BaseInstallManager { ); const { default: glob } = await import('fast-glob'); - const tempModulePaths: string[] = await glob(globEscape(normalizedPathToDeleteWithoutStar) + '/*'); + const tempModulePaths: string[] = await glob( + glob.escapePath(normalizedPathToDeleteWithoutStar) + '/*' + ); // Example: "C:/MyRepo/common/temp/node_modules/@rush-temp/*" for (const tempModulePath of tempModulePaths) { // We could potentially use AsyncRecycler here, but in practice these folders tend @@ -704,7 +704,7 @@ export class RushInstallManager extends BaseInstallManager { const { default: glob } = await import('fast-glob'); const packageJsonPaths: string[] = await glob( - globEscape(normalizedPathToDeleteWithoutStar) + '/*/package.json' + glob.escapePath(normalizedPathToDeleteWithoutStar) + '/*/package.json' ); // Example: "C:/MyRepo/common/temp/node_modules/@rush-temp/*/package.json" for (const packageJsonPath of packageJsonPaths) { diff --git a/libraries/rush-lib/src/logic/pnpm/PnpmWorkspaceFile.ts b/libraries/rush-lib/src/logic/pnpm/PnpmWorkspaceFile.ts index f2d86e24dc5..99f007c1003 100644 --- a/libraries/rush-lib/src/logic/pnpm/PnpmWorkspaceFile.ts +++ b/libraries/rush-lib/src/logic/pnpm/PnpmWorkspaceFile.ts @@ -3,6 +3,8 @@ import * as path from 'node:path'; +import { escapePath as globEscape } from 'fast-glob'; + import { Sort, Import, Path } from '@rushstack/node-core-library'; import { BaseWorkspaceFile } from '../base/BaseWorkspaceFile'; @@ -10,8 +12,6 @@ import { PNPM_SHRINKWRAP_YAML_FORMAT } from './PnpmYamlCommon'; const yamlModule: typeof import('js-yaml') = Import.lazy('js-yaml', require); -const globEscape: (unescaped: string) => string = require('glob-escape'); // No @types/glob-escape package exists - /** * This interface represents the raw pnpm-workspace.YAML file * Example: diff --git a/vscode-extensions/rush-vscode-command-webview/package.json b/vscode-extensions/rush-vscode-command-webview/package.json index 7d36d6cdad3..df97c90bcbc 100644 --- a/vscode-extensions/rush-vscode-command-webview/package.json +++ b/vscode-extensions/rush-vscode-command-webview/package.json @@ -27,7 +27,6 @@ "react-redux": "~9.2.0", "react": "~19.2.3", "redux": "~5.0.1", - "scheduler": "0.19.0", "tslib": "~2.8.1" }, "devDependencies": {