Merge branch 'next' into norbert/sb-573-addon-actions

This commit is contained in:
Norbert de Langen 2022-09-02 12:20:21 +02:00
commit 606c00dff9
No known key found for this signature in database
GPG Key ID: FD0E78AF9A837762
128 changed files with 2006 additions and 1684 deletions

View File

@ -1,3 +1,21 @@
## 7.0.0-alpha.28 (September 2, 2022)
#### Features
- Vite: Automatically use vite.config.js [#19026](https://github.com/storybooks/storybook/pull/19026)
#### Bug Fixes
- CLI: Fix race condition in sb init [#19083](https://github.com/storybooks/storybook/pull/19083)
- Vite: Fix framework option checks, and SSv6 [#19062](https://github.com/storybooks/storybook/pull/19062)
- Core: Fix WebProjectAnnotations export in preview-web for back-compat [#19048](https://github.com/storybooks/storybook/pull/19048)
#### Maintenance
- Update to new TS reference format (?) [#19072](https://github.com/storybooks/storybook/pull/19072)
- Build: Conditionally force vite rebuilds in sandbox [#19063](https://github.com/storybooks/storybook/pull/19063)
- Build: Fix CRA bench [#19066](https://github.com/storybooks/storybook/pull/19066)
## 7.0.0-alpha.27 (August 31, 2022)
#### Features

View File

@ -18,6 +18,7 @@
- [Docs modern inline rendering by default](#docs-modern-inline-rendering-by-default)
- [Babel mode v7 by default](#babel-mode-v7-by-default)
- [7.0 feature flags removed](#70-feature-flags-removed)
- [Vite builder uses vite config automatically](#vite-builder-uses-vite-config-automatically)
- [Removed docs.getContainer and getPage parameters](#removed-docsgetcontainer-and-getpage-parameters)
- [Icons API changed](#icons-api-changed)
- [Docs Changes](#docs-changes)
@ -430,10 +431,13 @@ In 7.0, frameworks also specify the builder to be used. For example, The current
- `@storybook/html-webpack5`
- `@storybook/preact-webpack5`
- `@storybook/react-webpack5`
- `@storybook/react-vite`
- `@storybook/server-webpack5`
- `@storybook/svelte-webpack5`
- `@storybook/svelte-vite`
- `@storybook/vue-webpack5`
- `@storybook/vue3-webpack5`
- `@storybook/vue3-vite`
- `@storybook/web-components-webpack5`
We will be expanding this list over the course of the 7.0 development cycle. More info on the rationale here: [Frameworks RFC](https://www.notion.so/chromatic-ui/Frameworks-RFC-89f8aafe3f0941ceb4c24683859ed65c).
@ -514,6 +518,12 @@ In 7.0 we've removed the following feature flags:
| `emotionAlias` | This flag is no longer needed and should be deleted. |
| `breakingChangesV7` | This flag is no longer needed and should be deleted. |
#### Vite builder uses vite config automatically
When using a [Vite-based framework](#framework-field-mandatory), Storybook will automatically use your `vite.config.(ctm)js` config file starting in 7.0.
Some settings will be overridden by storybook so that it can function properly, and the merged settings can be modified using `viteFinal` in `.storybook/main.js` (see the [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
If you were using `viteFinal` in 6.5 to simply merge in your project's standard vite config, you can now remove it.
#### Removed docs.getContainer and getPage parameters
It is no longer possible to set `parameters.docs.getContainer()` and `getPage()`. Instead use `parameters.docs.container` or `parameters.docs.page` directly.

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-a11y",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Test component compliance with web accessibility standards",
"keywords": [
"a11y",
@ -62,15 +62,15 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"axe-core": "^4.2.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
@ -105,7 +105,7 @@
"./src/preview.tsx"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Accessibility",
"icon": "https://user-images.githubusercontent.com/263385/101991665-47042f80-3c7c-11eb-8f00-64b5a18f498a.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-actions",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Get UI feedback when an action is performed on an interactive element",
"keywords": [
"storybook",
@ -35,13 +35,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"dequal": "^2.0.2",
"global": "^4.4.0",
@ -73,7 +73,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Actions",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-backgrounds",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Switch backgrounds to view components in different settings",
"keywords": [
"addon",
@ -62,13 +62,13 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
@ -100,7 +100,7 @@
"./src/preview.tsx"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Backgrounds",
"icon": "https://user-images.githubusercontent.com/263385/101991667-479cc600-3c7c-11eb-96d3-410e936252e7.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-controls",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Interact with component inputs dynamically in the Storybook UI",
"keywords": [
"addon",
@ -57,16 +57,16 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/blocks": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/blocks": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"lodash": "^4.17.21",
"ts-dedent": "^2.0.0"
@ -93,7 +93,7 @@
],
"platform": "browser"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Controls",
"icon": "https://user-images.githubusercontent.com/263385/101991669-479cc600-3c7c-11eb-93d9-38b67e8371f2.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-docs",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Document component usage and properties in Markdown",
"keywords": [
"addon",
@ -53,22 +53,22 @@
"@babel/preset-env": "^7.12.11",
"@jest/transform": "^26.6.2",
"@mdx-js/react": "^1.6.22",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/blocks": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/blocks": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/csf-tools": "7.0.0-alpha.27",
"@storybook/docs-tools": "7.0.0-alpha.27",
"@storybook/csf-tools": "7.0.0-alpha.28",
"@storybook/docs-tools": "7.0.0-alpha.28",
"@storybook/mdx1-csf": "0.0.5-canary.13.9ce928a.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/postinstall": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/postinstall": "7.0.0-alpha.28",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"babel-loader": "^8.2.5",
"core-js": "^3.8.2",
"dequal": "^2.0.2",
@ -104,7 +104,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Docs",
"icon": "https://user-images.githubusercontent.com/263385/101991672-48355c80-3c7c-11eb-82d9-95fa12438f64.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-essentials",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Curated addons to bring out the best of Storybook",
"keywords": [
"addon",
@ -33,25 +33,25 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-measure": "7.0.0-alpha.27",
"@storybook/addon-outline": "7.0.0-alpha.27",
"@storybook/addon-toolbars": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-measure": "7.0.0-alpha.28",
"@storybook/addon-outline": "7.0.0-alpha.28",
"@storybook/addon-toolbars": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@storybook/vue": "7.0.0-alpha.27",
"@storybook/vue": "7.0.0-alpha.28",
"@types/jest": "^26.0.16",
"typescript": "~4.6.3"
},
@ -99,5 +99,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-highlight",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Highlight DOM nodes within your stories",
"keywords": [
"storybook-addons",
@ -37,8 +37,8 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0"
},
@ -49,7 +49,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"sbmodern": "dist/modern/index.js",
"storybook": {
"displayName": "Highlight",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-interactions",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Automate, test and debug user interactions",
"keywords": [
"storybook-addons",
@ -36,15 +36,15 @@
},
"dependencies": {
"@devtools-ds/object-inspector": "^1.1.2",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/instrumenter": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/instrumenter": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"jest-mock": "^27.0.6",
@ -72,7 +72,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Interactions",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-jest",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "React storybook addon that show component jest report",
"keywords": [
"addon",
@ -59,12 +59,12 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"react-sizeme": "^3.0.1",
@ -95,7 +95,7 @@
],
"platform": "browser"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Jest",
"icon": "https://pbs.twimg.com/profile_images/821713465245102080/mMtKIMax_400x400.jpg",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-links",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Link stories together to build demos and prototypes with your UI components",
"keywords": [
"addon",
@ -63,11 +63,11 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"prop-types": "^15.7.2",
@ -99,7 +99,7 @@
"./src/react/index.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Links",
"icon": "https://user-images.githubusercontent.com/263385/101991673-48355c80-3c7c-11eb-9b6e-b627c96a75f6.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-measure",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Inspect layouts by visualizing the box model",
"keywords": [
"storybook-addons",
@ -61,11 +61,11 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"core-js": "^3.8.2",
"global": "^4.4.0"
@ -95,7 +95,7 @@
"./src/preview.tsx"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Measure",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-outline",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Outline all elements with CSS to help with layout placement and alignment",
"keywords": [
"storybook-addons",
@ -64,11 +64,11 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
@ -99,7 +99,7 @@
"./src/preset/preview.tsx"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Outline",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storyshots",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Take a code snapshot of every story automatically with Jest",
"keywords": [
"addon",
@ -38,12 +38,12 @@
},
"dependencies": {
"@jest/transform": "^26.6.2",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/babel-plugin-require-context-hook": "1.0.1",
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/core-client": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-webpack": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.28",
"@storybook/core-client": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-webpack": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@types/glob": "^7.1.3",
"@types/jest": "^26.0.16",
@ -62,11 +62,11 @@
"@angular/core": "^13.3.6",
"@angular/platform-browser-dynamic": "^13.3.6",
"@emotion/jest": "^11.8.0",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/angular": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/vue": "7.0.0-alpha.27",
"@storybook/vue3": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/angular": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/vue": "7.0.0-alpha.28",
"@storybook/vue3": "7.0.0-alpha.28",
"babel-loader": "^8.2.5",
"enzyme": "^3.11.0",
"enzyme-to-json": "^3.6.1",
@ -144,7 +144,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Storyshots",
"icon": "https://user-images.githubusercontent.com/263385/101991676-48cdf300-3c7c-11eb-8aa1-944dab6ab29b.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storyshots-puppeteer",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Image snapshots addition to StoryShots based on puppeteer",
"keywords": [
"addon",
@ -35,7 +35,7 @@
"dependencies": {
"@axe-core/puppeteer": "^4.2.0",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@types/jest-image-snapshot": "^4.1.3",
"core-js": "^3.8.2",
"jest-image-snapshot": "^4.3.0"
@ -45,7 +45,7 @@
"puppeteer": "^2.0.0 || ^3.0.0"
},
"peerDependencies": {
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"puppeteer": ">=2.0.0"
},
"peerDependenciesMeta": {
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storysource",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "View a storys source code to see how it works and paste into your app",
"keywords": [
"addon",
@ -35,13 +35,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/router": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"estraverse": "^5.2.0",
"prop-types": "^15.7.2",
@ -67,7 +67,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Storysource",
"icon": "https://user-images.githubusercontent.com/263385/101991675-48cdf300-3c7c-11eb-9400-58de5ac6daa7.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-toolbars",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Create your own toolbar items that control story rendering",
"keywords": [
"addon",
@ -57,11 +57,11 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2"
},
"devDependencies": {
@ -89,7 +89,7 @@
],
"platform": "browser"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Toolbars",
"icon": "https://user-images.githubusercontent.com/263385/101991677-48cdf300-3c7c-11eb-93b4-19b0e3366959.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-viewport",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Build responsive components by adjusting Storybooks viewport size and orientation",
"keywords": [
"addon",
@ -59,12 +59,12 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
@ -96,7 +96,7 @@
"./src/preview.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738",
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3",
"storybook": {
"displayName": "Viewport",
"icon": "https://user-images.githubusercontent.com/263385/101991678-48cdf300-3c7c-11eb-9764-f8af293c1b28.png",

View File

@ -1,6 +1,6 @@
{
"name": "angular-cli",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"license": "MIT",
"workspaces": {
@ -44,22 +44,22 @@
"@angular/compiler-cli": "^13.3.6",
"@angular/elements": "^13.3.6",
"@compodoc/compodoc": "^1.1.18",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addon-jest": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/angular": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addon-jest": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/angular": "7.0.0-alpha.28",
"@storybook/babel-plugin-require-context-hook": "1.0.1",
"@storybook/jest": "^0.0.10",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/testing-library": "0.0.14-next.0",
"@types/core-js": "^2.5.4",
"@types/jest": "^26.0.16",
@ -72,7 +72,7 @@
"jest": "^26.6.3",
"jest-preset-angular": "^8.3.2",
"protractor": "~7.0.0",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"storybook-addon-angular-ivy": "^0.0.1",
"ts-jest": "^26.4.4",
"ts-node": "^10.4.0",

View File

@ -1,6 +1,6 @@
{
"name": "cra-kitchen-sink",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "react-scripts build",
@ -11,7 +11,7 @@
"test": "react-scripts test --env=jsdom"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.28",
"global": "^4.4.0",
"prop-types": "^15.7.2",
"react": "16.14.0",
@ -21,21 +21,21 @@
},
"devDependencies": {
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-jest": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-jest": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/preset-create-react-app": "^4.1.0",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"storybook": "7.0.0-alpha.28",
"webpack": "5"
},
"storybook": {

View File

@ -1,6 +1,6 @@
{
"name": "cra-ts-essentials",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "react-scripts build",
@ -23,8 +23,8 @@
]
},
"dependencies": {
"@storybook/components": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"@types/jest": "^26.0.16",
"@types/node": "^14.14.20 || ^16.0.0",
"@types/react": "^16.14.23",
@ -37,15 +37,15 @@
"typescript": "~4.6.3"
},
"devDependencies": {
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/preset-create-react-app": "^4.1.0",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/testing-library": "^0.0.9",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"ts-node": "^10.4.0",
"webpack": "5"
},

View File

@ -1,6 +1,6 @@
{
"name": "cra-ts-kitchen-sink",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "react-scripts build",
@ -34,23 +34,23 @@
"typescript": "~4.6.3"
},
"devDependencies": {
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/preset-create-react-app": "^4.1.0",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@types/enzyme": "^3.10.8",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.9.1",
"enzyme-to-json": "^3.6.1",
"fork-ts-checker-webpack-plugin": "^7.2.6",
"react-moment-proptypes": "^1.7.0",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"ts-node": "^10.4.0",
"webpack": "5"
},

View File

@ -8,10 +8,6 @@ const config: StorybookConfig = {
channelOptions: { allowFunction: false, maxDepth: 10 },
disableTelemetry: true,
},
typescript: {
check: true,
checkOptions: {},
},
features: {
postcss: false,
storyStoreV7: true,

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/example-doc-blocks",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build-storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true sb build",
@ -15,20 +15,20 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/cli": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/cli": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"@types/babel__preset-env": "^7",
"@types/react": "^16.14.23",
"@types/react-dom": "^16.9.14",
"cross-env": "^7.0.3",
"lodash": "^4.17.21",
"sb": "7.0.0-alpha.27",
"sb": "7.0.0-alpha.28",
"typescript": "~4.6.3",
"webpack": "5"
},

View File

@ -1,6 +1,6 @@
{
"name": "ember-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"--build-storybook": "yarn storybook-prebuild && storybook build",
@ -17,19 +17,19 @@
"devDependencies": {
"@babel/core": "^7.12.10",
"@ember/optional-features": "^2.0.0",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/ember": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/ember": "7.0.0-alpha.28",
"@storybook/ember-cli-storybook": "^0.2.1",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.28",
"babel-loader": "^8.2.5",
"broccoli-asset-rev": "^3.0.0",
"browserify-zlib": "^0.2.0",
@ -49,7 +49,7 @@
"loader.js": "^4.7.0",
"os-browserify": "^0.3.0",
"shx": "^0.3.2",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"stream-browserify": "^3.0.0",
"vm-browserify": "^1.1.2",
"webpack": "5",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/external-docs",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "next build",
@ -11,15 +11,15 @@
"storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true storybook dev -p 9011 --no-manager-cache -c .storybook"
},
"dependencies": {
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/blocks": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/blocks": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"formik": "^2.2.9",
"next": "^12.1.0",
"nextra": "^1.1.0",
@ -38,7 +38,7 @@
"cross-env": "^7.0.3",
"eslint": "8.7.0",
"eslint-config-next": "12.0.8",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"typescript": "~4.6.3",
"webpack": "5"
}

View File

@ -1,6 +1,6 @@
{
"name": "html-kitchen-sink",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"description": "",
"keywords": [],
@ -13,31 +13,31 @@
"storybook": "storybook dev -p 9006 --no-manager-cache"
},
"devDependencies": {
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-jest": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-jest": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-postcss": "^2.0.0",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/html": "7.0.0-alpha.27",
"@storybook/html-webpack5": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/client-api": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/html": "7.0.0-alpha.28",
"@storybook/html-webpack5": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"autoprefixer": "^10.0.1",
"eventemitter3": "^4.0.7",
"format-json": "^1.0.3",
"global": "^4.4.0",
"postcss": "^8.2.4",
"postcss-color-rebeccapurple": "^6.0.0",
"storybook": "7.0.0-alpha.27"
"storybook": "7.0.0-alpha.28"
},
"storybook": {
"chromatic": {

View File

@ -1,6 +1,6 @@
{
"name": "official-storybook",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build-storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true storybook build -c ./",
@ -13,33 +13,33 @@
"devDependencies": {
"@emotion/jest": "^11.8.0",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addon-jest": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storyshots-puppeteer": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-toolbars": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/cli": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addon-jest": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storyshots-puppeteer": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-toolbars": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/cli": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/design-system": "^5.4.7",
"@storybook/jest": "^0.0.10",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/router": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/testing-library": "0.0.14-next.0",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"@testing-library/dom": "^7.31.2",
"@testing-library/user-event": "^13.1.9",
"chromatic": "^6.0.2",
@ -55,7 +55,7 @@
"prop-types": "^15.7.2",
"react": "16.14.0",
"react-dom": "16.14.0",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"terser-webpack-plugin": "^5.3.1",
"uuid-browser": "^3.1.0",
"webpack": "5"

View File

@ -1,6 +1,6 @@
{
"name": "preact-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
@ -14,18 +14,18 @@
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/preact": "7.0.0-alpha.27",
"@storybook/preact-webpack5": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/preact": "7.0.0-alpha.28",
"@storybook/preact-webpack5": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"@types/prop-types": "^15.7.3",
"@types/react": "^17",
"@types/react-dom": "^17",
@ -38,7 +38,7 @@
"raw-loader": "^4.0.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"svg-url-loader": "^7.1.1",
"webpack": "5",
"webpack-dev-server": "^4.8.1"

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/example-react-ts",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build-storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true storybook build",
@ -17,15 +17,15 @@
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/cli": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/cli": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"@testing-library/dom": "^7.31.2",
"@testing-library/react": "12.1.2",
"@testing-library/user-event": "^13.1.9",
@ -34,7 +34,7 @@
"@types/react-dom": "^16.9.14",
"cross-env": "^7.0.3",
"lodash": "^4.17.21",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"typescript": "~4.6.3",
"webpack": "5"
}

View File

@ -1,6 +1,6 @@
{
"name": "server-kitchen-sink",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"description": "",
"keywords": [],
@ -14,15 +14,15 @@
"storybook": "SERVER_PORT=1137 storybook dev -p 9006 --quiet"
},
"devDependencies": {
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/server": "7.0.0-alpha.27",
"@storybook/server-webpack5": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/server": "7.0.0-alpha.28",
"@storybook/server-webpack5": "7.0.0-alpha.28",
"concurrently": "^5.3.0",
"cors": "^2.8.5",
"express": "~4.17.1",
@ -30,6 +30,6 @@
"nodemon": "^2.0.7",
"pug": "^3.0.0",
"safe-identifier": "^0.4.1",
"storybook": "7.0.0-alpha.27"
"storybook": "7.0.0-alpha.28"
}
}

View File

@ -1,20 +1,20 @@
{
"name": "standalone-preview",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"storybook": "cross-env STORYBOOK_DISPLAY_WARNING=true DISPLAY_WARNING=true storybook dev -p 9011 -c ../official-storybook --no-manager-cache --preview-url=http://localhost:1337/external-iframe.html",
"storybook-preview": "cross-env PREVIEW_URL=external-iframe.html parcel ./storybook.html --port 1337"
},
"devDependencies": {
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/cli": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/react-webpack5": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/cli": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@storybook/react-webpack5": "7.0.0-alpha.28",
"cross-env": "^7.0.3",
"parcel": "2.0.1",
"react": "16.14.0",
"react-dom": "16.14.0",
"storybook": "7.0.0-alpha.27"
"storybook": "7.0.0-alpha.28"
}
}

View File

@ -1,6 +1,6 @@
{
"name": "svelte-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build-storybook": "storybook build",
@ -10,24 +10,24 @@
"global": "^4.4.0"
},
"devDependencies": {
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/jest": "^0.0.10",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/svelte": "7.0.0-alpha.27",
"@storybook/svelte-webpack5": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/svelte": "7.0.0-alpha.28",
"@storybook/svelte-webpack5": "7.0.0-alpha.28",
"@storybook/testing-library": "0.0.14-next.0",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"svelte-jester": "^2.3.2",
"svelte-preprocess": "^4.10.6"
},

View File

@ -1,6 +1,6 @@
{
"name": "vue-3-cli-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "vue-cli-service build",
@ -14,21 +14,21 @@
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/jest": "^0.0.10",
"@storybook/testing-library": "0.0.14-next.0",
"@storybook/vue3": "7.0.0-alpha.27",
"@storybook/vue3-webpack5": "7.0.0-alpha.27",
"@storybook/vue3": "7.0.0-alpha.28",
"@storybook/vue3-webpack5": "7.0.0-alpha.28",
"@vue/cli-plugin-babel": "^5.0.4",
"@vue/cli-plugin-typescript": "^5.0.4",
"@vue/cli-service": "^5.0.4",
"@vue/compiler-sfc": "^3.2.36",
"babel-loader": "^8.2.5",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"typescript": "~4.6.3",
"vue-jest": "^5.0.0-alpha.8",
"vue-loader": "^16.0.0"

View File

@ -1,6 +1,6 @@
{
"name": "vue-cli-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "vue-cli-service build",
@ -15,16 +15,16 @@
"vue-property-decorator": "^9.1.2"
},
"devDependencies": {
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-essentials": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-essentials": "7.0.0-alpha.28",
"@storybook/preset-scss": "^1.0.3",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/vue": "7.0.0-alpha.27",
"@storybook/vue-webpack5": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/vue": "7.0.0-alpha.28",
"@storybook/vue-webpack5": "7.0.0-alpha.28",
"@vue/cli-plugin-babel": "^5.0.4",
"@vue/cli-plugin-typescript": "^5.0.4",
"@vue/cli-service": "^5.0.4",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"typescript": "~4.6.3",
"vue-template-compiler": "^2.6.14"
}

View File

@ -1,6 +1,6 @@
{
"name": "vue-example",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"scripts": {
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules",
@ -14,29 +14,29 @@
},
"devDependencies": {
"@babel/core": "^7.12.10",
"@storybook/addon-a11y": "7.0.0-alpha.27",
"@storybook/addon-actions": "7.0.0-alpha.27",
"@storybook/addon-backgrounds": "7.0.0-alpha.27",
"@storybook/addon-controls": "7.0.0-alpha.27",
"@storybook/addon-docs": "7.0.0-alpha.27",
"@storybook/addon-highlight": "7.0.0-alpha.27",
"@storybook/addon-interactions": "7.0.0-alpha.27",
"@storybook/addon-links": "7.0.0-alpha.27",
"@storybook/addon-storyshots": "7.0.0-alpha.27",
"@storybook/addon-storysource": "7.0.0-alpha.27",
"@storybook/addon-viewport": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/addon-a11y": "7.0.0-alpha.28",
"@storybook/addon-actions": "7.0.0-alpha.28",
"@storybook/addon-backgrounds": "7.0.0-alpha.28",
"@storybook/addon-controls": "7.0.0-alpha.28",
"@storybook/addon-docs": "7.0.0-alpha.28",
"@storybook/addon-highlight": "7.0.0-alpha.28",
"@storybook/addon-interactions": "7.0.0-alpha.28",
"@storybook/addon-links": "7.0.0-alpha.28",
"@storybook/addon-storyshots": "7.0.0-alpha.28",
"@storybook/addon-storysource": "7.0.0-alpha.28",
"@storybook/addon-viewport": "7.0.0-alpha.28",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/jest": "^0.0.10",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.28",
"@storybook/testing-library": "0.0.14-next.0",
"@storybook/vue": "7.0.0-alpha.27",
"@storybook/vue-webpack5": "7.0.0-alpha.27",
"@storybook/vue": "7.0.0-alpha.28",
"@storybook/vue-webpack5": "7.0.0-alpha.28",
"@vue/babel-preset-jsx": "^1.2.4",
"babel-loader": "^8.2.5",
"cross-env": "^7.0.3",
"file-loader": "^6.2.0",
"prop-types": "^15.7.2",
"storybook": "7.0.0-alpha.27",
"storybook": "7.0.0-alpha.28",
"svg-url-loader": "^7.1.1",
"vue-loader": "^15.9.6",
"vue-style-loader": "^4.1.3",

View File

@ -1,6 +1,6 @@
{
"name": "web-components-kitchen-sink",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"private": true,
"description": "",
"keywords": [],

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/angular",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.",
"keywords": [
"storybook",
@ -34,19 +34,19 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-client": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/core-server": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-client": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/core-server": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/docs-tools": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/docs-tools": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"@types/react": "^16.14.23",
"@types/react-dom": "^16.9.14",
@ -128,5 +128,5 @@
"access": "public"
},
"builders": "dist/types/builders/builders.json",
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/ember",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Ember: Develop Ember Component in isolation with Hot Reloading.",
"homepage": "https://github.com/storybookjs/storybook/tree/main/frameworks/ember",
"bugs": {
@ -30,11 +30,11 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-client": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/docs-tools": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-client": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/docs-tools": "7.0.0-alpha.28",
"@storybook/store": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"react": "16.14.0",
@ -58,5 +58,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/html-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/html": "7.0.0-alpha.27",
"@storybook/preset-html-webpack": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/html": "7.0.0-alpha.28",
"@storybook/preset-html-webpack": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
@ -79,5 +79,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/preact-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Preact: Develop Preact Component in isolation.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preact": "7.0.0-alpha.27",
"@storybook/preset-preact-webpack": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preact": "7.0.0-alpha.28",
"@storybook/preset-preact-webpack": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"react": "16.14.0",
@ -80,5 +80,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/react-vite",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for React and Vite: Develop React components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -53,8 +53,8 @@
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "^0.0.5",
"@rollup/pluginutils": "^4.2.0",
"@storybook/builder-vite": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/builder-vite": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@vitejs/plugin-react": "^2.0.1",
"ast-types": "^0.14.2",
"magic-string": "^0.26.1",
@ -81,5 +81,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/react-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for React: Develop React Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,9 +51,9 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/preset-react-webpack": "7.0.0-alpha.27",
"@storybook/react": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/preset-react-webpack": "7.0.0-alpha.28",
"@storybook/react": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2"
},
@ -87,5 +87,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/server-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preset-server-webpack": "7.0.0-alpha.27",
"@storybook/server": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preset-server-webpack": "7.0.0-alpha.28",
"@storybook/server": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"react": "16.14.0",
@ -75,5 +75,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-vite",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Svelte and Vite: Develop Svelte components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -52,9 +52,9 @@
},
"dependencies": {
"@storybook/addon-svelte-csf": "^2.0.0",
"@storybook/builder-vite": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/svelte": "7.0.0-alpha.27",
"@storybook/builder-vite": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/svelte": "7.0.0-alpha.28",
"@sveltejs/vite-plugin-svelte": "^1.0.0",
"magic-string": "^0.26.1",
"svelte": "^3.0.0",
@ -78,5 +78,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,7 @@
import path from 'path';
import fs from 'fs';
import type { StorybookConfig } from '@storybook/builder-vite';
import { svelteDocgen } from './plugins/svelte-docgen';
export const addons: StorybookConfig['addons'] = ['@storybook/svelte'];
@ -20,70 +21,7 @@ export function readPackageJson(): Record<string, any> | false {
export const viteFinal: StorybookConfig['viteFinal'] = async (config, { presets }) => {
const { plugins = [] } = config;
const svelteOptions = await presets.apply<Record<string, any>>('frameworkOptions');
try {
// eslint-disable-next-line global-require
const sveltePlugin = require('@sveltejs/vite-plugin-svelte').svelte;
// We need to create two separate svelte plugins, one for stories, and one for other svelte files
// because stories.svelte files cannot be hot-module-reloaded.
// Suggested in: https://github.com/sveltejs/vite-plugin-svelte/issues/321#issuecomment-1113205509
// First, create an array containing user exclude patterns, to combine with ours.
let userExclude = [];
if (Array.isArray(svelteOptions?.exclude)) {
userExclude = svelteOptions?.exclude;
} else if (svelteOptions?.exclude) {
userExclude = [svelteOptions?.exclude];
}
// These are the svelte stories we need to exclude from HMR
const storyPatterns = ['**/*.story.svelte', '**/*.stories.svelte'];
// Non-story svelte files
// Starting in 1.0.0-next.42, svelte.config.js is included by default.
// We disable that, but allow it to be overridden in svelteOptions
plugins.push(sveltePlugin({ ...svelteOptions, exclude: [...userExclude, ...storyPatterns] }));
// Svelte stories without HMR
const storySveltePlugin = sveltePlugin({
...svelteOptions,
exclude: userExclude,
include: storyPatterns,
hot: false,
});
plugins.push({
// Starting in 1.0.0-next.43, the plugin function returns an array of plugins. We only want the first one here.
...(Array.isArray(storySveltePlugin) ? storySveltePlugin[0] : storySveltePlugin),
name: 'vite-plugin-svelte-stories',
});
} catch (err) {
if ((err as NodeJS.ErrnoException).code === 'MODULE_NOT_FOUND') {
throw new Error(
'@storybook/builder-vite requires @sveltejs/vite-plugin-svelte to be installed' +
' when using @storybook/svelte.' +
' Please install it and start storybook again.'
);
}
throw err;
}
// eslint-disable-next-line global-require
const { loadSvelteConfig } = require('@sveltejs/vite-plugin-svelte');
const csfConfig = { ...loadSvelteConfig(), ...svelteOptions };
try {
// eslint-disable-next-line global-require
const csfPlugin = require('./plugins/csf-plugin').default;
plugins.push(csfPlugin(csfConfig));
} catch (err) {
// Not all projects use `.stories.svelte` for stories, and by default 6.5+ does not auto-install @storybook/addon-svelte-csf.
// If it's any other kind of error, re-throw.
if ((err as NodeJS.ErrnoException).code !== 'MODULE_NOT_FOUND') {
throw err;
}
}
const { svelteDocgen } = await import('./plugins/svelte-docgen');
plugins.push(svelteDocgen(config));
return {

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,10 +51,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preset-svelte-webpack": "7.0.0-alpha.27",
"@storybook/svelte": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preset-svelte-webpack": "7.0.0-alpha.28",
"@storybook/svelte": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"react": "16.14.0",
"react-dom": "16.14.0"
@ -82,5 +82,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preset-vue-webpack": "7.0.0-alpha.27",
"@storybook/vue": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preset-vue-webpack": "7.0.0-alpha.28",
"@storybook/vue": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"react": "16.14.0",
@ -86,5 +86,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-vite",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Vue3 and Vite: Develop Vue3 components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,9 +51,9 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-vite": "7.0.0-alpha.27",
"@storybook/core-server": "7.0.0-alpha.27",
"@storybook/vue3": "7.0.0-alpha.27",
"@storybook/builder-vite": "7.0.0-alpha.28",
"@storybook/core-server": "7.0.0-alpha.28",
"@storybook/vue3": "7.0.0-alpha.28",
"@vitejs/plugin-vue": "^3.0.3",
"magic-string": "^0.26.1",
"vite": "3",
@ -76,5 +76,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,7 @@
import path from 'path';
import fs from 'fs';
import type { StorybookConfig } from '@storybook/builder-vite';
import { vueDocgen } from './plugins/vue-docgen';
export const addons: StorybookConfig['addons'] = ['@storybook/vue3'];
@ -21,22 +22,7 @@ export function readPackageJson(): Record<string, any> | false {
export const viteFinal: StorybookConfig['viteFinal'] = async (config, { presets }) => {
const { plugins = [] } = config;
try {
// eslint-disable-next-line global-require
const vuePlugin = require('@vitejs/plugin-vue');
plugins.push(vuePlugin());
const { vueDocgen } = await import('./plugins/vue-docgen');
plugins.push(vueDocgen());
} catch (err) {
if ((err as NodeJS.ErrnoException).code === 'MODULE_NOT_FOUND') {
throw new Error(
'@storybook/builder-vite requires @vitejs/plugin-vue to be installed ' +
'when using @storybook/vue or @storybook/vue3.' +
' Please install it and start storybook again.'
);
}
throw err;
}
plugins.push(vueDocgen());
const updated = {
...config,

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preset-vue3-webpack": "7.0.0-alpha.27",
"@storybook/vue3": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preset-vue3-webpack": "7.0.0-alpha.28",
"@storybook/vue3": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"react": "16.14.0",
@ -83,5 +83,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/web-components-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook for web-components: View web components snippets in isolation with Hot Reloading.",
"keywords": [
"lit-html",
@ -53,10 +53,10 @@
},
"dependencies": {
"@babel/preset-env": "^7.12.11",
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/preset-web-components-webpack": "7.0.0-alpha.27",
"@storybook/web-components": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/preset-web-components-webpack": "7.0.0-alpha.28",
"@storybook/web-components": "7.0.0-alpha.28",
"@types/node": "^14.14.20 || ^16.0.0",
"core-js": "^3.8.2",
"react": "16.14.0",
@ -82,5 +82,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -2,5 +2,5 @@
"npmClient": "yarn",
"useWorkspaces": true,
"registry": "https://registry.npmjs.org",
"version": "7.0.0-alpha.27"
"version": "7.0.0-alpha.28"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addons",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook addons store",
"keywords": [
"storybook"
@ -34,13 +34,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/api": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"@types/webpack-env": "^1.16.4",
"core-js": "^3.8.2",
"global": "^4.4.0"
@ -52,5 +52,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/api",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Core Storybook API & Context",
"keywords": [
"storybook"
@ -32,13 +32,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"dequal": "^2.0.2",
"global": "^4.4.0",
@ -65,5 +65,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -519,6 +519,21 @@ export const transformStoryIndexToStoriesHash = (
.reduce(addItem, orphanHash);
};
export const addPreparedStories = (newHash: StoriesHash, oldHash?: StoriesHash) => {
if (!oldHash) return newHash;
return Object.fromEntries(
Object.entries(newHash).map(([id, newEntry]) => {
const oldEntry = oldHash[id];
if (newEntry.type === 'story' && oldEntry?.type === 'story' && oldEntry.prepared) {
return [id, { ...oldEntry, ...newEntry, prepared: true }];
}
return [id, newEntry];
})
);
};
export const getComponentLookupList = memoize(1)((hash: StoriesHash) => {
return Object.entries(hash).reduce((acc, i) => {
const value = i[1];

View File

@ -25,6 +25,7 @@ import {
getStoriesLookupList,
HashEntry,
LeafEntry,
addPreparedStories,
} from '../lib/stories';
import type {
@ -351,13 +352,16 @@ export const init: ModuleFn<SubAPI, SubState, true> = ({
}
},
setStoryList: async (storyIndex: StoryIndex) => {
const hash = transformStoryIndexToStoriesHash(storyIndex, {
const newHash = transformStoryIndexToStoriesHash(storyIndex, {
provider,
docsOptions,
});
// Now we need to patch in the existing prepared stories
const oldHash = store.getState().storiesHash;
await store.setState({
storiesHash: hash,
storiesHash: addPreparedStories(newHash, oldHash),
storiesConfigured: true,
storiesFailed: null,
});

View File

@ -1,4 +1,6 @@
/// <reference types="@types/jest" />;
// Need to import jest as mockJest for annoying jest reasons. Is there a better way?
import { jest, jest as mockJest, it, describe, expect, beforeEach } from '@jest/globals';
import {
STORY_ARGS_UPDATED,
@ -21,17 +23,17 @@ import { StoryEntry, SetStoriesStoryData, SetStoriesStory, StoryIndex } from '..
import type Store from '../store';
import { ModuleArgs } from '..';
const mockStories: jest.MockedFunction<() => StoryIndex['entries']> = jest.fn();
const mockStories = jest.fn<StoryIndex['entries'], []>();
jest.mock('../lib/events');
jest.mock('global', () => ({
...(jest.requireActual('global') as Record<string, any>),
fetch: jest.fn(() => ({ json: () => ({ v: 4, entries: mockStories() }) })),
...(mockJest.requireActual('global') as Record<string, any>),
fetch: mockJest.fn(() => ({ json: () => ({ v: 4, entries: mockStories() }) })),
FEATURES: { storyStoreV7: true },
CONFIG_TYPE: 'DEVELOPMENT',
}));
const getEventMetadataMock = getEventMetadata as jest.MockedFunction<typeof getEventMetadata>;
const getEventMetadataMock = getEventMetadata as ReturnType<typeof jest.fn>;
const mockIndex = {
'component-a--story-1': {
@ -58,7 +60,7 @@ function createMockStore(initialState = {}) {
let state = initialState;
return {
getState: jest.fn(() => state),
setState: jest.fn((s) => {
setState: jest.fn((s: typeof state) => {
state = { ...state, ...s };
return Promise.resolve(state);
}),
@ -1195,6 +1197,47 @@ describe('stories API', () => {
expect(Object.keys(storedStoriesHash)).toEqual(['component-a', 'component-a--story-1']);
});
it('retains prepared-ness of stories', async () => {
const navigate = jest.fn();
const store = createMockStore();
const fullAPI = Object.assign(new EventEmitter(), {
setStories: jest.fn(),
setOptions: jest.fn(),
});
const { api, init } = initStories({ store, navigate, provider, fullAPI } as any);
Object.assign(fullAPI, api);
global.fetch.mockClear();
await init();
expect(global.fetch).toHaveBeenCalledTimes(1);
fullAPI.emit(STORY_PREPARED, {
id: 'component-a--story-1',
parameters: { a: 'b' },
args: { c: 'd' },
});
// Let the promise/await chain resolve
await new Promise((r) => setTimeout(r, 0));
expect(store.getState().storiesHash['component-a--story-1'] as StoryEntry).toMatchObject({
prepared: true,
parameters: { a: 'b' },
args: { c: 'd' },
});
global.fetch.mockClear();
provider.serverChannel.emit(STORY_INDEX_INVALIDATED);
expect(global.fetch).toHaveBeenCalledTimes(1);
// Let the promise/await chain resolve
await new Promise((r) => setTimeout(r, 0));
expect(store.getState().storiesHash['component-a--story-1'] as StoryEntry).toMatchObject({
prepared: true,
parameters: { a: 'b' },
args: { c: 'd' },
});
});
it('handles docs entries', async () => {
mockStories.mockReset().mockReturnValue({
'component-a--page': {

View File

@ -1 +1 @@
export const version = '7.0.0-alpha.27';
export const version = '7.0.0-alpha.28';

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/blocks",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook Doc Blocks",
"keywords": [
"storybook"
@ -41,16 +41,16 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/api": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/docs-tools": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/docs-tools": "7.0.0-alpha.28",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"color-convert": "^2.0.1",
"core-js": "^3.8.2",
"dequal": "^2.0.2",
@ -64,7 +64,7 @@
"util-deprecate": "^1.0.2"
},
"devDependencies": {
"@storybook/addons": "7.0.0-alpha.27"
"@storybook/addons": "7.0.0-alpha.28"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
@ -77,5 +77,5 @@
"./src/index.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-manager",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook manager builder",
"keywords": [
"storybook"
@ -42,9 +42,9 @@
},
"dependencies": {
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/ui": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/ui": "7.0.0-alpha.28",
"@types/ejs": "^3.1.1",
"@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
"browser-assert": "^1.2.1",
@ -69,5 +69,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-vite",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "A plugin to run and build Storybooks with Vite",
"homepage": "https://github.com/storybookjs/storybook/tree/main/code/lib/builder-vite/#readme",
"repository": {
@ -19,16 +19,16 @@
},
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.0.5",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/channel-postmessage": "7.0.0-alpha.27",
"@storybook/channel-websocket": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/channel-postmessage": "7.0.0-alpha.28",
"@storybook/channel-websocket": "7.0.0-alpha.28",
"@storybook/client-api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/mdx1-csf": "0.0.5-canary.13.9ce928a.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/source-loader": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/source-loader": "7.0.0-alpha.28",
"@vitejs/plugin-react": "^2.0.0",
"ast-types": "^0.14.2",
"es-module-lexer": "^0.9.3",
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,32 +1,19 @@
import { build as viteBuild } from 'vite';
import { stringifyProcessEnvs } from './envs';
import { commonConfig } from './vite-config';
import type { EnvsRaw, ExtendedOptions } from './types';
import type { ExtendedOptions } from './types';
export async function build(options: ExtendedOptions) {
const { presets } = options;
const baseConfig = await commonConfig(options, 'build');
const config = {
...baseConfig,
build: {
outDir: options.outputDir,
emptyOutDir: false, // do not clean before running Vite build - Storybook has already added assets in there!
sourcemap: true,
},
const config = await commonConfig(options, 'build');
config.build = {
outDir: options.outputDir,
emptyOutDir: false, // do not clean before running Vite build - Storybook has already added assets in there!
sourcemap: true,
};
const finalConfig = await presets.apply('viteFinal', config, options);
const envsRaw = await presets.apply<Promise<EnvsRaw>>('env');
// Stringify env variables after getting `envPrefix` from the final config
const envs = stringifyProcessEnvs(envsRaw, finalConfig.envPrefix);
// Update `define`
finalConfig.define = {
...finalConfig.define,
...envs,
};
await viteBuild(finalConfig);
}

View File

@ -15,9 +15,6 @@ const allowedEnvVariables = [
'SSR',
];
// Env variables starts with env prefix will be exposed to your client source code via `import.meta.env`
export const allowedEnvPrefix = ['VITE_', 'STORYBOOK_'];
/**
* Customized version of stringifyProcessEnvs from @storybook/core-common which
* uses import.meta.env instead of process.env and checks for allowed variables.

View File

@ -1,5 +1,6 @@
import * as path from 'path';
import { normalizePath, resolveConfig, UserConfig } from 'vite';
import { normalizePath, resolveConfig } from 'vite';
import type { InlineConfig as ViteInlineConfig } from 'vite';
import { listStories } from './list-stories';
import type { ExtendedOptions } from './types';
@ -101,13 +102,11 @@ const INCLUDE_CANDIDATES = [
const asyncFilter = async (arr: string[], predicate: (val: string) => Promise<boolean>) =>
Promise.all(arr.map(predicate)).then((results) => arr.filter((_v, index) => results[index]));
export async function getOptimizeDeps(
config: UserConfig & { configFile: false; root: string },
options: ExtendedOptions
) {
const { root } = config;
export async function getOptimizeDeps(config: ViteInlineConfig, options: ExtendedOptions) {
const { root = process.cwd() } = config;
const absoluteStories = await listStories(options);
const stories = absoluteStories.map((storyPath) => normalizePath(path.relative(root, storyPath)));
// TODO: check if resolveConfig takes a lot of time, possible optimizations here
const resolvedConfig = await resolveConfig(config, 'serve', 'development');
// This function converts ids which might include ` > ` to a real path, if it exists on disk.

View File

@ -0,0 +1,27 @@
import type { Plugin } from 'vite';
import { createFilter } from 'vite';
import MagicString from 'magic-string';
/**
* This plugin removes HMR `accept` calls in story files. Stories should not be treated
* as hmr boundaries, but vite has a bug which causes them to be treated as boundaries
* (https://github.com/vitejs/vite/issues/9869).
*/
export function stripStoryHMRBoundary(): Plugin {
const filter = createFilter(/\.stories\.([tj])sx?$/);
return {
name: 'storybook:strip-hmr-boundary',
enforce: 'post',
async transform(src: string, id: string) {
if (!filter(id)) return undefined;
const s = new MagicString(src);
s.replace(/import\.meta\.hot\.accept\(\);/, '');
return {
code: s.toString(),
map: s.generateMap({ hires: true, source: id }),
};
},
};
}

View File

@ -1,15 +1,21 @@
import * as path from 'path';
import fs from 'fs';
import { Plugin } from 'vite';
import { loadConfigFromFile, mergeConfig } from 'vite';
import type {
ConfigEnv,
InlineConfig as ViteInlineConfig,
PluginOption,
UserConfig as ViteConfig,
} from 'vite';
import viteReact from '@vitejs/plugin-react';
import type { UserConfig } from 'vite';
import { isPreservingSymlinks, getFrameworkName } from '@storybook/core-common';
import { allowedEnvPrefix as envPrefix } from './envs';
import { codeGeneratorPlugin } from './code-generator-plugin';
import { stringifyProcessEnvs } from './envs';
import { injectExportOrderPlugin } from './inject-export-order-plugin';
import { mdxPlugin } from './plugins/mdx-plugin';
import { noFouc } from './plugins/no-fouc';
import type { ExtendedOptions } from './types';
import { stripStoryHMRBoundary } from './plugins/strip-story-hmr-boundaries';
import type { ExtendedOptions, EnvsRaw } from './types';
export type PluginConfigType = 'build' | 'development';
@ -23,23 +29,56 @@ export function readPackageJson(): Record<string, any> | false {
return JSON.parse(jsonContent);
}
const configEnvServe: ConfigEnv = {
mode: 'development',
command: 'serve',
ssrBuild: false,
};
const configEnvBuild: ConfigEnv = {
mode: 'production',
command: 'build',
ssrBuild: false,
};
// Vite config that is common to development and production mode
export async function commonConfig(
options: ExtendedOptions,
_type: PluginConfigType
): Promise<UserConfig & { configFile: false; root: string }> {
return {
): Promise<ViteInlineConfig> {
const { presets } = options;
const configEnv = _type === 'development' ? configEnvServe : configEnvBuild;
const { config: userConfig = {} } = (await loadConfigFromFile(configEnv)) ?? {};
const sbConfig = {
configFile: false,
root: path.resolve(options.configDir, '..'),
cacheDir: 'node_modules/.vite-storybook',
envPrefix,
define: {},
root: path.resolve(options.configDir, '..'),
plugins: await pluginConfig(options),
resolve: { preserveSymlinks: isPreservingSymlinks() },
plugins: await pluginConfig(options, _type),
// If an envPrefix is specified in the vite config, add STORYBOOK_ to it,
// otherwise, add VITE_ and STORYBOOK_ so that vite doesn't lose its default.
envPrefix: userConfig.envPrefix ? 'STORYBOOK_' : ['VITE_', 'STORYBOOK_'],
};
const config: ViteConfig = mergeConfig(userConfig, sbConfig);
// Sanitize environment variables if needed
const envsRaw = await presets.apply<Promise<EnvsRaw>>('env');
if (Object.keys(envsRaw).length) {
// Stringify env variables after getting `envPrefix` from the config
const envs = stringifyProcessEnvs(envsRaw, config.envPrefix);
config.define = {
...config.define,
...envs,
};
}
return config;
}
export async function pluginConfig(options: ExtendedOptions, _type: PluginConfigType) {
export async function pluginConfig(options: ExtendedOptions) {
const frameworkName = await getFrameworkName(options);
const plugins = [
@ -48,27 +87,13 @@ export async function pluginConfig(options: ExtendedOptions, _type: PluginConfig
mdxPlugin(options),
noFouc(),
injectExportOrderPlugin,
// We need the react plugin here to support MDX.
viteReact({
// Do not treat story files as HMR boundaries, storybook itself needs to handle them.
exclude: [/\.stories\.([tj])sx?$/, /node_modules/].concat(
frameworkName === '@storybook/react-vite' ? [] : [/\.([tj])sx?$/]
),
}),
{
name: 'vite-plugin-storybook-allow',
enforce: 'post',
config(config) {
// if there is no allow list then Vite allows anything in the root directory
// if there is an allow list then Vite allows anything in the listed directories
// add the .storybook directory only if there's an allow list so that we don't end up
// disallowing the root directory unless it's already disallowed
if (config?.server?.fs?.allow) {
config.server.fs.allow.push('.storybook');
}
},
},
] as Plugin[];
stripStoryHMRBoundary(),
] as PluginOption[];
// We need the react plugin here to support MDX in non-react projects.
if (frameworkName !== '@storybook/react-vite') {
plugins.push(viteReact({ exclude: [/\.stories\.([tj])sx?$/, /node_modules/, /\.([tj])sx?$/] }));
}
// TODO: framework doesn't exist, should move into framework when/if built
if (frameworkName === '@storybook/preact-vite') {

View File

@ -1,40 +1,30 @@
import type { Server } from 'http';
import { createServer } from 'vite';
import { stringifyProcessEnvs } from './envs';
import { getOptimizeDeps } from './optimizeDeps';
import { commonConfig } from './vite-config';
import type { EnvsRaw, ExtendedOptions } from './types';
import type { ExtendedOptions } from './types';
import { getOptimizeDeps } from './optimizeDeps';
export async function createViteServer(options: ExtendedOptions, devServer: Server) {
const { port, presets } = options;
const { presets } = options;
const baseConfig = await commonConfig(options, 'development');
const defaultConfig = {
...baseConfig,
server: {
middlewareMode: true,
hmr: {
port,
server: devServer,
},
fs: {
strict: true,
},
const config = await commonConfig(options, 'development');
// Set up dev server
config.server = {
middlewareMode: true,
hmr: {
port: options.port,
server: devServer,
},
fs: {
strict: true,
},
appType: 'custom' as const,
optimizeDeps: await getOptimizeDeps(baseConfig, options),
};
config.appType = 'custom';
const finalConfig = await presets.apply('viteFinal', defaultConfig, options);
const envsRaw = await presets.apply<Promise<EnvsRaw>>('env');
// Stringify env variables after getting `envPrefix` from the final config
const envs = stringifyProcessEnvs(envsRaw, finalConfig.envPrefix);
// Update `define`
finalConfig.define = {
...finalConfig.define,
...envs,
};
// TODO: find a way to avoid having to do this in a separate step.
config.optimizeDeps = await getOptimizeDeps(config, options);
const finalConfig = await presets.apply('viteFinal', config, options);
return createServer(finalConfig);
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-webpack5",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -34,23 +34,23 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/api": "7.0.0-alpha.27",
"@storybook/channel-postmessage": "7.0.0-alpha.27",
"@storybook/channel-websocket": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/components": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/core-webpack": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/router": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/api": "7.0.0-alpha.28",
"@storybook/channel-postmessage": "7.0.0-alpha.28",
"@storybook/channel-websocket": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/components": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/core-webpack": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/router": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/theming": "7.0.0-alpha.28",
"@types/node": "^14.0.10 || ^16.0.0",
"babel-loader": "^8.2.5",
"babel-plugin-named-exports-order": "^0.0.2",
@ -95,5 +95,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channel-postmessage",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -34,9 +34,9 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"qs": "^6.10.0",
@ -48,5 +48,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channel-websocket",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -34,8 +34,8 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0",
"telejson": "^6.0.8"
@ -46,5 +46,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channels",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -57,5 +57,5 @@
"./src/index.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "sb",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook CLI",
"keywords": [
"storybook"
@ -25,7 +25,7 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/cli": "7.0.0-alpha.27"
"@storybook/cli": "7.0.0-alpha.28"
},
"devDependencies": {
"typescript": "~4.6.3"
@ -33,5 +33,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "storybook",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook CLI",
"keywords": [
"storybook"
@ -28,7 +28,7 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/cli": "7.0.0-alpha.27"
"@storybook/cli": "7.0.0-alpha.28"
},
"devDependencies": {
"typescript": "~4.6.3"
@ -36,5 +36,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/cli",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook's CLI - easiest method of adding storybook to your projects",
"keywords": [
"cli",
@ -41,13 +41,13 @@
"dependencies": {
"@babel/core": "^7.12.10",
"@babel/preset-env": "^7.12.11",
"@storybook/codemod": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-server": "7.0.0-alpha.27",
"@storybook/csf-tools": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/codemod": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-server": "7.0.0-alpha.28",
"@storybook/csf-tools": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@storybook/telemetry": "7.0.0-alpha.27",
"@storybook/telemetry": "7.0.0-alpha.28",
"boxen": "^5.1.2",
"chalk": "^4.1.0",
"commander": "^6.2.1",
@ -74,7 +74,7 @@
"update-notifier": "^5.0.1"
},
"devDependencies": {
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.28",
"@types/cross-spawn": "^6.0.2",
"@types/degit": "^2.8.3",
"@types/prompts": "^2.0.9",
@ -89,5 +89,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -208,7 +208,7 @@ export async function baseGenerator(
await configurePreview(renderer, options.commonJs);
if (addComponents) {
copyComponents(renderer, language);
await copyComponents(renderer, language);
}
// FIXME: temporary workaround for https://github.com/storybookjs/storybook/issues/17516

View File

@ -1,82 +1,82 @@
// auto generated file, do not edit
export default {
'@storybook/addon-a11y': '7.0.0-alpha.27',
'@storybook/addon-actions': '7.0.0-alpha.27',
'@storybook/addon-backgrounds': '7.0.0-alpha.27',
'@storybook/addon-controls': '7.0.0-alpha.27',
'@storybook/addon-docs': '7.0.0-alpha.27',
'@storybook/addon-essentials': '7.0.0-alpha.27',
'@storybook/addon-highlight': '7.0.0-alpha.27',
'@storybook/addon-interactions': '7.0.0-alpha.27',
'@storybook/addon-jest': '7.0.0-alpha.27',
'@storybook/addon-links': '7.0.0-alpha.27',
'@storybook/addon-measure': '7.0.0-alpha.27',
'@storybook/addon-outline': '7.0.0-alpha.27',
'@storybook/addon-storyshots': '7.0.0-alpha.27',
'@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.27',
'@storybook/addon-storysource': '7.0.0-alpha.27',
'@storybook/addon-toolbars': '7.0.0-alpha.27',
'@storybook/addon-viewport': '7.0.0-alpha.27',
'@storybook/addons': '7.0.0-alpha.27',
'@storybook/angular': '7.0.0-alpha.27',
'@storybook/api': '7.0.0-alpha.27',
'@storybook/blocks': '7.0.0-alpha.27',
'@storybook/builder-manager': '7.0.0-alpha.27',
'@storybook/builder-vite': '7.0.0-alpha.27',
'@storybook/builder-webpack5': '7.0.0-alpha.27',
'@storybook/channel-postmessage': '7.0.0-alpha.27',
'@storybook/channel-websocket': '7.0.0-alpha.27',
'@storybook/channels': '7.0.0-alpha.27',
'@storybook/cli': '7.0.0-alpha.27',
'@storybook/client-api': '7.0.0-alpha.27',
'@storybook/client-logger': '7.0.0-alpha.27',
'@storybook/codemod': '7.0.0-alpha.27',
'@storybook/components': '7.0.0-alpha.27',
'@storybook/core-client': '7.0.0-alpha.27',
'@storybook/core-common': '7.0.0-alpha.27',
'@storybook/core-events': '7.0.0-alpha.27',
'@storybook/core-server': '7.0.0-alpha.27',
'@storybook/core-webpack': '7.0.0-alpha.27',
'@storybook/csf-tools': '7.0.0-alpha.27',
'@storybook/docs-tools': '7.0.0-alpha.27',
'@storybook/ember': '7.0.0-alpha.27',
'@storybook/html': '7.0.0-alpha.27',
'@storybook/html-webpack5': '7.0.0-alpha.27',
'@storybook/instrumenter': '7.0.0-alpha.27',
'@storybook/node-logger': '7.0.0-alpha.27',
'@storybook/postinstall': '7.0.0-alpha.27',
'@storybook/preact': '7.0.0-alpha.27',
'@storybook/preact-webpack5': '7.0.0-alpha.27',
'@storybook/preset-html-webpack': '7.0.0-alpha.27',
'@storybook/preset-preact-webpack': '7.0.0-alpha.27',
'@storybook/preset-react-webpack': '7.0.0-alpha.27',
'@storybook/preset-server-webpack': '7.0.0-alpha.27',
'@storybook/preset-svelte-webpack': '7.0.0-alpha.27',
'@storybook/preset-vue-webpack': '7.0.0-alpha.27',
'@storybook/preset-vue3-webpack': '7.0.0-alpha.27',
'@storybook/preset-web-components-webpack': '7.0.0-alpha.27',
'@storybook/preview-web': '7.0.0-alpha.27',
'@storybook/react': '7.0.0-alpha.27',
'@storybook/react-vite': '7.0.0-alpha.27',
'@storybook/react-webpack5': '7.0.0-alpha.27',
'@storybook/router': '7.0.0-alpha.27',
'@storybook/server': '7.0.0-alpha.27',
'@storybook/server-webpack5': '7.0.0-alpha.27',
'@storybook/source-loader': '7.0.0-alpha.27',
'@storybook/store': '7.0.0-alpha.27',
'@storybook/svelte': '7.0.0-alpha.27',
'@storybook/svelte-vite': '7.0.0-alpha.27',
'@storybook/svelte-webpack5': '7.0.0-alpha.27',
'@storybook/telemetry': '7.0.0-alpha.27',
'@storybook/theming': '7.0.0-alpha.27',
'@storybook/ui': '7.0.0-alpha.27',
'@storybook/vue': '7.0.0-alpha.27',
'@storybook/vue-webpack5': '7.0.0-alpha.27',
'@storybook/vue3': '7.0.0-alpha.27',
'@storybook/vue3-vite': '7.0.0-alpha.27',
'@storybook/vue3-webpack5': '7.0.0-alpha.27',
'@storybook/web-components': '7.0.0-alpha.27',
'@storybook/web-components-webpack5': '7.0.0-alpha.27',
sb: '7.0.0-alpha.27',
storybook: '7.0.0-alpha.27',
'@storybook/addon-a11y': '7.0.0-alpha.28',
'@storybook/addon-actions': '7.0.0-alpha.28',
'@storybook/addon-backgrounds': '7.0.0-alpha.28',
'@storybook/addon-controls': '7.0.0-alpha.28',
'@storybook/addon-docs': '7.0.0-alpha.28',
'@storybook/addon-essentials': '7.0.0-alpha.28',
'@storybook/addon-highlight': '7.0.0-alpha.28',
'@storybook/addon-interactions': '7.0.0-alpha.28',
'@storybook/addon-jest': '7.0.0-alpha.28',
'@storybook/addon-links': '7.0.0-alpha.28',
'@storybook/addon-measure': '7.0.0-alpha.28',
'@storybook/addon-outline': '7.0.0-alpha.28',
'@storybook/addon-storyshots': '7.0.0-alpha.28',
'@storybook/addon-storyshots-puppeteer': '7.0.0-alpha.28',
'@storybook/addon-storysource': '7.0.0-alpha.28',
'@storybook/addon-toolbars': '7.0.0-alpha.28',
'@storybook/addon-viewport': '7.0.0-alpha.28',
'@storybook/addons': '7.0.0-alpha.28',
'@storybook/angular': '7.0.0-alpha.28',
'@storybook/api': '7.0.0-alpha.28',
'@storybook/blocks': '7.0.0-alpha.28',
'@storybook/builder-manager': '7.0.0-alpha.28',
'@storybook/builder-vite': '7.0.0-alpha.28',
'@storybook/builder-webpack5': '7.0.0-alpha.28',
'@storybook/channel-postmessage': '7.0.0-alpha.28',
'@storybook/channel-websocket': '7.0.0-alpha.28',
'@storybook/channels': '7.0.0-alpha.28',
'@storybook/cli': '7.0.0-alpha.28',
'@storybook/client-api': '7.0.0-alpha.28',
'@storybook/client-logger': '7.0.0-alpha.28',
'@storybook/codemod': '7.0.0-alpha.28',
'@storybook/components': '7.0.0-alpha.28',
'@storybook/core-client': '7.0.0-alpha.28',
'@storybook/core-common': '7.0.0-alpha.28',
'@storybook/core-events': '7.0.0-alpha.28',
'@storybook/core-server': '7.0.0-alpha.28',
'@storybook/core-webpack': '7.0.0-alpha.28',
'@storybook/csf-tools': '7.0.0-alpha.28',
'@storybook/docs-tools': '7.0.0-alpha.28',
'@storybook/ember': '7.0.0-alpha.28',
'@storybook/html': '7.0.0-alpha.28',
'@storybook/html-webpack5': '7.0.0-alpha.28',
'@storybook/instrumenter': '7.0.0-alpha.28',
'@storybook/node-logger': '7.0.0-alpha.28',
'@storybook/postinstall': '7.0.0-alpha.28',
'@storybook/preact': '7.0.0-alpha.28',
'@storybook/preact-webpack5': '7.0.0-alpha.28',
'@storybook/preset-html-webpack': '7.0.0-alpha.28',
'@storybook/preset-preact-webpack': '7.0.0-alpha.28',
'@storybook/preset-react-webpack': '7.0.0-alpha.28',
'@storybook/preset-server-webpack': '7.0.0-alpha.28',
'@storybook/preset-svelte-webpack': '7.0.0-alpha.28',
'@storybook/preset-vue-webpack': '7.0.0-alpha.28',
'@storybook/preset-vue3-webpack': '7.0.0-alpha.28',
'@storybook/preset-web-components-webpack': '7.0.0-alpha.28',
'@storybook/preview-web': '7.0.0-alpha.28',
'@storybook/react': '7.0.0-alpha.28',
'@storybook/react-vite': '7.0.0-alpha.28',
'@storybook/react-webpack5': '7.0.0-alpha.28',
'@storybook/router': '7.0.0-alpha.28',
'@storybook/server': '7.0.0-alpha.28',
'@storybook/server-webpack5': '7.0.0-alpha.28',
'@storybook/source-loader': '7.0.0-alpha.28',
'@storybook/store': '7.0.0-alpha.28',
'@storybook/svelte': '7.0.0-alpha.28',
'@storybook/svelte-vite': '7.0.0-alpha.28',
'@storybook/svelte-webpack5': '7.0.0-alpha.28',
'@storybook/telemetry': '7.0.0-alpha.28',
'@storybook/theming': '7.0.0-alpha.28',
'@storybook/ui': '7.0.0-alpha.28',
'@storybook/vue': '7.0.0-alpha.28',
'@storybook/vue-webpack5': '7.0.0-alpha.28',
'@storybook/vue3': '7.0.0-alpha.28',
'@storybook/vue3-vite': '7.0.0-alpha.28',
'@storybook/vue3-webpack5': '7.0.0-alpha.28',
'@storybook/web-components': '7.0.0-alpha.28',
'@storybook/web-components-webpack5': '7.0.0-alpha.28',
sb: '7.0.0-alpha.28',
storybook: '7.0.0-alpha.28',
};

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/client-api",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook Client API",
"keywords": [
"storybook"
@ -34,13 +34,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/channel-postmessage": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/channel-postmessage": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"@types/qs": "^6.9.5",
"@types/webpack-env": "^1.16.4",
"core-js": "^3.8.2",
@ -64,5 +64,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/client-logger",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -56,5 +56,5 @@
"./src/index.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/codemod",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "A collection of codemod scripts written with JSCodeshift",
"keywords": [
"storybook"
@ -38,8 +38,8 @@
"@babel/types": "^7.12.11",
"@mdx-js/mdx": "^1.6.22",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/csf-tools": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/csf-tools": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"cross-spawn": "^7.0.3",
"globby": "^11.0.2",
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/components",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Core Storybook Components",
"keywords": [
"storybook"
@ -51,9 +51,9 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/theming": "7.0.0-alpha.27",
"@storybook/theming": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
@ -100,5 +100,5 @@
],
"platform": "neutral"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-client",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -34,16 +34,16 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/channel-postmessage": "7.0.0-alpha.27",
"@storybook/channel-websocket": "7.0.0-alpha.27",
"@storybook/client-api": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/channel-postmessage": "7.0.0-alpha.28",
"@storybook/channel-websocket": "7.0.0-alpha.28",
"@storybook/client-api": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/preview-web": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/ui": "7.0.0-alpha.27",
"@storybook/preview-web": "7.0.0-alpha.28",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/ui": "7.0.0-alpha.28",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
@ -64,5 +64,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-common",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -69,7 +69,7 @@
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@types/babel__core": "^7.0.0",
"@types/express": "^4.7.0",
@ -124,5 +124,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-events",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Event names used in storybook core",
"keywords": [
"storybook"
@ -55,5 +55,5 @@
"./src/index.ts"
]
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-server",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -35,17 +35,17 @@
"dependencies": {
"@aw-web-design/x-default-browser": "1.4.88",
"@discoveryjs/json-ext": "^0.5.3",
"@storybook/builder-manager": "7.0.0-alpha.27",
"@storybook/core-client": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/builder-manager": "7.0.0-alpha.28",
"@storybook/core-client": "7.0.0-alpha.28",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/csf-tools": "7.0.0-alpha.27",
"@storybook/csf-tools": "7.0.0-alpha.28",
"@storybook/docs-mdx": "0.0.1-canary.12433cf.0",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.28",
"@storybook/semver": "^7.3.2",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/telemetry": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"@storybook/telemetry": "7.0.0-alpha.28",
"@types/node": "^14.0.10 || ^16.0.0",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
@ -77,7 +77,7 @@
"ws": "^8.2.3"
},
"devDependencies": {
"@storybook/builder-webpack5": "7.0.0-alpha.27",
"@storybook/builder-webpack5": "7.0.0-alpha.28",
"@types/compression": "^1.7.0",
"@types/ip": "^1.1.0",
"@types/serve-favicon": "^2.5.2",
@ -101,5 +101,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-webpack",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -42,8 +42,8 @@
"prepare": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/core-common": "7.0.0-alpha.27",
"@storybook/node-logger": "7.0.0-alpha.27",
"@storybook/core-common": "7.0.0-alpha.28",
"@storybook/node-logger": "7.0.0-alpha.28",
"@types/node": "^14.0.10 || ^16.0.0",
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0"
@ -60,5 +60,5 @@
],
"platform": "node"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/csf-tools",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/docs-tools",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Shared utility functions for frameworks to implement docs",
"keywords": [
"storybook"
@ -36,7 +36,7 @@
"dependencies": {
"@babel/core": "^7.12.10",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"doctrine": "^3.0.0",
"lodash": "^4.17.21"
@ -49,5 +49,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/instrumenter",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -34,9 +34,9 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"core-js": "^3.8.2",
"global": "^4.4.0"
},
@ -46,5 +46,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/node-logger",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -47,5 +47,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/postinstall",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "Storybook addons postinstall utilities",
"keywords": [
"api",
@ -46,5 +46,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/preview-web",
"version": "7.0.0-alpha.27",
"version": "7.0.0-alpha.28",
"description": "",
"keywords": [
"storybook"
@ -34,13 +34,13 @@
"prepare": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/addons": "7.0.0-alpha.27",
"@storybook/channel-postmessage": "7.0.0-alpha.27",
"@storybook/channels": "7.0.0-alpha.27",
"@storybook/client-logger": "7.0.0-alpha.27",
"@storybook/core-events": "7.0.0-alpha.27",
"@storybook/addons": "7.0.0-alpha.28",
"@storybook/channel-postmessage": "7.0.0-alpha.28",
"@storybook/channels": "7.0.0-alpha.28",
"@storybook/client-logger": "7.0.0-alpha.28",
"@storybook/core-events": "7.0.0-alpha.28",
"@storybook/csf": "0.0.2--canary.0899bb7.0",
"@storybook/store": "7.0.0-alpha.27",
"@storybook/store": "7.0.0-alpha.28",
"ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
"global": "^4.4.0",
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "3e33f0709dd97151b7dfd86fd9858d13fd1c5738"
"gitHead": "941b85ce04c2e7c4328edb3568c1dece36dfbcf3"
}

View File

@ -1,5 +1,5 @@
/// <reference types="@types/jest" />;
import { jest, jest as mockJest, it, describe, beforeEach, afterEach, expect } from '@jest/globals';
import global from 'global';
import merge from 'lodash/merge';
import {
@ -31,7 +31,6 @@ import { logger } from '@storybook/client-logger';
import { addons, mockChannel as createMockChannel } from '@storybook/addons';
import type { AnyFramework } from '@storybook/csf';
import type { ModuleImportFn, WebProjectAnnotations } from '@storybook/store';
import { expect } from '@jest/globals';
import { mocked } from 'ts-jest/utils';
import { PreviewWeb } from './PreviewWeb';
@ -60,8 +59,8 @@ const mockStoryIndex = jest.fn(() => storyIndex);
let mockFetchResult;
jest.mock('global', () => ({
...(jest.requireActual('global') as any),
history: { replaceState: jest.fn() },
...(mockJest.requireActual('global') as any),
history: { replaceState: mockJest.fn() },
document: {
location: {
pathname: 'pathname',
@ -70,7 +69,7 @@ jest.mock('global', () => ({
},
window: {
location: {
reload: jest.fn(),
reload: mockJest.fn(),
},
},
FEATURES: {
@ -349,8 +348,12 @@ describe('PreviewWeb', () => {
});
describe('after selection changes', () => {
beforeEach(() => jest.useFakeTimers());
afterEach(() => jest.useRealTimers());
beforeEach(() => {
jest.useFakeTimers();
});
afterEach(() => {
jest.useRealTimers();
});
it('DOES NOT try again if CSF file changes', async () => {
document.location.search = '?id=component-one--missing';
@ -1563,49 +1566,140 @@ describe('PreviewWeb', () => {
expect(teardownRenderToDOM).not.toHaveBeenCalled();
});
// For https://github.com/storybookjs/storybook/issues/17214
it('does NOT render a second time if preparing', async () => {
document.location.search = '?id=component-one--a';
describe('while preparing', () => {
// For https://github.com/storybookjs/storybook/issues/17214
it('does NOT render a second time in story mode', async () => {
document.location.search = '?id=component-one--a';
const [gate, openGate] = createGate();
const [importedGate, openImportedGate] = createGate();
importFn
.mockImplementationOnce(async (...args) => {
await gate;
return importFn(...args);
})
.mockImplementationOnce(async (...args) => {
// The second time we `import()` we open the "imported" gate
openImportedGate();
await gate;
return importFn(...args);
const [gate, openGate] = createGate();
const [importedGate, openImportedGate] = createGate();
importFn
.mockImplementationOnce(async (...args) => {
await gate;
return importFn(...args);
})
.mockImplementationOnce(async (...args) => {
// The second time we `import()` we open the "imported" gate
openImportedGate();
await gate;
return importFn(...args);
});
const preview = new PreviewWeb();
// We can't wait for the initialize function, as it waits for `renderSelection()`
// which prepares, but it does emit `CURRENT_STORY_WAS_SET` right before that
preview.initialize({ importFn, getProjectAnnotations });
await waitForEvents([CURRENT_STORY_WAS_SET]);
mockChannel.emit.mockClear();
projectAnnotations.renderToDOM.mockClear();
emitter.emit(SET_CURRENT_STORY, {
storyId: 'component-one--a',
viewMode: 'story',
});
await importedGate;
// We are blocking import so this won't render yet
expect(projectAnnotations.renderToDOM).not.toHaveBeenCalled();
const preview = new PreviewWeb();
// We can't wait for the initialize function, as it waits for `renderSelection()`
// which prepares, but it does emit `CURRENT_STORY_WAS_SET` right before that
preview.initialize({ importFn, getProjectAnnotations });
await waitForEvents([CURRENT_STORY_WAS_SET]);
mockChannel.emit.mockClear();
openGate();
await waitForRender();
mockChannel.emit.mockClear();
projectAnnotations.renderToDOM.mockClear();
emitter.emit(SET_CURRENT_STORY, {
storyId: 'component-one--a',
viewMode: 'story',
// We should only render *once*
expect(projectAnnotations.renderToDOM).toHaveBeenCalledTimes(1);
// We should not show an error either
expect(preview.view.showErrorDisplay).not.toHaveBeenCalled();
});
await importedGate;
// We are blocking import so this won't render yet
expect(projectAnnotations.renderToDOM).not.toHaveBeenCalled();
mockChannel.emit.mockClear();
openGate();
await waitForRender();
// For https://github.com/storybookjs/storybook/issues/19015
it('does NOT render a second time in template docs mode', async () => {
document.location.search = '?id=component-one--docs&viewMode=docs';
// We should only render *once*
expect(projectAnnotations.renderToDOM).toHaveBeenCalledTimes(1);
const [gate, openGate] = createGate();
const [importedGate, openImportedGate] = createGate();
importFn
.mockImplementationOnce(async (...args) => {
await gate;
return importFn(...args);
})
.mockImplementationOnce(async (...args) => {
// The second time we `import()` we open the "imported" gate
openImportedGate();
await gate;
return importFn(...args);
});
// We should not show an error either
expect(preview.view.showErrorDisplay).not.toHaveBeenCalled();
const preview = new PreviewWeb();
// We can't wait for the initialize function, as it waits for `renderSelection()`
// which prepares, but it does emit `CURRENT_STORY_WAS_SET` right before that
preview.initialize({ importFn, getProjectAnnotations });
await waitForEvents([CURRENT_STORY_WAS_SET]);
mockChannel.emit.mockClear();
projectAnnotations.renderToDOM.mockClear();
emitter.emit(SET_CURRENT_STORY, {
storyId: 'component-one--docs',
viewMode: 'docs',
});
await importedGate;
// We are blocking import so this won't render yet
expect(docsRenderer.render).not.toHaveBeenCalled();
mockChannel.emit.mockClear();
openGate();
await waitForRender();
// We should only render *once*
expect(docsRenderer.render).toHaveBeenCalledTimes(1);
// We should not show an error either
expect(preview.view.showErrorDisplay).not.toHaveBeenCalled();
});
it('does NOT render a second time in standalone docs mode', async () => {
document.location.search = '?id=introduction--docs&viewMode=docs';
const [gate, openGate] = createGate();
const [importedGate, openImportedGate] = createGate();
importFn
.mockImplementationOnce(async (...args) => {
await gate;
return importFn(...args);
})
.mockImplementationOnce(async (...args) => {
// The second time we `import()` we open the "imported" gate
openImportedGate();
await gate;
return importFn(...args);
});
const preview = new PreviewWeb();
// We can't wait for the initialize function, as it waits for `renderSelection()`
// which prepares, but it does emit `CURRENT_STORY_WAS_SET` right before that
preview.initialize({ importFn, getProjectAnnotations });
await waitForEvents([CURRENT_STORY_WAS_SET]);
mockChannel.emit.mockClear();
projectAnnotations.renderToDOM.mockClear();
emitter.emit(SET_CURRENT_STORY, {
storyId: 'introduction--docs',
viewMode: 'docs',
});
await importedGate;
// We are blocking import so this won't render yet
expect(docsRenderer.render).not.toHaveBeenCalled();
mockChannel.emit.mockClear();
openGate();
await waitForRender();
// We should only render *once*
expect(docsRenderer.render).toHaveBeenCalledTimes(1);
// We should not show an error either
expect(preview.view.showErrorDisplay).not.toHaveBeenCalled();
});
});
});
@ -2715,8 +2809,12 @@ describe('PreviewWeb', () => {
});
describe('if it was previously rendered', () => {
beforeEach(() => jest.useFakeTimers());
afterEach(() => jest.useRealTimers());
beforeEach(() => {
jest.useFakeTimers();
});
afterEach(() => {
jest.useRealTimers();
});
it('is reloaded when it is re-selected', async () => {
document.location.search = '?id=component-one--a';
const preview = await createAndRenderPreview();

View File

@ -34,7 +34,8 @@ import { MaybePromise, Preview } from './Preview';
import { UrlStore } from './UrlStore';
import { WebView } from './WebView';
import { PREPARE_ABORTED, StoryRender } from './render/StoryRender';
import { PREPARE_ABORTED } from './render/Render';
import { StoryRender } from './render/StoryRender';
import { TemplateDocsRender } from './render/TemplateDocsRender';
import { StandaloneDocsRender } from './render/StandaloneDocsRender';

View File

@ -19,3 +19,5 @@ export interface Render<TFramework extends AnyFramework> {
torndown: boolean;
renderToElement: (canvasElement: HTMLElement, renderStoryToElement?: any) => Promise<void>;
}
export const PREPARE_ABORTED = new Error('prepareAborted');

View File

@ -0,0 +1,52 @@
import { jest, describe, it, expect } from '@jest/globals';
import { Channel } from '@storybook/channels';
import { AnyFramework } from '@storybook/csf';
import { StoryStore } from '@storybook/store';
import type { StandaloneDocsIndexEntry } from '@storybook/store';
import { PREPARE_ABORTED } from './Render';
import { StandaloneDocsRender } from './StandaloneDocsRender';
const entry = {
type: 'docs',
id: 'introduction--docs',
name: 'Docs',
title: 'Introduction',
importPath: './Introduction.mdx',
storiesImports: [],
standalone: true,
} as StandaloneDocsIndexEntry;
const createGate = (): [Promise<any | undefined>, (_?: any) => void] => {
let openGate = (_?: any) => {};
const gate = new Promise<any | undefined>((resolve) => {
openGate = resolve;
});
return [gate, openGate];
};
describe('StandaloneDocsRender', () => {
it('throws PREPARE_ABORTED if torndown during prepare', async () => {
const [importGate, openImportGate] = createGate();
const mockStore = {
loadEntry: jest.fn(async () => {
await importGate;
return {};
}),
};
const render = new StandaloneDocsRender(
new Channel(),
mockStore as unknown as StoryStore<AnyFramework>,
entry
);
const preparePromise = render.prepare();
render.teardown();
openImportGate();
await expect(preparePromise).rejects.toThrowError(PREPARE_ABORTED);
});
});

View File

@ -3,7 +3,7 @@ import { CSFFile, ModuleExports, StoryStore } from '@storybook/store';
import { Channel, IndexEntry } from '@storybook/addons';
import { DOCS_RENDERED } from '@storybook/core-events';
import { Render, RenderType } from './Render';
import { Render, RenderType, PREPARE_ABORTED } from './Render';
import type { DocsContextProps } from '../docs-context/DocsContextProps';
import type { DocsRenderFunction } from '../docs-context/DocsRenderFunction';
import { DocsContext } from '../docs-context/DocsContext';
@ -26,7 +26,7 @@ export class StandaloneDocsRender<TFramework extends AnyFramework> implements Re
public rerender?: () => Promise<void>;
public teardown?: (options: { viewModeChanged?: boolean }) => Promise<void>;
public teardownRender?: (options: { viewModeChanged?: boolean }) => Promise<void>;
public torndown = false;
@ -51,6 +51,8 @@ export class StandaloneDocsRender<TFramework extends AnyFramework> implements Re
async prepare() {
this.preparing = true;
const { entryExports, csfFiles = [] } = await this.store.loadEntry(this.id);
if (this.torndown) throw PREPARE_ABORTED;
this.csfFiles = csfFiles;
this.exports = entryExports;
@ -96,7 +98,7 @@ export class StandaloneDocsRender<TFramework extends AnyFramework> implements Re
};
this.rerender = async () => renderDocs();
this.teardown = async ({ viewModeChanged }: { viewModeChanged?: boolean } = {}) => {
this.teardownRender = async ({ viewModeChanged }: { viewModeChanged?: boolean } = {}) => {
if (!viewModeChanged || !canvasElement) return;
renderer.unmount(canvasElement);
this.torndown = true;
@ -104,4 +106,9 @@ export class StandaloneDocsRender<TFramework extends AnyFramework> implements Re
return renderDocs();
}
async teardown({ viewModeChanged }: { viewModeChanged?: boolean } = {}) {
this.teardownRender?.({ viewModeChanged });
this.torndown = true;
}
}

View File

@ -0,0 +1,54 @@
import { jest, describe, it, expect } from '@jest/globals';
import { Channel } from '@storybook/channels';
import { AnyFramework } from '@storybook/csf';
import { StoryStore } from '@storybook/store';
import type { StoryIndexEntry } from '@storybook/store';
import { PREPARE_ABORTED } from './Render';
import { StoryRender } from './StoryRender';
const entry = {
type: 'story',
id: 'component--a',
name: 'A',
title: 'component',
importPath: './component.stories.ts',
} as StoryIndexEntry;
const createGate = (): [Promise<any | undefined>, (_?: any) => void] => {
let openGate = (_?: any) => {};
const gate = new Promise<any | undefined>((resolve) => {
openGate = resolve;
});
return [gate, openGate];
};
describe('StoryRender', () => {
it('throws PREPARE_ABORTED if torndown during prepare', async () => {
const [importGate, openImportGate] = createGate();
const mockStore = {
loadStory: jest.fn(async () => {
await importGate;
return {};
}),
cleanupStory: jest.fn(),
};
const render = new StoryRender(
new Channel(),
mockStore as unknown as StoryStore<AnyFramework>,
jest.fn(),
{} as any,
entry.id,
'story'
);
const preparePromise = render.prepare();
render.teardown();
openImportGate();
await expect(preparePromise).rejects.toThrowError(PREPARE_ABORTED);
});
});

View File

@ -20,7 +20,7 @@ import {
STORY_RENDERED,
PLAY_FUNCTION_THREW_EXCEPTION,
} from '@storybook/core-events';
import { Render, RenderType } from './Render';
import { Render, RenderType, PREPARE_ABORTED } from './Render';
const { AbortController } = global;
@ -60,8 +60,6 @@ export type RenderContextCallbacks<TFramework extends AnyFramework> = Pick<
'showMain' | 'showError' | 'showException'
>;
export const PREPARE_ABORTED = new Error('prepareAborted');
export class StoryRender<TFramework extends AnyFramework> implements Render<TFramework> {
public type: RenderType = 'story';
@ -275,7 +273,7 @@ export class StoryRender<TFramework extends AnyFramework> implements Render<TFra
this.abortController?.abort();
}
async teardown(options: {} = {}) {
async teardown() {
this.torndown = true;
this.cancelRender();

Some files were not shown because too many files have changed in this diff Show More