From 66b2d8bb9946a11d6852d9cdc34661a4fafece29 Mon Sep 17 00:00:00 2001
From: Sergei Maertens <sergei@maykinmedia.nl>
Date: Mon, 2 Dec 2024 21:27:50 +0100
Subject: [PATCH] :fire: [#724] Remove viewport support for
 @storybook/test-runner

The preVisit hook is flaky, especially with local development
it's bad, but other people seem to be running into issues too
(see https://github.com/storybookjs/test-runner/issues/442\).

Let's see if this setup still has viewport support in Chromatic,
which is what we care about most for snapshotting.
---
 .storybook/test-runner.js | 27 ---------------------------
 package-lock.json         |  6 +++---
 2 files changed, 3 insertions(+), 30 deletions(-)
 delete mode 100644 .storybook/test-runner.js

diff --git a/.storybook/test-runner.js b/.storybook/test-runner.js
deleted file mode 100644
index 81f271a43..000000000
--- a/.storybook/test-runner.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const {getStoryContext} = require('@storybook/test-runner');
-const {MINIMAL_VIEWPORTS} = require('@storybook/addon-viewport');
-
-const DEFAULT_VIEWPORT_SIZE = {width: 1280, height: 720};
-
-module.exports = {
-  async preVisit(page, story) {
-    const context = await getStoryContext(page, story);
-    const viewportName = context.parameters?.viewport?.defaultViewport;
-    const viewportParameter = MINIMAL_VIEWPORTS[viewportName];
-
-    if (viewportParameter) {
-      const viewportSize = Object.entries(viewportParameter.styles).reduce(
-        (acc, [screen, size]) => ({
-          ...acc,
-          // make sure your viewport config in Storybook only uses numbers, not percentages
-          [screen]: parseInt(size),
-        }),
-        {}
-      );
-
-      page.setViewportSize(viewportSize);
-    } else {
-      page.setViewportSize(DEFAULT_VIEWPORT_SIZE);
-    }
-  },
-};
diff --git a/package-lock.json b/package-lock.json
index 825e8ce9c..b8dd7253c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6360,9 +6360,9 @@
       }
     },
     "node_modules/@storybook/test-runner": {
-      "version": "0.20.0",
-      "resolved": "https://registry.npmjs.org/@storybook/test-runner/-/test-runner-0.20.0.tgz",
-      "integrity": "sha512-0cSNW61/XYg8jtcRlk8qc5fJa8qKSq7tvSpvikwS7zcXkKgfu6fbGX56ErxnvidmyCyXjMe/j0UHzLACzc2nTg==",
+      "version": "0.20.1",
+      "resolved": "https://registry.npmjs.org/@storybook/test-runner/-/test-runner-0.20.1.tgz",
+      "integrity": "sha512-3WU/th/uncIR6vpQDK9hKjiZjmczsluoLbgkRV7ufxY9IgHCGcbIjvT5EPS+XZIaOrNGjaPsyB5cE1okKn9iSA==",
       "dev": true,
       "dependencies": {
         "@babel/core": "^7.22.5",