Addon Vitest: Add experimental vitest integration#28768
Merged
Conversation
UI: Replace `experimental_SIDEBAR_BOTTOM` API with a status filter UI
kasperpeulen
commented
Aug 14, 2024
Contributor
Author
kasperpeulen
left a comment
There was a problem hiding this comment.
Some comments
kasperpeulen
commented
Aug 14, 2024
yannbf
approved these changes
Aug 14, 2024
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #28388
What I did
This is the umbrella PR that will cover most of the work related to the Vitest integration project.
It includes a new Storybook addon called
@storybook/experimental-addon-vitest, which currenly only includes a Vitest plugin. Later, it will include more functionality.Additionally:
Core: Enable RSC support when parameters.react is set to true #28865
Now RSC can be enabled via
parameters.react.rsc: true, as the flag is always on by default.UI: Replace experimental_SIDEBAR_BOTTOM API with a status filter UI #28693
The bottom sidebar filter, which used to live in VTA, is now part of Storybook core. There should be no changes when using VTA with Storybook.
UI: Update sidebar status indicators and tooltips #28739
The status UI had a revamp with improved icons and styling.
Portable stories: Use internal Storybook renderers mechanism #28766
Portable stories now does not depend on testing-library.
Checklist for Contributors
Testing
This is extensively tested in unit tests and sandbox stories tests. If you want to test it yourself, there are a couple ways:
1 - Create any vite-based sandbox. It will already have the plugin set-up and you can just run
yarn vitestto run tests in.2 - On any vite-based Storybook, set up the addon via the
npx storybook@next add @storybook/experimental-addon-vitestcommand3 - On any vite-based Storybook, set up the addon by following the docs here https://web-git-8-3-pre-release-storybookjs.vercel.app/docs/8.3/writing-tests/test-runner-with-vitest from this PR: #28924
And run vitest to execute the tests. You can also test the VSCode/Jetbrains IDE integrations.
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal,ci:mergedorci:dailyGH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli/src/sandbox-templates.tsMake sure this PR contains one of the labels below:
Available labels
bug: Internal changes that fixes incorrect behavior.maintenance: User-facing maintenance tasks.dependencies: Upgrading (sometimes downgrading) dependencies.build: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup: Minor cleanup style change. Will not show up in release changelog.documentation: Documentation only changes. Will not show up in release changelog.feature request: Introducing a new feature.BREAKING CHANGE: Changes that break compatibility in some way with current major version.other: Changes that don't fit in the above categories.🦋 Canary release
This pull request has been released as version
0.0.0-pr-28768-sha-416cd00d. Try it out in a new sandbox by runningnpx storybook@0.0.0-pr-28768-sha-416cd00d sandboxor in an existing project withnpx storybook@0.0.0-pr-28768-sha-416cd00d upgrade.More information
0.0.0-pr-28768-sha-416cd00dvitest-integration416cd00d1723644713)To request a new release of this pull request, mention the
@storybookjs/coreteam.core team members can create a new canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=28768Greptile Summary
The pull request integrates Vitest into the Storybook codebase, introducing new events and components for enhanced filtering capabilities.
SET_FILTERevent to the events enum.SET_FILTERevent for dynamic story filtering.FilterTogglecomponent for the sidebar.bottomprop, simplifying the component structure.