From 1fb6b778e71a46a6e14a0eefb7d4a199bdbd4507 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 08:26:59 +0000 Subject: [PATCH] Update pnpm to v11 (#33573) * Update pnpm to v11 * Handle breaking changes * Attach pnpm hash * Remove redundant packageManager fields * Make lint-staged happy * Lockfile pnpm itself too * Update pnpm/action-setup for better v11 compatibility * Specify types to make tsc happier * Fix permissions * Check ulimit * Specify minimumReleaseAgeExclude * Run desktop tests * Revert "Run desktop tests" This reverts commit 911eb0ba2e9237d4b28e3bdaaf8f10ba6f22e827. * Revert "Check ulimit" This reverts commit f09eb59d715ba30a2e7fc5dba17dde092bd9bf17. * Reapply "Check ulimit" This reverts commit 83227c19ff5d07db91b6586f407f56870b00c041. * Run desktop tests * Switch nodeLinker & remove app-builder-lib patch * Fix webpack.config.ts * Fix .stylelintrc.cjs * Fix `events` package * Makes types happier * Make knip happy * Fix hak build * Make jest happy * Make pnpm-link happy * Remove dead file * Run playwright tests * Fix linux hak permissions in ci * Test * Remove ulimit checks * Disable skip * Update nx * Tweak line endings * Update screenshot * Iterate * Webpack fallback `events` --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Telatynski <7t3chguy@gmail.com> --- .github/workflows/build-and-test.yaml | 6 +- .github/workflows/build.yml | 2 +- .github/workflows/build_desktop_linux.yaml | 8 +- .github/workflows/build_desktop_macos.yaml | 2 +- .github/workflows/build_desktop_prepare.yaml | 2 +- .github/workflows/build_desktop_test.yaml | 2 +- .github/workflows/build_desktop_windows.yaml | 8 +- .github/workflows/build_develop.yml | 2 +- .github/workflows/cd.yaml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/npm-publish.yaml | 2 +- .../shared-component-storybook-build.yml | 2 +- .../shared-component-visual-tests.yaml | 2 +- .github/workflows/static_analysis.yaml | 2 +- .github/workflows/tests.yml | 4 +- .github/workflows/update-jitsi.yml | 2 +- .husky/pre-commit | 2 +- apps/desktop/package.json | 1 - apps/desktop/scripts/hak/hakEnv.ts | 2 +- apps/web/.stylelintrc.cjs | 8 +- apps/web/jest.config.ts | 16 +- apps/web/package.json | 2 +- .../with-four-members-linux.png | Bin 20789 -> 20767 bytes apps/web/src/Linkify.ts | 14 +- apps/web/src/index.ts | 12 - apps/web/src/modules/Api.ts | 5 +- apps/web/webpack.config.ts | 2 +- developer_guide.md | 2 +- knip.ts | 4 + package.json | 71 +-- packages/shared-components/package.json | 2 +- patches/app-builder-lib.patch | 33 -- pnpm-lock.yaml | 550 ++++++++++++------ pnpm-workspace.yaml | 84 ++- scripts/pnpm-link.ts | 5 +- 35 files changed, 520 insertions(+), 345 deletions(-) delete mode 100644 apps/web/src/index.ts delete mode 100644 patches/app-builder-lib.patch diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml index c1ecb609f8..e53881a471 100644 --- a/.github/workflows/build-and-test.yaml +++ b/.github/workflows/build-and-test.yaml @@ -63,7 +63,7 @@ jobs: repository: element-hq/element-web persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: "pnpm" @@ -145,7 +145,7 @@ jobs: name: webapp path: apps/web/webapp - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: "pnpm" @@ -266,7 +266,7 @@ jobs: persist-credentials: false repository: element-hq/element-web - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 if: needs.build_ew.outputs.skip == 'false' - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 if: needs.build_ew.outputs.skip == 'false' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5f93a94516..7f646a4f5d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,7 +47,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: # Disable cache on Windows as it is slower than not caching diff --git a/.github/workflows/build_desktop_linux.yaml b/.github/workflows/build_desktop_linux.yaml index 436a5194ed..ae050843f8 100644 --- a/.github/workflows/build_desktop_linux.yaml +++ b/.github/workflows/build_desktop_linux.yaml @@ -110,7 +110,7 @@ jobs: path: | apps/desktop/.hak - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: apps/desktop/.node-version @@ -154,10 +154,12 @@ jobs: - name: Fix permissions run: | + shopt -s globstar + # For .hak sudo chown -R $USER:$USER apps/desktop/.hak - # For node_modules pnpm strict security - sudo chmod +x node_modules/7zip-bin/linux/*/7za + # For node_modules + sudo chown -R $USER:$USER **/node_modules - name: Check native libraries in hak dependencies working-directory: apps/desktop diff --git a/.github/workflows/build_desktop_macos.yaml b/.github/workflows/build_desktop_macos.yaml index 3f39be1f53..134aba6dde 100644 --- a/.github/workflows/build_desktop_macos.yaml +++ b/.github/workflows/build_desktop_macos.yaml @@ -113,7 +113,7 @@ jobs: # https://github.com/electron-userland/electron-builder/issues/9511#issuecomment-3774092888 - run: sudo pip3 install pyobjc-framework-Quartz - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: apps/desktop/.node-version diff --git a/.github/workflows/build_desktop_prepare.yaml b/.github/workflows/build_desktop_prepare.yaml index 1d46a9c3c4..e01065945e 100644 --- a/.github/workflows/build_desktop_prepare.yaml +++ b/.github/workflows/build_desktop_prepare.yaml @@ -58,7 +58,7 @@ jobs: persist-credentials: false repository: element-hq/element-web - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: apps/desktop/.node-version diff --git a/.github/workflows/build_desktop_test.yaml b/.github/workflows/build_desktop_test.yaml index 51bb356213..e1a9882fe6 100644 --- a/.github/workflows/build_desktop_test.yaml +++ b/.github/workflows/build_desktop_test.yaml @@ -41,7 +41,7 @@ jobs: repository: element-hq/element-web persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 id: pnpm - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: diff --git a/.github/workflows/build_desktop_windows.yaml b/.github/workflows/build_desktop_windows.yaml index 2cbaef9c8f..7c588d5f56 100644 --- a/.github/workflows/build_desktop_windows.yaml +++ b/.github/workflows/build_desktop_windows.yaml @@ -108,6 +108,12 @@ jobs: } } + # Tweak line endings to make nx happy, workaround for https://github.com/nrwl/nx/issues/35828 + - name: Configure git line endings + run: | + git config --system core.autocrlf false + git config --system core.eol lf + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: repository: element-hq/element-web @@ -152,7 +158,7 @@ jobs: env: TARGET: ${{ steps.config.outputs.target }} - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: apps/desktop/.node-version diff --git a/.github/workflows/build_develop.yml b/.github/workflows/build_develop.yml index 717676bd5e..087db24a7f 100644 --- a/.github/workflows/build_develop.yml +++ b/.github/workflows/build_develop.yml @@ -32,7 +32,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: "pnpm" diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 18e575d206..b7f5307c7d 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -40,7 +40,7 @@ jobs: id: builder uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4 - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: node-version-file: package.json diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 9439989919..0ef43b9e7e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 with: package_json_file: package.json - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 diff --git a/.github/workflows/npm-publish.yaml b/.github/workflows/npm-publish.yaml index 4e70cc428f..7b71c36512 100644 --- a/.github/workflows/npm-publish.yaml +++ b/.github/workflows/npm-publish.yaml @@ -27,7 +27,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - name: 🔧 Set up node environment uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: diff --git a/.github/workflows/shared-component-storybook-build.yml b/.github/workflows/shared-component-storybook-build.yml index 13b16a239e..ff3383f430 100644 --- a/.github/workflows/shared-component-storybook-build.yml +++ b/.github/workflows/shared-component-storybook-build.yml @@ -16,7 +16,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - name: 🔧 Pnpm cache uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: diff --git a/.github/workflows/shared-component-visual-tests.yaml b/.github/workflows/shared-component-visual-tests.yaml index 6755197ee0..471f0d7014 100644 --- a/.github/workflows/shared-component-visual-tests.yaml +++ b/.github/workflows/shared-component-visual-tests.yaml @@ -26,7 +26,7 @@ jobs: persist-credentials: false repository: element-hq/element-web - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: "pnpm" diff --git a/.github/workflows/static_analysis.yaml b/.github/workflows/static_analysis.yaml index 197c55206a..def4b36cdf 100644 --- a/.github/workflows/static_analysis.yaml +++ b/.github/workflows/static_analysis.yaml @@ -53,7 +53,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 if: matrix.install != '' with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fbdfc10d30..a5fd80c127 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -48,7 +48,7 @@ jobs: repository: ${{ inputs.matrix-js-sdk-sha && 'element-hq/element-web' || github.repository }} persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - name: pnpm cache uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: @@ -141,7 +141,7 @@ jobs: repository: ${{ inputs.matrix-js-sdk-sha && 'element-hq/element-web' || github.repository }} persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - name: pnpm cache uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: diff --git a/.github/workflows/update-jitsi.yml b/.github/workflows/update-jitsi.yml index 7d56d6d418..e67127314f 100644 --- a/.github/workflows/update-jitsi.yml +++ b/.github/workflows/update-jitsi.yml @@ -13,7 +13,7 @@ jobs: with: persist-credentials: false - - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 + - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6 with: cache: "pnpm" diff --git a/.husky/pre-commit b/.husky/pre-commit index 3c15019b78..8ba25f36cd 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -npx lint-staged --concurrent false +pnpm exec lint-staged --concurrent false diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 178f2951a9..4665edd2a1 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -112,7 +112,6 @@ "hakDependencies": { "matrix-seshat": "4.3.0" }, - "packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800", "nx": { "includedScripts": [] } diff --git a/apps/desktop/scripts/hak/hakEnv.ts b/apps/desktop/scripts/hak/hakEnv.ts index 4ce382dc11..f3194f4f09 100644 --- a/apps/desktop/scripts/hak/hakEnv.ts +++ b/apps/desktop/scripts/hak/hakEnv.ts @@ -14,7 +14,7 @@ import childProcess, { type SpawnOptions } from "node:child_process"; import { type Arch, type Target, TARGETS, getHost, isHostId, type TargetId } from "./target.ts"; async function getRuntimeVersion(projectRoot: string): Promise { - const electronVersion = await getElectronVersionFromInstalled(path.join(projectRoot, "..", "..")); + const electronVersion = await getElectronVersionFromInstalled(projectRoot); if (!electronVersion) { throw new Error("Can't determine Electron version"); } diff --git a/apps/web/.stylelintrc.cjs b/apps/web/.stylelintrc.cjs index 2ccb2abf75..ba4820f38d 100644 --- a/apps/web/.stylelintrc.cjs +++ b/apps/web/.stylelintrc.cjs @@ -62,10 +62,10 @@ module.exports = { { from: "res/css/views/settings/tabs/_SettingsTab.pcss", type: "css" }, { from: "res/css/structures/_RoomView.pcss", type: "css" }, // Compound vars - "../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-base.css", - "../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-semantic.css", - "../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-base-mq.css", - "../../node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-semantic-mq.css", + "./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-base.css", + "./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-common-semantic.css", + "./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-base-mq.css", + "./node_modules/@vector-im/compound-design-tokens/assets/web/css/cpd-theme-light-semantic-mq.css", ], }, ], diff --git a/apps/web/jest.config.ts b/apps/web/jest.config.ts index c1a8b6ad23..7139bd2f34 100644 --- a/apps/web/jest.config.ts +++ b/apps/web/jest.config.ts @@ -6,10 +6,14 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { env } from "process"; +import { env } from "node:process"; +import path, { dirname } from "node:path"; +import { fileURLToPath } from "node:url"; import type { Config } from "jest"; +const __dirname = dirname(fileURLToPath(import.meta.url)); + const config: Config = { testEnvironment: "jest-fixed-jsdom", testEnvironmentOptions: { @@ -31,10 +35,8 @@ const config: Config = { "\\.(gif|png|ttf|woff2)$": "/__mocks__/imageMock.js", "\\.svg$": "/__mocks__/svg.js", "\\$webapp/i18n/languages.json": "/__mocks__/languages.json", - "^react$": "/../../node_modules/react", - "^react-dom$": "/../../node_modules/react-dom", - "^matrix-js-sdk$": "/../../node_modules/matrix-js-sdk/src", - "^matrix-react-sdk$": "/src", + "^react$": "/node_modules/react", + "^react-dom$": "/node_modules/react-dom", "decoderWorker\\.min\\.js": "/__mocks__/empty.js", "decoderWorker\\.min\\.wasm": "/__mocks__/empty.js", "waveWorker\\.min\\.js": "/__mocks__/empty.js", @@ -42,10 +44,10 @@ const config: Config = { "workers/(.+)Factory": "/__mocks__/workerFactoryMock.js", "^!!raw-loader!.*": "jest-raw-loader", "recorderWorkletFactory": "/__mocks__/empty.js", - "@vector-im/compound-web": "/../../node_modules/@vector-im/compound-web", + "@vector-im/compound-web": "/node_modules/@vector-im/compound-web", }, transformIgnorePatterns: [ - "/node_modules/(?!(mime|matrix-js-sdk|uuid|p-retry|is-network-error|react-merge-refs|is-ip|ip-regex|super-regex|function-timeout|time-span|convert-hrtime|clone-regexp|is-regexp|matrix-web-i18n|await-lock|@element-hq/web-shared-components|react-virtuoso|lodash|domutils|domhandler|domelementtype|dom-serializer|entities)).+$", + `${path.join(__dirname, "../..")}/node_modules/.pnpm/(?!(mime|uuid|p-retry|is-network-error|react-merge-refs|is-ip|ip-regex|super-regex|function-timeout|time-span|convert-hrtime|clone-regexp|is-regexp|matrix-web-i18n|await-lock|@element-hq/web-shared-components|react-virtuoso|lodash|domutils|domhandler|domelementtype|dom-serializer|entities)).+$`, ], collectCoverageFrom: [ "/src/**/*.{js,ts,tsx}", diff --git a/apps/web/package.json b/apps/web/package.json index 2bc47c8d2c..cbcc216a9d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -66,6 +66,7 @@ "domutils": "^4.0.0", "emojibase-regex": "^17.0.0", "escape-html": "^1.0.3", + "events": "^3.3.0", "file-saver": "^2.0.5", "filesize": "11.0.17", "github-markdown-css": "^5.5.1", @@ -243,6 +244,5 @@ "engines": { "node": ">=22.18" }, - "packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800", "private": true } diff --git a/apps/web/playwright/snapshots/right-panel/memberlist.spec.ts/with-four-members-linux.png b/apps/web/playwright/snapshots/right-panel/memberlist.spec.ts/with-four-members-linux.png index 314b65274a18573791035be63cc7be8046f11a9e..978bd1efef99c24ec3727feb4681d8f9293ea547 100644 GIT binary patch literal 20767 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 R2Hp&x)g@aClDWtIp8)_gP0IiP diff --git a/apps/web/src/Linkify.ts b/apps/web/src/Linkify.ts index fdb51a86d6..70b4401d5f 100644 --- a/apps/web/src/Linkify.ts +++ b/apps/web/src/Linkify.ts @@ -369,6 +369,8 @@ export const LinkedTextConfiguration = { urlTargetTransformer: urlTargetTransformFunction, }; +type LinkifyOpts = Parameters[1]; + /** * Linkifies the given string. This is a wrapper around 'linkifyjs/string'. * @@ -376,7 +378,10 @@ export const LinkedTextConfiguration = { * @param [options] Options for linkifyString. * @returns Linkified string */ -export function linkifyString(value: string, options = generateLinkedTextOptions(LinkedTextConfiguration)): string { +export function linkifyString( + value: string, + options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration), +): string { return _linkifyString(value, options); } @@ -387,7 +392,10 @@ export function linkifyString(value: string, options = generateLinkedTextOptions * @param [options] Options for linkifyHtml. * @returns Linkified string */ -export function linkifyHtml(value: string, options = generateLinkedTextOptions(LinkedTextConfiguration)): string { +export function linkifyHtml( + value: string, + options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration), +): string { return _linkifyHtml(value, options); } @@ -400,7 +408,7 @@ export function linkifyHtml(value: string, options = generateLinkedTextOptions(L */ export function linkifyAndSanitizeHtml( dirtyHtml: string, - options = generateLinkedTextOptions(LinkedTextConfiguration), + options: LinkifyOpts = generateLinkedTextOptions(LinkedTextConfiguration), ): string { return sanitizeHtml(linkifyString(dirtyHtml, options), sanitizeHtmlParams); } diff --git a/apps/web/src/index.ts b/apps/web/src/index.ts deleted file mode 100644 index 7988f32dad..0000000000 --- a/apps/web/src/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright 2024 New Vector Ltd. -Copyright 2019 The Matrix.org Foundation C.I.C. -Copyright 2015, 2016 OpenMarket Ltd - -SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial -Please see LICENSE files in the repository root for full details. -*/ - -// Import the js-sdk so the proper `request` object can be set. This does some -// magic with the browser injection to make all subsequent imports work fine. -import "matrix-js-sdk/src/browser-index"; diff --git a/apps/web/src/modules/Api.ts b/apps/web/src/modules/Api.ts index 5d9eddfab2..789e8144d2 100644 --- a/apps/web/src/modules/Api.ts +++ b/apps/web/src/modules/Api.ts @@ -74,8 +74,9 @@ export class ModuleApi implements Api { public readonly _registerLegacyRoomListCustomisations = legacyCustomisationsFactory(RoomListCustomisations); public readonly _registerLegacyUserIdentifierCustomisations = legacyCustomisationsFactory(UserIdentifierCustomisations); - public readonly _registerLegacyWidgetPermissionsCustomisations = - legacyCustomisationsFactory(WidgetPermissionCustomisations); + public readonly _registerLegacyWidgetPermissionsCustomisations: ( + customisations: typeof WidgetPermissionCustomisations, + ) => void = legacyCustomisationsFactory(WidgetPermissionCustomisations); public readonly _registerLegacyWidgetVariablesCustomisations = legacyCustomisationsFactory(WidgetVariableCustomisations); /* eslint-enable @typescript-eslint/naming-convention */ diff --git a/apps/web/webpack.config.ts b/apps/web/webpack.config.ts index c68c19e609..3017e1c6e8 100644 --- a/apps/web/webpack.config.ts +++ b/apps/web/webpack.config.ts @@ -258,7 +258,6 @@ export default (env: string, argv: Record): webpack.Configuration = "$webapp": path.resolve(__dirname, "webapp"), // Make shared-components imports resolve to EW deps - "counterpart": getPackageRoot("counterpart"), "@vector-im/compound-web": getPackageRoot("@vector-im/compound-web", ""), }, fallback: { @@ -267,6 +266,7 @@ export default (env: string, argv: Record): webpack.Configuration = "net": false, "tls": false, "crypto": false, + "events": import.meta.resolve("events/"), // Polyfill needed by counterpart "util": import.meta.resolve("util/"), diff --git a/developer_guide.md b/developer_guide.md index ab5231779e..4e081cb5b3 100644 --- a/developer_guide.md +++ b/developer_guide.md @@ -42,7 +42,7 @@ cd element-web Set up your local development link by creating a `.link-config` file with contents like: ``` -matrix-js-sdk=/path/to/matrix-js-sdk +matrix-js-sdk=/path/to/matrix-js-sdk=apps/web ``` **Note for Windows users**: Your link config path might need escaping. For example, `matrix-js-sdk=C:\\path\\to\\matrix-js-sdk`. diff --git a/knip.ts b/knip.ts index 2f07834a07..9e890e7494 100644 --- a/knip.ts +++ b/knip.ts @@ -62,6 +62,10 @@ export default { entry: ["scripts/**", "docs/**"], }, }, + ignoreDependencies: [ + // Used by multiple packages, raises a false positive for some reason + "events", + ], ignoreExportsUsedInFile: true, compilers: { pcss: (text: string) => diff --git a/package.json b/package.json index e55184abf8..291ccb287d 100644 --- a/package.json +++ b/package.json @@ -38,77 +38,22 @@ "lodash": "^4.17.21", "mermaid": "^11.13.0", "minimist": "^1.2.6", - "nx": "22.7.2", + "nx": "22.7.4", "prettier": "3.8.3", "typescript": "catalog:", "vitepress": "^1.6.4", "vitepress-plugin-mermaid": "^2.0.17", "yaml": "^2.3.3" }, - "pnpm": { - "onlyBuiltDependencies": [ - "matrix-js-sdk" - ], - "ignoredBuiltDependencies": [ - "@sentry/cli", - "nx" - ], - "patchedDependencies": { - "@vector-im/matrix-wysiwyg": "patches/@vector-im__matrix-wysiwyg.patch", - "react-blurhash": "patches/react-blurhash.patch", - "linkify-html": "patches/linkify-html.patch", - "@matrix-org/react-sdk-module-api": "patches/@matrix-org__react-sdk-module-api.patch", - "@types/auto-launch": "patches/@types__auto-launch.patch", - "@types/mdx": "patches/@types__mdx.patch", - "await-lock": "patches/await-lock.patch", - "jest-fixed-jsdom": "patches/jest-fixed-jsdom.patch", - "jsdom": "patches/jsdom.patch", - "rollup": "patches/rollup.patch", - "postcss-mixins": "patches/postcss-mixins.patch", - "app-builder-lib": "patches/app-builder-lib.patch", - "knip": "patches/knip.patch", - "plist": "patches/plist.patch", - "@dnd-kit/abstract": "patches/@dnd-kit__abstract.patch" - }, - "peerDependencyRules": { - "allowedVersions": { - "react": "19", - "react-dom": "19", - "eslint": "8" - } - }, - "allowedDeprecatedVersions": { - "eslint": "8", - "react-beautiful-dnd": "13" - }, - "overrides": { - "pretty-format@30>react-is": "19.2.5", - "@types/react": "catalog:", - "@types/react-dom": "catalog:", - "oidc-client-ts": "3.5.0", - "jwt-decode": "4.0.0", - "caniuse-lite": "1.0.30001793", - "markdown-it": "14.1.1", - "matrix-widget-api": "^1.17.0", - "@types/node": "18.19.130", - "config-file-ts": "0.2.8-rc1", - "node-abi": "4.31.0", - "@types/pg-pool": "2.0.7", - "axios@>1.0.0 <=1.15.0": "1.15.2", - "esbuild@<=0.24.2": "0.27.4", - "esbuild@~0.27.0": "0.27.4", - "follow-redirects@1.15.11": "1.16.0", - "brace-expansion@>=5 <5.0.6": "5.0.6", - "ip-address@>=10 <10.1.1": "10.1.1", - "uuid@>=11 <11.1.1": "11.1.1", - "yaml@>=2 <2.8.3": "2.8.4", - "protobufjs@7 <7.5.8": "7.6.1", - "@protobufjs/utf8@1 <1.1.1": "1.1.1" - } - }, "engines": { "node": ">=22.18" }, - "packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800", + "devEngines": { + "packageManager": { + "name": "pnpm", + "version": "11.2.2+sha512.36e6621fad506178936455e70247b8808ef4ec25797a9f437a93281a020484e2607f6a469a22e982987c3dbb8866e3071514ab10a4a1749e06edcd1ec118436f", + "onFail": "error" + } + }, "private": true } diff --git a/packages/shared-components/package.json b/packages/shared-components/package.json index a39c9dca16..15f1c04183 100644 --- a/packages/shared-components/package.json +++ b/packages/shared-components/package.json @@ -69,6 +69,7 @@ "@vector-im/compound-design-tokens": "catalog:", "classnames": "^2.5.1", "counterpart": "^0.18.6", + "events": "^3.3.0", "html-react-parser": "^6.0.0", "linkify-html": "4.3.3", "linkify-react": "4.3.2", @@ -137,7 +138,6 @@ "engines": { "node": ">=20.0.0" }, - "packageManager": "pnpm@10.33.4+sha512.1c67b3b359b2d408119ba1ed289f34b8fc3c6873412bec6fd264fbdc82489e510fcbecb9ce9d22dae7f3b76269d8441046014bdca53b9979cd7a561ad631b800", "peerDependencies": { "@vector-im/compound-web": "^8.3.5 || ^9.0.0", "react": "catalog:" diff --git a/patches/app-builder-lib.patch b/patches/app-builder-lib.patch deleted file mode 100644 index d03cf7a96d..0000000000 --- a/patches/app-builder-lib.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/out/node-module-collector/moduleManager.js b/out/node-module-collector/moduleManager.js -index e9d6d16f8950c01417039d65ed1939009d642b7a..9f47c5e18fb34fe60e4f09bf512f9639aa2d90c0 100644 ---- a/out/node-module-collector/moduleManager.js -+++ b/out/node-module-collector/moduleManager.js -@@ -5,6 +5,7 @@ const builder_util_1 = require("builder-util"); - const fs = require("fs-extra"); - const path = require("path"); - const semver = require("semver"); -+const searchModule = require("../electron/search-module"); - var LogMessageByKey; - (function (LogMessageByKey) { - LogMessageByKey["PKG_DUPLICATE_REF"] = "duplicate dependency references"; -@@ -115,15 +116,15 @@ class ModuleManager { - return { packageDir: path.dirname(direct), packageJson: json }; - } - } -- // 2) upward hoisted search, then 3) downward non-hoisted search -+ // 2) upward hoisted search, then 3) downward non-hoisted search, then 4) downward from workspace root - const upward = await this.upwardSearch(parentDir, pkgName, requiredRange); - if (upward) { - return upward; - } -- if (skipDownwardSearch) { -- return null; -- } -- return (await this.downwardSearch(parentDir, pkgName, requiredRange)) || null; -+ const workspaceRoot = await searchModule.getProjectRootPath(parentDir); -+ return (await this.downwardSearch(parentDir, pkgName, requiredRange)) || -+ (await this.downwardSearch(workspaceRoot, pkgName, requiredRange)) || -+ null; - } - semverSatisfies(found, range) { - if ((0, builder_util_1.isEmptyOrSpaces)(range) || range === "*") { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 10136ebc28..def5582e0a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3 +1,202 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + '@pnpm/exe': + specifier: 11.2.2 + version: 11.2.2 + pnpm: + specifier: 11.2.2 + version: 11.2.2 + +packages: + + '@pnpm/exe@11.2.2': + resolution: {integrity: sha512-9AGho6f10GYF/XHvnpO6wnzDIAiHNSs2PyOTelrNNyUiHwfTVtnJoXwRz/6yPJAYOF3erhPauv5oxf62uh581w==} + hasBin: true + + '@pnpm/linux-arm64@11.2.2': + resolution: {integrity: sha512-cMEqyEwpghHb1UggKuowTuGKvbWe1Ra6bK3SF9CWoIrz36mzQz3FXxYXx1Theo8lmkwWH2MZdUGHKgtUoqEGKg==} + cpu: [arm64] + os: [linux] + + '@pnpm/linux-x64@11.2.2': + resolution: {integrity: sha512-AShxDdan9wfAFbIGAO5YnbGRf3zuETOZVMuWqmx4mJLaAOR3kiA3Rwhzj3jyTsAoodn7Xdaxq9G1M3FpB92mkQ==} + cpu: [x64] + os: [linux] + + '@pnpm/linuxstatic-arm64@11.2.2': + resolution: {integrity: sha512-m7BCdqFdMFo3fkiOpcOLa70c3Ppy5OKv78HXSIfzL4ajHBdPQfmv03VgC3U08l1ST/EeQFuSt+Za0azmOJyYqA==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/linuxstatic-x64@11.2.2': + resolution: {integrity: sha512-UABTQUhdn6eCx/IlGVrdwklKT00pTHrjLNXdviP4OReJa1trM5HDWcDnreIg89ghCFmee+UTBKDx1FYlLON8EQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/macos-arm64@11.2.2': + resolution: {integrity: sha512-EakwHSWIxzza6fO6zQkmkUphoadjer9VXCsWRax1D4qNWmChKfn2muYFj6BOChS999lwb4fb42gc61Nbx0X6iw==} + cpu: [arm64] + os: [darwin] + + '@pnpm/win-arm64@11.2.2': + resolution: {integrity: sha512-eXzlXAnwRAI9Uff1U2pfTJxC78vL8aGxU/fsUt/RzWjS09xMQZ2qtAunKg869fAi6xfsquDbogkdTZA3163lIw==} + cpu: [arm64] + os: [win32] + + '@pnpm/win-x64@11.2.2': + resolution: {integrity: sha512-X74bQ4bvjSCYapcupRsGrse8cAg7XhPKXRn1o1qOouux1nJquz9lh2h5uKz8GPx816OUsYo9FS8DV3N9W+L8QA==} + cpu: [x64] + os: [win32] + + '@reflink/reflink-darwin-arm64@0.1.19': + resolution: {integrity: sha512-ruy44Lpepdk1FqDz38vExBY/PVUsjxZA+chd9wozjUH9JjuDT/HEaQYA6wYN9mf041l0yLVar6BCZuWABJvHSA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@reflink/reflink-darwin-x64@0.1.19': + resolution: {integrity: sha512-By85MSWrMZa+c26TcnAy8SDk0sTUkYlNnwknSchkhHpGXOtjNDUOxJE9oByBnGbeuIE1PiQsxDG3Ud+IVV9yuA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@reflink/reflink-linux-arm64-gnu@0.1.19': + resolution: {integrity: sha512-7P+er8+rP9iNeN+bfmccM4hTAaLP6PQJPKWSA4iSk2bNvo6KU6RyPgYeHxXmzNKzPVRcypZQTpFgstHam6maVg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@reflink/reflink-linux-arm64-musl@0.1.19': + resolution: {integrity: sha512-37iO/Dp6m5DDaC2sf3zPtx/hl9FV3Xze4xoYidrxxS9bgP3S8ALroxRK6xBG/1TtfXKTvolvp+IjrUU6ujIGmA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@reflink/reflink-linux-x64-gnu@0.1.19': + resolution: {integrity: sha512-jbI8jvuYCaA3MVUdu8vLoLAFqC+iNMpiSuLbxlAgg7x3K5bsS8nOpTRnkLF7vISJ+rVR8W+7ThXlXlUQ93ulkw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@reflink/reflink-linux-x64-musl@0.1.19': + resolution: {integrity: sha512-e9FBWDe+lv7QKAwtKOt6A2W/fyy/aEEfr0g6j/hWzvQcrzHCsz07BNQYlNOjTfeytrtLU7k449H1PI95jA4OjQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@reflink/reflink-win32-arm64-msvc@0.1.19': + resolution: {integrity: sha512-09PxnVIQcd+UOn4WAW73WU6PXL7DwGS6wPlkMhMg2zlHHG65F3vHepOw06HFCq+N42qkaNAc8AKIabWvtk6cIQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@reflink/reflink-win32-x64-msvc@0.1.19': + resolution: {integrity: sha512-E//yT4ni2SyhwP8JRjVGWr3cbnhWDiPLgnQ66qqaanjjnMiu3O/2tjCPQXlcGc/DEYofpDc9fvhv6tALQsMV9w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@reflink/reflink@0.1.19': + resolution: {integrity: sha512-DmCG8GzysnCZ15bres3N5AHCmwBwYgp0As6xjhQ47rAUTUXxJiK+lLUxaGsX3hd/30qUpVElh05PbGuxRPgJwA==} + engines: {node: '>= 10'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + pnpm@11.2.2: + resolution: {integrity: sha512-NuZiH61QYXiTZFXnAke4gI707CV5ep9DepMoGgIEhOJgf2pGmiLpgph8PbuIZuMHFRSrEKShdJ4G7c0ewRhDbw==} + engines: {node: '>=22.13'} + hasBin: true + +snapshots: + + '@pnpm/exe@11.2.2': + dependencies: + '@reflink/reflink': 0.1.19 + detect-libc: 2.1.2 + optionalDependencies: + '@pnpm/linux-arm64': 11.2.2 + '@pnpm/linux-x64': 11.2.2 + '@pnpm/linuxstatic-arm64': 11.2.2 + '@pnpm/linuxstatic-x64': 11.2.2 + '@pnpm/macos-arm64': 11.2.2 + '@pnpm/win-arm64': 11.2.2 + '@pnpm/win-x64': 11.2.2 + + '@pnpm/linux-arm64@11.2.2': + optional: true + + '@pnpm/linux-x64@11.2.2': + optional: true + + '@pnpm/linuxstatic-arm64@11.2.2': + optional: true + + '@pnpm/linuxstatic-x64@11.2.2': + optional: true + + '@pnpm/macos-arm64@11.2.2': + optional: true + + '@pnpm/win-arm64@11.2.2': + optional: true + + '@pnpm/win-x64@11.2.2': + optional: true + + '@reflink/reflink-darwin-arm64@0.1.19': + optional: true + + '@reflink/reflink-darwin-x64@0.1.19': + optional: true + + '@reflink/reflink-linux-arm64-gnu@0.1.19': + optional: true + + '@reflink/reflink-linux-arm64-musl@0.1.19': + optional: true + + '@reflink/reflink-linux-x64-gnu@0.1.19': + optional: true + + '@reflink/reflink-linux-x64-musl@0.1.19': + optional: true + + '@reflink/reflink-win32-arm64-msvc@0.1.19': + optional: true + + '@reflink/reflink-win32-x64-msvc@0.1.19': + optional: true + + '@reflink/reflink@0.1.19': + optionalDependencies: + '@reflink/reflink-darwin-arm64': 0.1.19 + '@reflink/reflink-darwin-x64': 0.1.19 + '@reflink/reflink-linux-arm64-gnu': 0.1.19 + '@reflink/reflink-linux-arm64-musl': 0.1.19 + '@reflink/reflink-linux-x64-gnu': 0.1.19 + '@reflink/reflink-linux-x64-musl': 0.1.19 + '@reflink/reflink-win32-arm64-msvc': 0.1.19 + '@reflink/reflink-win32-x64-msvc': 0.1.19 + + detect-libc@2.1.2: {} + + pnpm@11.2.2: {} + +--- lockfileVersion: '9.0' settings: @@ -63,7 +262,7 @@ overrides: esbuild@<=0.24.2: 0.27.4 esbuild@~0.27.0: 0.27.4 follow-redirects@1.15.11: 1.16.0 - brace-expansion@>=5 <5.0.6: 5.0.6 + brace-expansion@>=5 <=5.0.5: 5.0.6 ip-address@>=10 <10.1.1: 10.1.1 uuid@>=11 <11.1.1: 11.1.1 yaml@>=2 <2.8.3: 2.8.4 @@ -73,51 +272,20 @@ overrides: packageExtensionsChecksum: sha256-EMEi1vcyzQthk7O/0AcntvnHgJaKCoFBlzp6iX/qNYk= patchedDependencies: - '@dnd-kit/abstract': - hash: a4ddfb7b2d2d0b52c6709cead2e0feef065f2a17a516496679813344f326f9c1 - path: patches/@dnd-kit__abstract.patch - '@matrix-org/react-sdk-module-api': - hash: 016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96 - path: patches/@matrix-org__react-sdk-module-api.patch - '@types/auto-launch': - hash: b60dc9846a11a1684ce52c55493f29ea398d3dc44b88f66ab44e9843d6c01538 - path: patches/@types__auto-launch.patch - '@types/mdx': - hash: c209882c533714d2dcbf4cf397002125ea83677ef152eff403386611cd0f0d3a - path: patches/@types__mdx.patch - '@vector-im/matrix-wysiwyg': - hash: 7bdf6150f2905bc2f055a6bcaa7b9d78fa7ffde82e800bcc454ac7b0096bd65e - path: patches/@vector-im__matrix-wysiwyg.patch - app-builder-lib: - hash: 61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f - path: patches/app-builder-lib.patch - await-lock: - hash: b767a571946a4f8710ac54b1a7bec8a7c1570f9b85d75922392fae20d0578964 - path: patches/await-lock.patch - jest-fixed-jsdom: - hash: b4bc876eca343b57d231c1cf9817ddb13ff04503ece7794d1690f342f6289ad3 - path: patches/jest-fixed-jsdom.patch - jsdom: - hash: 040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f - path: patches/jsdom.patch - knip: - hash: 9ee905cce2466e391db69dfcea905b0fe2502afd935d1dc6a6ac94ffe2855c28 - path: patches/knip.patch - linkify-html: - hash: 1761c1eabe25d9fae83f74f27a20b3d24515840a4a8747bb04828df46bcfdea2 - path: patches/linkify-html.patch - plist: - hash: 7a3c35087f0ab2a8efbac9e2899990f07d61e2b3e41d8d962ef0bdb0786e1af7 - path: patches/plist.patch - postcss-mixins: - hash: 30fc882486b610a1c252340c87a99f1030c50e698a3c57c837eff7232e29d6d0 - path: patches/postcss-mixins.patch - react-blurhash: - hash: 58bc7f075478017ce27bcc252e8509876390db106246bd5b0a7446642cc4b505 - path: patches/react-blurhash.patch - rollup: - hash: 603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8 - path: patches/rollup.patch + '@dnd-kit/abstract': a4ddfb7b2d2d0b52c6709cead2e0feef065f2a17a516496679813344f326f9c1 + '@matrix-org/react-sdk-module-api': 016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96 + '@types/auto-launch': b60dc9846a11a1684ce52c55493f29ea398d3dc44b88f66ab44e9843d6c01538 + '@types/mdx': c209882c533714d2dcbf4cf397002125ea83677ef152eff403386611cd0f0d3a + '@vector-im/matrix-wysiwyg': 7bdf6150f2905bc2f055a6bcaa7b9d78fa7ffde82e800bcc454ac7b0096bd65e + await-lock: b767a571946a4f8710ac54b1a7bec8a7c1570f9b85d75922392fae20d0578964 + jest-fixed-jsdom: b4bc876eca343b57d231c1cf9817ddb13ff04503ece7794d1690f342f6289ad3 + jsdom: 040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f + knip: 9ee905cce2466e391db69dfcea905b0fe2502afd935d1dc6a6ac94ffe2855c28 + linkify-html: 1761c1eabe25d9fae83f74f27a20b3d24515840a4a8747bb04828df46bcfdea2 + plist: 7a3c35087f0ab2a8efbac9e2899990f07d61e2b3e41d8d962ef0bdb0786e1af7 + postcss-mixins: 30fc882486b610a1c252340c87a99f1030c50e698a3c57c837eff7232e29d6d0 + react-blurhash: 58bc7f075478017ce27bcc252e8509876390db106246bd5b0a7446642cc4b505 + rollup: 603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8 importers: @@ -131,7 +299,7 @@ importers: version: 0.6.0 '@nx-tools/nx-container': specifier: ^7.2.1 - version: 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.2))(dotenv@17.4.2)(nx@22.7.2)(tslib@2.8.1) + version: 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.4))(dotenv@17.4.2)(nx@22.7.4)(tslib@2.8.1) '@playwright/test': specifier: 'catalog:' version: 1.60.0 @@ -163,8 +331,8 @@ importers: specifier: ^1.2.6 version: 1.2.8 nx: - specifier: 22.7.2 - version: 22.7.2 + specifier: 22.7.4 + version: 22.7.4 prettier: specifier: 3.8.3 version: 3.8.3 @@ -258,7 +426,7 @@ importers: version: 4.1.7(@vitest/browser@4.1.7)(vitest@4.1.7) app-builder-lib: specifier: 26.11.1 - version: 26.11.1(patch_hash=61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f)(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) + version: 26.11.1(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) chokidar: specifier: ^5.0.0 version: 5.0.0 @@ -327,7 +495,7 @@ importers: version: 6.0.3 vitest: specifier: 'catalog:' - version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest-sonar-reporter: specifier: 'catalog:' version: 3.0.0(vitest@4.1.7) @@ -421,6 +589,9 @@ importers: escape-html: specifier: ^1.0.3 version: 1.0.3 + events: + specifier: ^3.3.0 + version: 3.3.0 file-saver: specifier: ^2.0.5 version: 2.0.5 @@ -968,13 +1139,13 @@ importers: version: 6.0.3 unplugin-dts: specifier: 1.0.1 - version: 1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + version: 1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) vite: specifier: 'catalog:' - version: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + version: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) vitest: specifier: 'catalog:' - version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest-sonar-reporter: specifier: 'catalog:' version: 3.0.0(vitest@4.1.7) @@ -1051,6 +1222,9 @@ importers: counterpart: specifier: ^0.18.6 version: 0.18.6 + events: + specifier: ^3.3.0 + version: 3.3.0 html-react-parser: specifier: ^6.0.0 version: 6.0.1(@types/react@19.2.14)(react@19.2.6) @@ -1117,10 +1291,10 @@ importers: version: 10.4.0(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) '@storybook/addon-designs': specifier: ^11.0.1 - version: 11.1.3(@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) + version: 11.1.3(@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) '@storybook/addon-docs': specifier: ^10.0.7 - version: 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + version: 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) '@storybook/addon-vitest': specifier: ^10.1.11 version: 10.4.0(@vitest/browser-playwright@4.1.7)(@vitest/browser@4.1.7)(@vitest/runner@4.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vitest@4.1.7) @@ -1129,7 +1303,7 @@ importers: version: 2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@storybook/react-vite': specifier: ^10.0.7 - version: 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + version: 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) '@stylistic/eslint-plugin': specifier: ^5.7.0 version: 5.10.0(eslint@8.57.1) @@ -1165,7 +1339,7 @@ importers: version: 9.3.0(@fontsource/inconsolata@5.2.8)(@fontsource/inter@5.2.8)(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(@vector-im/compound-design-tokens@10.1.1(@types/react@19.2.14)(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@vitest/browser-playwright': specifier: ^4.0.17 - version: 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + version: 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) '@vitest/coverage-v8': specifier: 'catalog:' version: 4.1.7(@vitest/browser@4.1.7)(vitest@4.1.7) @@ -1228,16 +1402,16 @@ importers: version: 6.0.3 unplugin-dts: specifier: 1.0.1 - version: 1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + version: 1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) vite: specifier: 'catalog:' - version: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + version: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) vite-plugin-node-polyfills: specifier: ^0.28.0 - version: 0.28.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + version: 0.28.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest: specifier: 'catalog:' - version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest-sonar-reporter: specifier: 'catalog:' version: 3.0.0(vitest@4.1.7) @@ -1249,7 +1423,7 @@ importers: version: 4.1.7(@vitest/browser@4.1.7)(vitest@4.1.7) vitest: specifier: 'catalog:' - version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest-sonar-reporter: specifier: 'catalog:' version: 3.0.0(vitest@4.1.7) @@ -1544,6 +1718,7 @@ packages: '@babel/plugin-proposal-private-methods@7.18.6': resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 @@ -2862,6 +3037,7 @@ packages: '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -2869,6 +3045,7 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead '@iconify-json/simple-icons@1.2.75': resolution: {integrity: sha512-KvcCUbvcBWb0sbqLIxHoY8z5/piXY08wcY9gfMhF+ph3AfzGMaSmZFkUY71HSXAljQngXkgs4bdKdekO0HQWvg==} @@ -3373,8 +3550,8 @@ packages: cpu: [arm64] os: [darwin] - '@nx/nx-darwin-arm64@22.7.2': - resolution: {integrity: sha512-hu+x/IOzx+18imkFwSdtXnvB6d21qcXvc4bCqcbA9BQcUnvTnw0/11SLoasvDqy/9KLKHDWJAIPttcBkbArWVA==} + '@nx/nx-darwin-arm64@22.7.4': + resolution: {integrity: sha512-qWf7AOVRpUp8Ixl6ueptZWPtgEzJcv89ifjRPqupMZgqJMpzwPk+AUjAxx6hFuLooevYRXp8V8dT5ExSclASCw==} cpu: [arm64] os: [darwin] @@ -3383,8 +3560,8 @@ packages: cpu: [x64] os: [darwin] - '@nx/nx-darwin-x64@22.7.2': - resolution: {integrity: sha512-M4QPs4rjzZN51V7qiKUjJU7hLYtv/h0I/aGUedCQQZibbbDTl45sQlgBQlV/viw2dOw3K5+RxDxtMNFxAbhxQA==} + '@nx/nx-darwin-x64@22.7.4': + resolution: {integrity: sha512-ouw1X1DAmLHlsm8LCJo8fRD30Mn8AcFk8LLIsSyBv2O3+kP+PDMeUEQI/kM9ADYvlq0oaabOeKc/wFhwAF/KgQ==} cpu: [x64] os: [darwin] @@ -3393,8 +3570,8 @@ packages: cpu: [x64] os: [freebsd] - '@nx/nx-freebsd-x64@22.7.2': - resolution: {integrity: sha512-tdC2mBQ/ON9qvTs72aL3XVN7B5wd7UsiRJ/qwC2bk/PIpD0vo5c3EwxFyYXfTD60jnlV+CTFxhSVmu8S1pVsfw==} + '@nx/nx-freebsd-x64@22.7.4': + resolution: {integrity: sha512-cRzKEyqh8U9YiaInjVqius9WHdnzz49O5u8K4kBmSG3KV+5iYKTfnG7cAK8n6V2Af84IUQQWLB7UmKqRZX4ChQ==} cpu: [x64] os: [freebsd] @@ -3403,8 +3580,8 @@ packages: cpu: [arm] os: [linux] - '@nx/nx-linux-arm-gnueabihf@22.7.2': - resolution: {integrity: sha512-bBHIC9xZ8L12BWkwMKbRi7+oV4UH1v1Yy8PsIvRfjS7GzYNlOAUMkJxywjF2msnkp8M8Rn29MEvzllZjdyaR7Q==} + '@nx/nx-linux-arm-gnueabihf@22.7.4': + resolution: {integrity: sha512-STDSy2yuliAb/WJVXhTvTCpdvax+h6oFSkUN63pYtRuUVsUYnWqi9wj/qwSN6J+H0nX0AwC4uF6xdTfEf+MCbg==} cpu: [arm] os: [linux] @@ -3414,8 +3591,8 @@ packages: os: [linux] libc: [glibc] - '@nx/nx-linux-arm64-gnu@22.7.2': - resolution: {integrity: sha512-MBYG58VUTmLW4S2RlYmXJiV6P0P1lkiZXtiaulZOXmP5uCSXiqMgK47k56hq9GTbtW1SpyGgh02lkNdCYTbmLw==} + '@nx/nx-linux-arm64-gnu@22.7.4': + resolution: {integrity: sha512-fvFk3yjIIo17iGdsJc3hZ3tpd7Dulmcn2dOu3NbtCFTnT10TnNrkCRSNLmc9+5UP0wGdtX4ex72h/ux4uiaUag==} cpu: [arm64] os: [linux] libc: [glibc] @@ -3426,8 +3603,8 @@ packages: os: [linux] libc: [musl] - '@nx/nx-linux-arm64-musl@22.7.2': - resolution: {integrity: sha512-Wf4VBSJt5gEGdzX6uzZoITEYB/Y3TxjvPNT11NKfRU/m63b8/D8jCeRmr7cBTaMUlNmdH3Lf3G1PuPNGoEZ0Mg==} + '@nx/nx-linux-arm64-musl@22.7.4': + resolution: {integrity: sha512-NzSVz2hj/e2ruY9vxMCUZ35ek6reL3HcvDZgVuR2ZiDpoOr7dde0MHjBjn9wIvXldtK6UdvDeBuSLiQ/pPYuiQ==} cpu: [arm64] os: [linux] libc: [musl] @@ -3438,8 +3615,8 @@ packages: os: [linux] libc: [glibc] - '@nx/nx-linux-x64-gnu@22.7.2': - resolution: {integrity: sha512-v3AQyfCkv9k+AWT2hy8hAGaCmFYf+G/bt4KAqnWhmXPWNhxrv9FhvTUcjpY+MY+6v7sKdhJv/3eDvtlLd9FOLg==} + '@nx/nx-linux-x64-gnu@22.7.4': + resolution: {integrity: sha512-Y53jiik1iUaj3MGZpHpp1p9EwlsrOyGLioX6CD6ziuCpDP9C0M4taEDGeZHXv5NRSVYbOR3/HhwYcMwnb2urYA==} cpu: [x64] os: [linux] libc: [glibc] @@ -3450,8 +3627,8 @@ packages: os: [linux] libc: [musl] - '@nx/nx-linux-x64-musl@22.7.2': - resolution: {integrity: sha512-3SMfMB7ynr8wGGTZP+/ZV7FqkCsOg1Raoka+4EtIPX66bEcBycg8FVg81DbyV+IzuKk3N+8Hl2IeY1W2btPypw==} + '@nx/nx-linux-x64-musl@22.7.4': + resolution: {integrity: sha512-jbq9NDXbEdXCBulGh8T3sLR/uMnuxAvOeOHiJp+KDIGBxS5dCfdmvCzf54DgU1sOCNhly4pud8lcOVP/qFImFA==} cpu: [x64] os: [linux] libc: [musl] @@ -3461,8 +3638,8 @@ packages: cpu: [arm64] os: [win32] - '@nx/nx-win32-arm64-msvc@22.7.2': - resolution: {integrity: sha512-eTFTTF1JUKXu+PNOGd7KAdqyWyfvFKO/wpqHoq9fjnbjXgCdCg1PaRxHIxA1WT5HFj1iHS6Or+GC1zA1KNt0Sw==} + '@nx/nx-win32-arm64-msvc@22.7.4': + resolution: {integrity: sha512-s2TPwjJBxiBysI9hp6uwn5yx7PDVAMPvVZYSmsbxenHhERAUf33UTfnEiP5YGoPUZMbYB8CboFBVtGT4GwG+jw==} cpu: [arm64] os: [win32] @@ -3471,8 +3648,8 @@ packages: cpu: [x64] os: [win32] - '@nx/nx-win32-x64-msvc@22.7.2': - resolution: {integrity: sha512-fbVAiJ7RKSanUXrL67Z6as7BY1akznRqo71ACmrxLvLicG3UsmATbHKGp0zULoe3jBm+rNrIrLk+quZn5q0wUg==} + '@nx/nx-win32-x64-msvc@22.7.4': + resolution: {integrity: sha512-0WyBsO/XuAdOrpbPCbQ7zG7aXb5gEyEz1UZhAtNt5brehngT2RjIl8IrLj5q2qVNyKaw2PZoFp8yEwCLszbZ+g==} cpu: [x64] os: [win32] @@ -6845,6 +7022,7 @@ packages: boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. brace-expansion@1.1.13: resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==} @@ -8380,6 +8558,7 @@ packages: eslint@8.57.1: resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@10.4.0: @@ -8807,6 +8986,7 @@ packages: glob@10.5.0: resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.6: @@ -8815,6 +8995,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -9179,6 +9360,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -10555,8 +10737,8 @@ packages: '@swc/core': optional: true - nx@22.7.2: - resolution: {integrity: sha512-Gh7gGO1t/TvgbKuVJMYWbxUwZC+E+PuRRVUeoOeVe82yEvBNl40EKiVHIbbi6GID0s9Zwzflo07UrKGLoDSVGw==} + nx@22.7.4: + resolution: {integrity: sha512-BgKh22x4esZg33DEpLlHaOo5uxYuLvbiICaniciRkW/e3YgFgAewipCB1nkrfDmEBdfm9irihr94gkPGWrobrA==} hasBin: true peerDependencies: '@swc-node/register': ^1.11.1 @@ -11549,6 +11731,7 @@ packages: react-beautiful-dnd@13.1.1: resolution: {integrity: sha512-0Lvs4tq2VcrEjEgDXHjT98r+63drkKEgqyxdA7qD3mvKwga6a5SscbdLPO2IExotU1jW8L0Ksdl0Cj2AF67nPQ==} + deprecated: 'react-beautiful-dnd is now deprecated. Context and options: https://github.com/atlassian/react-beautiful-dnd/issues/2672' peerDependencies: react: ^16.8.5 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.5 || ^17.0.0 || ^18.0.0 @@ -11881,10 +12064,12 @@ packages: rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@6.1.3: @@ -12788,11 +12973,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} - engines: {node: '>=18.0.0'} - hasBin: true - tsyringe@4.10.0: resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} engines: {node: '>= 6.0.0'} @@ -13114,6 +13294,7 @@ packages: uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true uuid@11.1.1: @@ -13126,6 +13307,7 @@ packages: uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true v8-to-istanbul@9.3.0: @@ -13462,6 +13644,7 @@ packages: whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} @@ -15441,7 +15624,7 @@ snapshots: '@fetch-mock/vitest@0.2.18(vitest@4.1.7)': dependencies: fetch-mock: 12.6.0 - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) '@figspec/components@2.1.0': {} @@ -15777,11 +15960,11 @@ snapshots: '@types/yargs': 17.0.35 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.7.0(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))': dependencies: glob: 13.0.6 react-docgen-typescript: 2.4.0(typescript@6.0.3) - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) optionalDependencies: typescript: 6.0.3 @@ -16204,10 +16387,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@nx-tools/ci-context@7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1)': + '@nx-tools/ci-context@7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1)': dependencies: '@actions/github': 9.1.1 - '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1) + '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1) '@octokit/openapi-types': 22.2.0 properties-file: 3.7.0 std-env: 3.10.0 @@ -16215,11 +16398,11 @@ snapshots: transitivePeerDependencies: - '@nx/devkit' - '@nx-tools/container-metadata@7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1)': + '@nx-tools/container-metadata@7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1)': dependencies: - '@nx-tools/ci-context': 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1) - '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1) - '@nx/devkit': 22.6.5(nx@22.7.2) + '@nx-tools/ci-context': 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1) + '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1) + '@nx/devkit': 22.6.5(nx@22.7.4) '@renovatebot/pep440': 4.2.1 csv-parse: 5.6.0 handlebars: 4.7.9 @@ -16227,26 +16410,26 @@ snapshots: semver: 7.8.1 tslib: 2.8.1 - '@nx-tools/core@7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1)': + '@nx-tools/core@7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1)': dependencies: '@actions/io': 1.1.3 - '@nx/devkit': 22.6.5(nx@22.7.2) + '@nx/devkit': 22.6.5(nx@22.7.4) csv-parse: 5.6.0 std-env: 3.10.0 tinyexec: 1.1.1 tinyrainbow: 3.1.0 tslib: 2.8.1 - '@nx-tools/nx-container@7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.2))(dotenv@17.4.2)(nx@22.7.2)(tslib@2.8.1)': + '@nx-tools/nx-container@7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.4))(dotenv@17.4.2)(nx@22.7.4)(tslib@2.8.1)': dependencies: - '@nx-tools/container-metadata': 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1) - '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.2))(tslib@2.8.1) - '@nx/devkit': 22.6.5(nx@22.7.2) - '@nx/js': 22.6.5(@babel/traverse@7.29.0)(nx@22.7.2) + '@nx-tools/container-metadata': 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1) + '@nx-tools/core': 7.2.3(@nx/devkit@22.6.5(nx@22.7.4))(tslib@2.8.1) + '@nx/devkit': 22.6.5(nx@22.7.4) + '@nx/js': 22.6.5(@babel/traverse@7.29.0)(nx@22.7.4) csv-parse: 5.6.0 dotenv: 17.4.2 handlebars: 4.7.9 - nx: 22.7.2 + nx: 22.7.4 semver: 7.8.1 tmp: 0.2.5 tslib: 2.8.1 @@ -16262,18 +16445,18 @@ snapshots: tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/devkit@22.6.5(nx@22.7.2)': + '@nx/devkit@22.6.5(nx@22.7.4)': dependencies: '@zkochan/js-yaml': 0.0.7 ejs: 5.0.1 enquirer: 2.3.6 minimatch: 10.2.4 - nx: 22.7.2 + nx: 22.7.4 semver: 7.8.1 tslib: 2.8.1 yargs-parser: 21.1.1 - '@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.2)': + '@nx/js@22.6.5(@babel/traverse@7.29.0)(nx@22.7.4)': dependencies: '@babel/core': 7.29.0 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) @@ -16282,7 +16465,7 @@ snapshots: '@babel/preset-env': 7.29.5(@babel/core@7.29.0) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) '@babel/runtime': 7.29.2 - '@nx/devkit': 22.6.5(nx@22.7.2) + '@nx/devkit': 22.6.5(nx@22.7.4) '@nx/workspace': 22.6.5 '@zkochan/js-yaml': 0.0.7 babel-plugin-const-enum: 1.2.0(@babel/core@7.29.0) @@ -16312,61 +16495,61 @@ snapshots: '@nx/nx-darwin-arm64@22.6.5': optional: true - '@nx/nx-darwin-arm64@22.7.2': + '@nx/nx-darwin-arm64@22.7.4': optional: true '@nx/nx-darwin-x64@22.6.5': optional: true - '@nx/nx-darwin-x64@22.7.2': + '@nx/nx-darwin-x64@22.7.4': optional: true '@nx/nx-freebsd-x64@22.6.5': optional: true - '@nx/nx-freebsd-x64@22.7.2': + '@nx/nx-freebsd-x64@22.7.4': optional: true '@nx/nx-linux-arm-gnueabihf@22.6.5': optional: true - '@nx/nx-linux-arm-gnueabihf@22.7.2': + '@nx/nx-linux-arm-gnueabihf@22.7.4': optional: true '@nx/nx-linux-arm64-gnu@22.6.5': optional: true - '@nx/nx-linux-arm64-gnu@22.7.2': + '@nx/nx-linux-arm64-gnu@22.7.4': optional: true '@nx/nx-linux-arm64-musl@22.6.5': optional: true - '@nx/nx-linux-arm64-musl@22.7.2': + '@nx/nx-linux-arm64-musl@22.7.4': optional: true '@nx/nx-linux-x64-gnu@22.6.5': optional: true - '@nx/nx-linux-x64-gnu@22.7.2': + '@nx/nx-linux-x64-gnu@22.7.4': optional: true '@nx/nx-linux-x64-musl@22.6.5': optional: true - '@nx/nx-linux-x64-musl@22.7.2': + '@nx/nx-linux-x64-musl@22.7.4': optional: true '@nx/nx-win32-arm64-msvc@22.6.5': optional: true - '@nx/nx-win32-arm64-msvc@22.7.2': + '@nx/nx-win32-arm64-msvc@22.7.4': optional: true '@nx/nx-win32-x64-msvc@22.6.5': optional: true - '@nx/nx-win32-x64-msvc@22.7.2': + '@nx/nx-win32-x64-msvc@22.7.4': optional: true '@nx/workspace@22.6.5': @@ -17930,21 +18113,21 @@ snapshots: axe-core: 4.11.4 storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@storybook/addon-designs@11.1.3(@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))': + '@storybook/addon-designs@11.1.3(@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))': dependencies: '@figspec/react': 2.0.1(@types/react@19.2.14)(react@19.2.6) storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) optionalDependencies: - '@storybook/addon-docs': 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + '@storybook/addon-docs': 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) react: 19.2.6 react-dom: 19.2.6(react@19.2.6) transitivePeerDependencies: - '@types/react' - '@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': + '@storybook/addon-docs@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': dependencies: '@mdx-js/react': 3.1.1(@types/react@19.2.14)(react@19.2.6) - '@storybook/csf-plugin': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + '@storybook/csf-plugin': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) '@storybook/icons': 2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) '@storybook/react-dom-shim': 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)) react: 19.2.6 @@ -17966,33 +18149,33 @@ snapshots: '@storybook/icons': 2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) optionalDependencies: - '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) - '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) '@vitest/runner': 4.1.7 - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) transitivePeerDependencies: - react - react-dom - '@storybook/builder-vite@10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': + '@storybook/builder-vite@10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': dependencies: - '@storybook/csf-plugin': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + '@storybook/csf-plugin': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) ts-dedent: 2.2.0 - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) transitivePeerDependencies: - esbuild - rollup - webpack - '@storybook/csf-plugin@10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': + '@storybook/csf-plugin@10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': dependencies: storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) unplugin: 2.3.11 optionalDependencies: esbuild: 0.27.4 rollup: 4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8) - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) webpack: 5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15) '@storybook/global@5.0.0': {} @@ -18011,11 +18194,11 @@ snapshots: '@types/react': 19.2.14 '@types/react-dom': 19.2.3(@types/react@19.2.14) - '@storybook/react-vite@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': + '@storybook/react-vite@10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(esbuild@0.27.4)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.7.0(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) '@rollup/pluginutils': 5.3.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8)) - '@storybook/builder-vite': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) + '@storybook/builder-vite': 10.4.0(esbuild@0.27.4)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)) '@storybook/react': 10.4.0(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(typescript@6.0.3) empathic: 2.0.1 magic-string: 0.30.21 @@ -18025,7 +18208,7 @@ snapshots: resolve: 1.22.12 storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) tsconfig-paths: 4.2.0 - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) transitivePeerDependencies: - '@types/react' - '@types/react-dom' @@ -18948,29 +19131,29 @@ snapshots: vite: 5.4.21(@types/node@18.19.130)(lightningcss@1.32.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0) vue: 3.5.31(typescript@6.0.3) - '@vitest/browser-playwright@4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7)': + '@vitest/browser-playwright@4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7)': dependencies: - '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) - '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) playwright: 1.60.0 tinyrainbow: 3.1.0 - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7)': + '@vitest/browser@4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7)': dependencies: '@blazediff/core': 1.9.1 - '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) '@vitest/utils': 4.1.7 magic-string: 0.30.21 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.1.0 - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) ws: 8.21.0 transitivePeerDependencies: - bufferutil @@ -18990,9 +19173,9 @@ snapshots: obug: 2.1.1 std-env: 4.1.0 tinyrainbow: 3.1.0 - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) optionalDependencies: - '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) '@vitest/expect@3.2.4': dependencies: @@ -19011,13 +19194,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))': dependencies: '@vitest/spy': 4.1.7 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) '@vitest/pretty-format@3.2.4': dependencies: @@ -19416,7 +19599,7 @@ snapshots: app-builder-bin@5.0.0-alpha.12: {} - app-builder-lib@26.11.1(patch_hash=61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f)(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1): + app-builder-lib@26.11.1(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1): dependencies: '@develar/schema-utils': 2.6.5 '@electron/asar': 3.4.1 @@ -21028,7 +21211,7 @@ snapshots: dmg-builder@26.11.1(electron-builder-squirrel-windows@26.11.1): dependencies: - app-builder-lib: 26.11.1(patch_hash=61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f)(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) + app-builder-lib: 26.11.1(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) builder-util: 26.11.1 fs-extra: 10.1.0 iconv-lite: 0.6.3 @@ -21206,7 +21389,7 @@ snapshots: electron-builder-squirrel-windows@26.11.1(dmg-builder@26.11.1): dependencies: - app-builder-lib: 26.11.1(patch_hash=61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f)(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) + app-builder-lib: 26.11.1(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) builder-util: 26.11.1 electron-winstaller: 5.4.0 transitivePeerDependencies: @@ -21215,7 +21398,7 @@ snapshots: electron-builder@26.11.1(electron-builder-squirrel-windows@26.11.1): dependencies: - app-builder-lib: 26.11.1(patch_hash=61c04213ed5259e902efe4df6d87517e2daaa2597f168028f5b3dc3df8ff0c8f)(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) + app-builder-lib: 26.11.1(dmg-builder@26.11.1)(electron-builder-squirrel-windows@26.11.1) builder-util: 26.11.1 builder-util-runtime: 9.6.1 chalk: 4.1.2 @@ -24365,7 +24548,7 @@ snapshots: transitivePeerDependencies: - debug - nx@22.7.2: + nx@22.7.4: dependencies: '@emnapi/core': 1.4.5 '@emnapi/runtime': 1.4.5 @@ -24474,20 +24657,20 @@ snapshots: wrap-ansi: 7.0.0 wrappy: 1.0.2 y18n: 5.0.8 - yaml: 2.8.4 + yaml: 2.9.0 yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 22.7.2 - '@nx/nx-darwin-x64': 22.7.2 - '@nx/nx-freebsd-x64': 22.7.2 - '@nx/nx-linux-arm-gnueabihf': 22.7.2 - '@nx/nx-linux-arm64-gnu': 22.7.2 - '@nx/nx-linux-arm64-musl': 22.7.2 - '@nx/nx-linux-x64-gnu': 22.7.2 - '@nx/nx-linux-x64-musl': 22.7.2 - '@nx/nx-win32-arm64-msvc': 22.7.2 - '@nx/nx-win32-x64-msvc': 22.7.2 + '@nx/nx-darwin-arm64': 22.7.4 + '@nx/nx-darwin-x64': 22.7.4 + '@nx/nx-freebsd-x64': 22.7.4 + '@nx/nx-linux-arm-gnueabihf': 22.7.4 + '@nx/nx-linux-arm64-gnu': 22.7.4 + '@nx/nx-linux-arm64-musl': 22.7.4 + '@nx/nx-linux-x64-gnu': 22.7.4 + '@nx/nx-linux-x64-musl': 22.7.4 + '@nx/nx-win32-arm64-msvc': 22.7.4 + '@nx/nx-win32-x64-msvc': 22.7.4 transitivePeerDependencies: - debug @@ -26551,14 +26734,14 @@ snapshots: '@repobuddy/test': 1.0.1 '@storybook/addon-vitest': 10.4.0(@vitest/browser-playwright@4.1.7)(@vitest/browser@4.1.7)(@vitest/runner@4.1.7)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(storybook@10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(vitest@4.1.7) '@storybook/icons': 2.0.2(react-dom@19.2.6(react@19.2.6))(react@19.2.6) - '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) glob: 13.0.6 is-ci: 4.1.0 memoize: 11.0.0 pathe: 2.0.3 storybook: 10.4.0(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@testing-library/dom@10.4.1)(@types/react@19.2.14)(prettier@3.8.3)(react-dom@19.2.6(react@19.2.6))(react@19.2.6) type-plus: 8.0.0-beta.8(typescript@6.0.3) - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) vitest-plugin-vis: 5.1.1(@vitest/browser-playwright@4.1.7)(@vitest/browser@4.1.7)(babel-plugin-macros@3.1.0)(typescript@6.0.3)(vitest@4.1.7) transitivePeerDependencies: - '@vitest/browser-playwright' @@ -27177,14 +27360,6 @@ snapshots: tslib@2.8.1: {} - tsx@4.21.0: - dependencies: - esbuild: 0.27.4 - get-tsconfig: 4.14.0 - optionalDependencies: - fsevents: 2.3.3 - optional: true - tsyringe@4.10.0: dependencies: tslib: 1.14.1 @@ -27379,7 +27554,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-dts@1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)): + unplugin-dts@1.0.1(@microsoft/api-extractor@7.58.7(@types/node@18.19.130))(esbuild@0.27.4)(rolldown@1.0.1)(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(typescript@6.0.3)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(webpack@5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15)): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8)) '@volar/typescript': 2.4.28 @@ -27395,7 +27570,7 @@ snapshots: esbuild: 0.27.4 rolldown: 1.0.1 rollup: 4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8) - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) webpack: 5.107.1(esbuild@0.27.4)(lightningcss@1.32.0)(postcss@8.5.15) transitivePeerDependencies: - supports-color @@ -27553,11 +27728,11 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-plugin-node-polyfills@0.28.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)): + vite-plugin-node-polyfills@0.28.0(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.60.1(patch_hash=603340e49399c6044e41a3998891667387d5ec1acbd38d4e5862f2ba3ef58de8)) node-stdlib-browser: 1.3.1 - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) transitivePeerDependencies: - rollup @@ -27573,7 +27748,7 @@ snapshots: sugarss: 5.0.1(postcss@8.5.15) terser: 5.48.0 - vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -27587,7 +27762,6 @@ snapshots: jiti: 2.7.0 sugarss: 5.0.1(postcss@8.5.15) terser: 5.48.0 - tsx: 4.21.0 yaml: 2.8.4 vitepress-plugin-mermaid@2.0.17(mermaid@11.15.0)(vitepress@1.6.4(@algolia/client-search@5.50.0)(@types/node@18.19.130)(@types/react@19.2.14)(axios@1.15.2)(jwt-decode@4.0.0)(lightningcss@1.32.0)(postcss@8.5.15)(qrcode@1.5.4)(search-insights@2.17.3)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(typescript@6.0.3)): @@ -27648,7 +27822,7 @@ snapshots: vitest-plugin-vis@5.1.1(@vitest/browser-playwright@4.1.7)(@vitest/browser@4.1.7)(babel-plugin-macros@3.1.0)(typescript@6.0.3)(vitest@4.1.7): dependencies: - '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) dedent: 1.7.2(babel-plugin-macros@3.1.0) glob: 13.0.6 is-ci: 4.1.0 @@ -27659,21 +27833,21 @@ snapshots: rimraf: 6.1.3 ssim.js: 3.5.0 type-plus: 8.0.0-beta.8(typescript@6.0.3) - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) optionalDependencies: - '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) transitivePeerDependencies: - babel-plugin-macros - typescript vitest-sonar-reporter@3.0.0(vitest@4.1.7): dependencies: - vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) - vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)): + vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@18.19.130)(@vitest/browser-playwright@4.1.7)(@vitest/coverage-v8@4.1.7)(jsdom@26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f))(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)): dependencies: '@vitest/expect': 4.1.7 - '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4)) + '@vitest/mocker': 4.1.7(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4)) '@vitest/pretty-format': 4.1.7 '@vitest/runner': 4.1.7 '@vitest/snapshot': 4.1.7 @@ -27690,12 +27864,12 @@ snapshots: tinyexec: 1.2.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 18.19.130 - '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(tsx@4.21.0)(yaml@2.8.4))(vitest@4.1.7) + '@vitest/browser-playwright': 4.1.7(playwright@1.60.0)(vite@8.0.13(@types/node@18.19.130)(esbuild@0.27.4)(jiti@2.7.0)(sugarss@5.0.1(postcss@8.5.15))(terser@5.48.0)(yaml@2.8.4))(vitest@4.1.7) '@vitest/coverage-v8': 4.1.7(@vitest/browser@4.1.7)(vitest@4.1.7) jsdom: 26.1.0(patch_hash=040623e87b1c8b676c2a705513c0276c0704dd1b23fc3a1bb77cde8128b64b5f) transitivePeerDependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 558954bb56..b80675a088 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,9 +1,10 @@ -nodeLinker: hoisted linkWorkspacePackages: true +cleanupUnusedCatalogs: true +ignorePatchFailures: false packages: - "apps/*" - "packages/*" -cleanupUnusedCatalogs: true + catalog: # typescript typescript: 6.0.3 @@ -27,6 +28,7 @@ catalog: vitest: 4.1.7 vitest-sonar-reporter: 3.0.0 "@vitest/coverage-v8": 4.1.7 + packageExtensions: fdir: dependencies: @@ -36,4 +38,80 @@ packageExtensions: peerDependencies: # Silence warning vite: "^8.0.0" -ignorePatchFailures: false + +allowBuilds: + matrix-js-sdk: true + # Installs the CLI, which we do not need + "@sentry/cli": false + # Installs nx cloud client, which we do not need + nx: false + # Runs `vp config` to set up git hooks, which we do not need + unrs-resolver: false + # Prints funding banner + core-js: false + # Builds native bindings, which we do not need + cpu-features: false + # Copies the 7z binaries which match our arch, though somehow works without it + electron-winstaller: false + # Installs esbuild binary, though somehow works without it + esbuild: false + # Performs additional version checks, which we do not need + protobufjs: false + # Builds optional crypto binding, which we do not need + ssh2: false + +patchedDependencies: + "@vector-im/matrix-wysiwyg": patches/@vector-im__matrix-wysiwyg.patch + react-blurhash: patches/react-blurhash.patch + linkify-html: patches/linkify-html.patch + "@matrix-org/react-sdk-module-api": patches/@matrix-org__react-sdk-module-api.patch + "@types/auto-launch": patches/@types__auto-launch.patch + "@types/mdx": patches/@types__mdx.patch + await-lock: patches/await-lock.patch + jest-fixed-jsdom: patches/jest-fixed-jsdom.patch + jsdom: patches/jsdom.patch + rollup: patches/rollup.patch + postcss-mixins: patches/postcss-mixins.patch + knip: patches/knip.patch + plist: patches/plist.patch + "@dnd-kit/abstract": patches/@dnd-kit__abstract.patch + +peerDependencyRules: + allowedVersions: + react: "19" + react-dom: "19" + eslint: "8" + +allowedDeprecatedVersions: + eslint: "8" + react-beautiful-dnd: "13" + +overrides: + pretty-format@30>react-is: 19.2.5 + "@types/react": "catalog:" + "@types/react-dom": "catalog:" + oidc-client-ts: 3.5.0 + jwt-decode: 4.0.0 + caniuse-lite: 1.0.30001793 + markdown-it: 14.1.1 + matrix-widget-api: "^1.17.0" + "@types/node": 18.19.130 + config-file-ts: 0.2.8-rc1 + node-abi: 4.31.0 + "@types/pg-pool": 2.0.7 + axios@>1.0.0 <=1.15.0: 1.15.2 + esbuild@<=0.24.2: 0.27.4 + esbuild@~0.27.0: 0.27.4 + follow-redirects@1.15.11: 1.16.0 + brace-expansion@>=5 <=5.0.5: 5.0.6 + ip-address@>=10 <10.1.1: 10.1.1 + uuid@>=11 <11.1.1: 11.1.1 + yaml@>=2 <2.8.3: 2.8.4 + protobufjs@7 <7.5.8: 7.6.1 + "@protobufjs/utf8@1 <1.1.1": 1.1.1 + +minimumReleaseAgeExclude: + - "matrix-js-sdk" + - "@matrix-org/*" + - "@vector-im/*" + - "@element-hq/*" diff --git a/scripts/pnpm-link.ts b/scripts/pnpm-link.ts index e3f753704b..56e1827482 100755 --- a/scripts/pnpm-link.ts +++ b/scripts/pnpm-link.ts @@ -28,8 +28,9 @@ try { const configFile = await fs.readFile(configPath, "utf-8"); for (const line of configFile.trim().split("\n")) { if (!line || line.startsWith("#")) continue; - const [dependency, path] = line.split("="); - const dependencyPath = join(nodeModulesPath, dependency); + const [dependency, path, dir] = line.split("="); + const nodeModules = dir ? join(dir, "node_modules") : nodeModulesPath; + const dependencyPath = join(nodeModules, dependency); try { try {