From 2ee6933cfd4df377a00b0a7bc67b23ada6141bf3 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Thu, 12 Feb 2026 15:59:01 +0000 Subject: [PATCH] Fix shared-components storybook:update script (#32486) It was failing due to being unable to access pnpm-workspace.yaml so change the docker context to the root of the monorepo Also disable pnpm-link script in the docker env and node-linking for storybook tests Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- packages/shared-components/package.json | 2 +- .../scripts/storybook-screenshot-update.sh | 4 ++-- pnpm-lock.yaml | 22 +++++++++---------- pnpm-workspace.yaml | 2 +- scripts/pnpm-link.ts | 2 ++ 5 files changed, 17 insertions(+), 15 deletions(-) diff --git a/packages/shared-components/package.json b/packages/shared-components/package.json index 5969466966..5c097f1a88 100644 --- a/packages/shared-components/package.json +++ b/packages/shared-components/package.json @@ -40,7 +40,7 @@ "i18n:lint": "matrix-i18n-lint && prettier --log-level=silent --write src/i18n/strings/ --ignore-path /dev/null", "test:unit": "vitest --project=unit", "test:storybook": "pnpm build:doc && vitest --project=storybook", - "test:storybook:update": "playwright-screenshots --entrypoint /work/scripts/storybook-screenshot-update.sh --with-node-modules", + "test:storybook:update": "cd ../.. && playwright-screenshots --entrypoint /work/packages/shared-components/scripts/storybook-screenshot-update.sh --with-node-modules --no-link-modules", "build": "vite build", "prepack": "pnpm run build", "storybook": "storybook dev -p 6007", diff --git a/packages/shared-components/scripts/storybook-screenshot-update.sh b/packages/shared-components/scripts/storybook-screenshot-update.sh index 3cac9f5d07..549ac18d69 100755 --- a/packages/shared-components/scripts/storybook-screenshot-update.sh +++ b/packages/shared-components/scripts/storybook-screenshot-update.sh @@ -13,7 +13,7 @@ set -e # because we have which must be built for the right architecture (and some environments use a VM # to run docker containers, meaning that things inside a container use a different architecture than # those on the host). -pnpm install +pnpm install --frozen-lockfile # Now run the screenshot update, we set CI=1 to inform vis to update the real baselines -CI=1 /work/node_modules/.bin/vitest --run --update --project=storybook "$@" +CI=1 pnpm --dir packages/shared-components test:storybook --run --update diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aad2581c52..1b47cde5f3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,8 +10,8 @@ catalogs: specifier: 1.9.0 version: 1.9.0 '@element-hq/element-web-playwright-common': - specifier: 2.2.6 - version: 2.2.6 + specifier: 2.2.7 + version: 2.2.7 '@playwright/test': specifier: 1.58.1 version: 1.58.1 @@ -222,7 +222,7 @@ importers: version: 1.0.3 matrix-js-sdk: specifier: github:matrix-org/matrix-js-sdk#develop - version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/872ec6755e7f3e80b03d815ef13ac42b37dae818 + version: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/327d2fa7c8dca5c881969ca0a4ce279c36389750 matrix-widget-api: specifier: ^1.16.1 version: 1.17.0 @@ -361,7 +361,7 @@ importers: version: 0.16.3 '@element-hq/element-web-playwright-common': specifier: 'catalog:' - version: 2.2.6(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1) + version: 2.2.7(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1) '@fetch-mock/jest': specifier: ^0.2.20 version: 0.2.20(@jest/globals@30.2.0)(jest@30.2.0(@types/node@22.19.8)(babel-plugin-macros@3.1.0)) @@ -746,7 +746,7 @@ importers: devDependencies: '@element-hq/element-web-playwright-common': specifier: 'catalog:' - version: 2.2.6(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1) + version: 2.2.7(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1) '@fetch-mock/vitest': specifier: ^0.2.18 version: 0.2.18(vitest@4.0.18) @@ -1996,8 +1996,8 @@ packages: matrix-web-i18n: optional: true - '@element-hq/element-web-playwright-common@2.2.6': - resolution: {integrity: sha512-Rd+bjnV1ZX1r6qWB5ebcluBepqgUWlYvxaqaaSOnMdGoXkkA6j0i4ctQDN7frP58p5/njo4xejPfd2H3Runfyw==} + '@element-hq/element-web-playwright-common@2.2.7': + resolution: {integrity: sha512-YMvhIHKqjwlaHe6bo7wCIer7nIc2cRqXAYjKVrGmHiKSeBP+E+qw5LuOSM20u7+0SHyRnC/IR3/Up63O81Qhyw==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: @@ -7676,8 +7676,8 @@ packages: matrix-events-sdk@0.0.1: resolution: {integrity: sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==} - matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/872ec6755e7f3e80b03d815ef13ac42b37dae818: - resolution: {tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/872ec6755e7f3e80b03d815ef13ac42b37dae818} + matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/327d2fa7c8dca5c881969ca0a4ce279c36389750: + resolution: {tarball: https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/327d2fa7c8dca5c881969ca0a4ce279c36389750} version: 40.2.0 engines: {node: '>=22.0.0'} @@ -11831,7 +11831,7 @@ snapshots: '@matrix-org/react-sdk-module-api': 2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4) matrix-web-i18n: 3.6.0 - '@element-hq/element-web-playwright-common@2.2.6(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1)': + '@element-hq/element-web-playwright-common@2.2.7(@element-hq/element-web-module-api@1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4))(@playwright/test@1.58.1)(playwright-core@1.58.1)': dependencies: '@axe-core/playwright': 4.11.1(playwright-core@1.58.1) '@element-hq/element-web-module-api': 1.9.0(@matrix-org/react-sdk-module-api@2.5.0(patch_hash=016146c9cc96e6363609d2b2ac0896ccef567882eb1d73b75a77b8a30929de96)(react@19.2.4))(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(matrix-web-i18n@3.6.0)(react@19.2.4) @@ -18434,7 +18434,7 @@ snapshots: matrix-events-sdk@0.0.1: {} - matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/872ec6755e7f3e80b03d815ef13ac42b37dae818: + matrix-js-sdk@https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/327d2fa7c8dca5c881969ca0a4ce279c36389750: dependencies: '@babel/runtime': 7.28.6 '@matrix-org/matrix-sdk-crypto-wasm': 17.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d82b8e92ba..af8453adef 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -14,7 +14,7 @@ catalog: "@types/react": ^19.2.10 "@types/react-dom": ^19.2.3 # playwright - "@element-hq/element-web-playwright-common": 2.2.6 + "@element-hq/element-web-playwright-common": 2.2.7 "@playwright/test": 1.58.1 # Module API "@element-hq/element-web-module-api": 1.9.0 diff --git a/scripts/pnpm-link.ts b/scripts/pnpm-link.ts index 6797b11083..5aac78f2cb 100755 --- a/scripts/pnpm-link.ts +++ b/scripts/pnpm-link.ts @@ -23,6 +23,8 @@ const configPath = join(__dirname, "..", ".link-config"); const nodeModulesPath = join(__dirname, "..", "node_modules"); try { + if (process.env.PLAYWRIGHT_COMMON_DOCKER) process.exit(0); // Skip in docker env + const configFile = await fs.readFile(configPath, "utf-8"); for (const line of configFile.trim().split("\n")) { const [dependency, path] = line.split("=");