Readers/Web/Dev notes/Storybook

Storybook was originally implemented with PagePreviews, and then later extended to Vector with some component stories and skin stories that mocked both the legacy and modern Vector skin. We continued to use it for early Desktop Improvements features like user links and sticky header. However, it was not used for later features, and the existing cases quickly became out of date or broken.

Original Slack discussion

Recommendations

 * Remove Storybook usage in Skins in favor of a combination of Pixel and Jest
 * Continue using Storybook for PagePreviews
 * Still useful in PagePreviews because it's the content + component that's tested, and because the rendering logic in each story is encapsulated inside Popups itself

Current Challenges

 * Storybook not suited for skin level coverage
 * Skins have an immense amount of complexity with extensions (ULS, Echo), gadgets, user modes (anon vs logged in), and feature flags that we need to account for. Skins are too context dependent and have too many integrations.
 * Storybook works better in situations that are capable of being client-side rendered, where you don't have to tell storybook how to render the story (e.g. needing to call   and having to import the necessary styles).
 * Time consuming to update
 * Not updating template data and rendering is the most frequent reason why Storybook became outdated/broken. This is also duplicative effort with Jest, which is at least is integrated into our CI.
 * Storybook works better in situations that are capable of being client-side rendered, where you don't have to tell storybook how to render the story (e.g. needing to call   and having to import the necessary styles).