Merge branch 'next' of github.com:storybookjs/storybook into fix-svelte-argtypes

This commit is contained in:
Jeppe Reinhold 2022-12-13 00:02:20 +01:00
commit 3068764fb5
161 changed files with 2516 additions and 1315 deletions

View File

@ -1,3 +1,30 @@
## 7.0.0-beta.3 (December 10, 2022)
#### Bug Fixes
- CLI: Fix sb migrate codemods [#20191](https://github.com/storybooks/storybook/pull/20191)
- Measure: Fix measure not working on disabled elements [#19985](https://github.com/storybooks/storybook/pull/19985)
#### Maintenance
- SvelteKit: Automigration [#20094](https://github.com/storybooks/storybook/pull/20094)
- Tech: change `package.json` engines fields, set to minimal node16 and up [#20170](https://github.com/storybooks/storybook/pull/20170)
## 7.0.0-beta.2 (December 9, 2022)
#### Bug Fixes
- Core: Catch and do nothing to avoid triggering unhandled exception problems [#20177](https://github.com/storybooks/storybook/pull/20177)
- Controls: Fix color control not resetting when initial value is defined [#20049](https://github.com/storybooks/storybook/pull/20049)
- Core: Fix typescript.checkOptions not a valid interface [#20166](https://github.com/storybooks/storybook/pull/20166)
- NextJS: Fixlogic around `next/future/image` [#20173](https://github.com/storybooks/storybook/pull/20173)
#### Maintenance
- Revert "Revert "Telemetry: Add precedingUpgrade data to dev/build/error events"" [#20176](https://github.com/storybooks/storybook/pull/20176)
- Telemetry: Add `chromatic` to addons list [#20143](https://github.com/storybooks/storybook/pull/20143)
- Vite: Support vite 4 [#20139](https://github.com/storybooks/storybook/pull/20139)
## 7.0.0-beta.1 (December 9, 2022)
#### Bug Fixes

View File

@ -586,6 +586,8 @@ When using a [Vite-based framework](#framework-field-mandatory), Storybook will
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.
For Svelte projects this means that the `svelteOptions` property in the `main.js` config can be omitted in most cases, as it will be loaded automatically via the project's `vite.config.js`. An exception to this is when the project needs different Svelte options for Storybook than the Vite config provides for the application itself.
#### Vite cache moved to node_modules/.cache/.vite-storybook
Previously, Storybook's Vite builder placed cache files in node_modules/.vite-storybook. However, it's more common for tools to place cached files into `node_modules/.cache`, and putting them there makes it quick and easy to clear the cache for multiple tools at once. We don't expect this change will cause any problems, but it's something that users of Storybook Vite projects should know about. It can be configured by setting `cacheDir` in `viteFinal` within `.storybook/main.js` [Storybook Vite configuration docs](https://storybook.js.org/docs/react/builders/vite#configuration)).
@ -601,6 +603,8 @@ export default {
};
```
Also see the note in [Vite builder uses vite config automatically](#vite-builder-uses-vite-config-automatically) about removing `svelteOptions`.
#### 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.
@ -643,7 +647,7 @@ Starting in 7.0 the `grid.cellSize` parameter should now be `backgrounds.grid.ce
#### Addon-docs: Removed deprecated blocks.js entry
Removed `@storybook/addon-docs/blocks` entry. Import directly from `@storybook/addon-docs` instead. This was [deprecated in SB 6.3](#deprecated-scoped-blocks-imports).
Removed `@storybook/addon-docs/blocks` entry. Import directly from `@storybook/blocks` instead. This was [deprecated in SB 6.3](#deprecated-scoped-blocks-imports).
#### Addon-a11y: Removed deprecated withA11y decorator

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-a11y",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Test component compliance with web accessibility standards",
"keywords": [
"a11y",
@ -62,15 +62,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addon-highlight": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/addon-highlight": "7.0.0-beta.3",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"axe-core": "^4.2.0",
"global": "^4.4.0",
"lodash": "^4.17.21",
@ -102,7 +102,7 @@
"./src/preview.tsx"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Get UI feedback when an action is performed on an interactive element",
"keywords": [
"storybook",
@ -76,13 +76,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"dequal": "^2.0.2",
"global": "^4.4.0",
"lodash": "^4.17.21",
@ -120,7 +120,7 @@
"./src/preview.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"storybook": {
"displayName": "Actions",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-backgrounds",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Switch backgrounds to view components in different settings",
"keywords": [
"addon",
@ -75,13 +75,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
"ts-dedent": "^2.0.0"
@ -111,7 +111,7 @@
"./src/preview.tsx"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Interact with component inputs dynamically in the Storybook UI",
"keywords": [
"addon",
@ -67,15 +67,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/blocks": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/blocks": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"lodash": "^4.17.21",
"ts-dedent": "^2.0.0"
},
@ -101,7 +101,7 @@
],
"platform": "browser"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Document component usage and properties in Markdown",
"keywords": [
"addon",
@ -99,16 +99,16 @@
"@babel/plugin-transform-react-jsx": "^7.19.0",
"@jest/transform": "^29.3.1",
"@mdx-js/react": "^2.1.5",
"@storybook/blocks": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/csf-plugin": "7.0.0-beta.1",
"@storybook/csf-tools": "7.0.0-beta.1",
"@storybook/blocks": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/csf-plugin": "7.0.0-beta.3",
"@storybook/csf-tools": "7.0.0-beta.3",
"@storybook/mdx2-csf": "next",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/postinstall": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/postinstall": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"fs-extra": "^9.0.1",
"global": "^4.4.0",
"remark-external-links": "^8.0.0",
@ -135,7 +135,7 @@
"./src/shims/mdx-react-shim.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Curated addons to bring out the best of Storybook",
"keywords": [
"addon",
@ -116,23 +116,23 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addon-actions": "7.0.0-beta.1",
"@storybook/addon-backgrounds": "7.0.0-beta.1",
"@storybook/addon-controls": "7.0.0-beta.1",
"@storybook/addon-docs": "7.0.0-beta.1",
"@storybook/addon-highlight": "7.0.0-beta.1",
"@storybook/addon-measure": "7.0.0-beta.1",
"@storybook/addon-outline": "7.0.0-beta.1",
"@storybook/addon-toolbars": "7.0.0-beta.1",
"@storybook/addon-viewport": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/addon-actions": "7.0.0-beta.3",
"@storybook/addon-backgrounds": "7.0.0-beta.3",
"@storybook/addon-controls": "7.0.0-beta.3",
"@storybook/addon-docs": "7.0.0-beta.3",
"@storybook/addon-highlight": "7.0.0-beta.3",
"@storybook/addon-measure": "7.0.0-beta.3",
"@storybook/addon-outline": "7.0.0-beta.3",
"@storybook/addon-toolbars": "7.0.0-beta.3",
"@storybook/addon-viewport": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"ts-dedent": "^2.0.0"
},
"devDependencies": {
"@storybook/vue": "7.0.0-beta.1",
"@storybook/vue": "7.0.0-beta.3",
"typescript": "^4.9.3"
},
"peerDependencies": {
@ -163,5 +163,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-highlight",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Highlight DOM nodes within your stories",
"keywords": [
"storybook-addons",
@ -60,8 +60,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"global": "^4.4.0"
},
"devDependencies": {
@ -77,7 +77,7 @@
"./src/preview.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"sbmodern": "dist/modern/index.js",
"storybook": {
"displayName": "Highlight",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-interactions",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Automate, test and debug user interactions",
"keywords": [
"storybook-addons",
@ -71,15 +71,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/instrumenter": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/instrumenter": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0",
"jest-mock": "^27.0.6",
"polished": "^4.2.2",
@ -117,7 +117,7 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"storybook": {
"displayName": "Interactions",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-jest",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "React storybook addon that show component jest report",
"keywords": [
"addon",
@ -69,12 +69,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"global": "^4.4.0",
"react-sizeme": "^3.0.1",
"upath": "^1.2.0"
@ -104,7 +104,7 @@
],
"platform": "browser"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Link stories together to build demos and prototypes with your UI components",
"keywords": [
"addon",
@ -76,13 +76,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/csf": "next",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/router": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/router": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0",
"prop-types": "^15.7.2",
"ts-dedent": "^2.0.0"
@ -113,7 +113,7 @@
"./src/react/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Inspect layouts by visualizing the box model",
"keywords": [
"storybook-addons",
@ -74,12 +74,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0"
},
"devDependencies": {
@ -107,7 +107,7 @@
"./src/preview.tsx"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"storybook": {
"displayName": "Measure",
"unsupportedFrameworks": [

View File

@ -17,7 +17,7 @@ export const withMeasure = (StoryFn: StoryFunction<Renderer>, context: StoryCont
const { measureEnabled } = context.globals;
useEffect(() => {
const onMouseMove = (event: MouseEvent) => {
const onPointerMove = (event: MouseEvent) => {
window.requestAnimationFrame(() => {
event.stopPropagation();
pointer.x = event.clientX;
@ -25,15 +25,15 @@ export const withMeasure = (StoryFn: StoryFunction<Renderer>, context: StoryCont
});
};
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('pointermove', onPointerMove);
return () => {
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('pointermove', onPointerMove);
};
}, []);
useEffect(() => {
const onMouseOver = (event: MouseEvent) => {
const onPointerOver = (event: MouseEvent) => {
window.requestAnimationFrame(() => {
event.stopPropagation();
findAndDrawElement(event.clientX, event.clientY);
@ -47,7 +47,7 @@ export const withMeasure = (StoryFn: StoryFunction<Renderer>, context: StoryCont
};
if (measureEnabled) {
document.addEventListener('mouseover', onMouseOver);
document.addEventListener('pointerover', onPointerOver);
init();
window.addEventListener('resize', onResize);
// Draw the element below the pointer when first enabled

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-outline",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Outline all elements with CSS to help with layout placement and alignment",
"keywords": [
"storybook-addons",
@ -77,12 +77,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0",
"ts-dedent": "^2.0.0"
},
@ -111,7 +111,7 @@
"./src/preview.tsx"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"storybook": {
"displayName": "Outline",
"unsupportedFrameworks": [

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storyshots",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Take a code snapshot of every story automatically with Jest",
"keywords": [
"addon",
@ -39,11 +39,11 @@
"dependencies": {
"@jest/transform": "^29.3.1",
"@storybook/babel-plugin-require-context-hook": "1.0.1",
"@storybook/client-api": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-webpack": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/client-api": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-webpack": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/glob": "^7.1.3",
"@types/jest-specific-snapshot": "^0.5.6",
"core-js": "^3.8.2",
@ -60,11 +60,11 @@
"@angular/core": "^13.3.6",
"@angular/platform-browser-dynamic": "^13.3.6",
"@emotion/jest": "^11.8.0",
"@storybook/addon-docs": "7.0.0-beta.1",
"@storybook/angular": "7.0.0-beta.1",
"@storybook/react": "7.0.0-beta.1",
"@storybook/vue": "7.0.0-beta.1",
"@storybook/vue3": "7.0.0-beta.1",
"@storybook/addon-docs": "7.0.0-beta.3",
"@storybook/angular": "7.0.0-beta.3",
"@storybook/react": "7.0.0-beta.3",
"@storybook/vue": "7.0.0-beta.3",
"@storybook/vue3": "7.0.0-beta.3",
"babel-loader": "^8.3.0",
"enzyme": "^3.11.0",
"enzyme-to-json": "^3.6.1",
@ -142,7 +142,7 @@
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Image snapshots addition to StoryShots based on puppeteer",
"keywords": [
"addon",
@ -35,8 +35,8 @@
"dependencies": {
"@axe-core/puppeteer": "^4.2.0",
"@storybook/csf": "next",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/jest-image-snapshot": "^5.1.0",
"jest-image-snapshot": "^6.0.0"
},
@ -45,7 +45,7 @@
"puppeteer": "^2.0.0 || ^3.0.0"
},
"peerDependencies": {
"@storybook/addon-storyshots": "7.0.0-beta.1",
"@storybook/addon-storyshots": "7.0.0-beta.3",
"puppeteer": ">=2.0.0"
},
"peerDependenciesMeta": {
@ -56,5 +56,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addon-storysource",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "View a storys source code to see how it works and paste into your app",
"keywords": [
"addon",
@ -53,13 +53,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/router": "7.0.0-beta.1",
"@storybook/source-loader": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/router": "7.0.0-beta.3",
"@storybook/source-loader": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"estraverse": "^5.2.0",
"prop-types": "^15.7.2",
"react-syntax-highlighter": "^15.5.0"
@ -91,7 +91,7 @@
"./src/preset.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Create your own toolbar items that control story rendering",
"keywords": [
"addon",
@ -67,11 +67,11 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1"
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3"
},
"devDependencies": {
"typescript": "~4.9.3"
@ -98,7 +98,7 @@
],
"platform": "browser"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"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-beta.1",
"version": "7.0.0-beta.3",
"description": "Build responsive components by adjusting Storybooks viewport size and orientation",
"keywords": [
"addon",
@ -72,12 +72,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"global": "^4.4.0",
"memoizerific": "^1.11.3",
"prop-types": "^15.7.2"
@ -108,7 +108,7 @@
"./src/preview.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd",
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880",
"storybook": {
"displayName": "Viewport",
"icon": "https://user-images.githubusercontent.com/263385/101991678-48cdf300-3c7c-11eb-9764-f8af293c1b28.png",

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/angular",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Angular: Develop Angular components in isolation with hot reloading.",
"keywords": [
"storybook",
@ -34,18 +34,18 @@
"prep": "rimraf dist && ../../../scripts/node_modules/.bin/tsc --project tsconfig.build.json && echo \"Preventing passing flags to tsc\""
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-client": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/core-webpack": "7.0.0-beta.1",
"@storybook/docs-tools": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-client": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/core-webpack": "7.0.0-beta.3",
"@storybook/docs-tools": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"@types/react": "^16.14.34",
"@types/react-dom": "^16.9.14",
@ -116,11 +116,11 @@
}
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
},
"builders": "dist/builders/builders.json",
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/ember",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Ember: Develop Ember Component in isolation with Hot Reloading.",
"homepage": "https://github.com/storybookjs/storybook/tree/main/frameworks/ember",
"bugs": {
@ -31,11 +31,11 @@
"prep": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/docs-tools": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/docs-tools": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"global": "^4.4.0",
"read-pkg-up": "^7.0.1",
"ts-dedent": "^2.0.0"
@ -54,10 +54,10 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/html-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for HTML and Vite: Develop HTML in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,22 +51,20 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/addons": "7.0.0-beta.1",
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/channel-postmessage": "7.0.0-beta.1",
"@storybook/channel-websocket": "7.0.0-beta.1",
"@storybook/client-api": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/html": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview-web": "7.0.0-beta.1",
"magic-string": "^0.26.1",
"vite": "3"
"@storybook/addons": "7.0.0-beta.3",
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/channel-postmessage": "7.0.0-beta.3",
"@storybook/channel-websocket": "7.0.0-beta.3",
"@storybook/client-api": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/html": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview-web": "7.0.0-beta.3",
"magic-string": "^0.26.1"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.0"
"typescript": "~4.9.3"
},
"engines": {
"node": "^14.18 || >=16"
@ -81,5 +79,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/html-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for HTML: View HTML snippets in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/html": "7.0.0-beta.1",
"@storybook/preset-html-webpack": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/html": "7.0.0-beta.3",
"@storybook/preset-html-webpack": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"global": "^4.4.0"
},
@ -66,7 +66,7 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -78,5 +78,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/nextjs",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Next.js",
"keywords": [
"storybook",
@ -59,12 +59,12 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preset-react-webpack": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/react": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preset-react-webpack": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/react": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"find-up": "^5.0.0",
"fs-extra": "^9.0.1",
@ -80,7 +80,7 @@
"tsconfig-paths-webpack-plugin": "^3.5.2"
},
"devDependencies": {
"@storybook/addon-actions": "7.0.0-beta.1",
"@storybook/addon-actions": "7.0.0-beta.3",
"next": "^13.0.5",
"typescript": "^4.9.3",
"webpack": "^5.65.0"
@ -105,7 +105,7 @@
}
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -119,5 +119,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -8,6 +8,7 @@ export function configureNextImport(baseConfig: WebpackConfig) {
const isNext12 = semver.satisfies(nextJSVersion, '~12');
const isNext13 = semver.satisfies(nextJSVersion, '~13');
const isNextVersionSmallerThan12dot2 = semver.lt(nextJSVersion, '12.2.0');
const isNextVersionSmallerThan13 = semver.lt(nextJSVersion, '13.0.0');
baseConfig.plugins = baseConfig.plugins ?? [];
@ -20,7 +21,7 @@ export function configureNextImport(baseConfig: WebpackConfig) {
);
}
if (!isNext12) {
if (!isNext12 || isNextVersionSmallerThan12dot2) {
baseConfig.plugins.push(
new IgnorePlugin({
resourceRegExp: /next\/future\/image$/,
@ -36,7 +37,7 @@ export function configureNextImport(baseConfig: WebpackConfig) {
);
}
if (semver.lt(nextJSVersion, '12.2.0')) {
if (isNextVersionSmallerThan12dot2) {
baseConfig.plugins.push(
new IgnorePlugin({
resourceRegExp: /next\/dist\/shared\/lib\/app-router-context$/,

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/preact-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Preact: Develop Preact Component in isolation.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preact": "7.0.0-beta.1",
"@storybook/preset-preact-webpack": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preact": "7.0.0-beta.3",
"@storybook/preset-preact-webpack": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -67,7 +67,7 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -79,5 +79,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/react-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for React and Vite: Develop React components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -53,18 +53,18 @@
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "^0.0.5",
"@rollup/pluginutils": "^4.2.0",
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/react": "7.0.0-beta.1",
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/react": "7.0.0-beta.3",
"@vitejs/plugin-react": "^2.0.0",
"ast-types": "^0.14.2",
"magic-string": "^0.26.1",
"react-docgen": "^6.0.0-alpha.3",
"vite": "^3.1.3"
"vite": "^3.0.0||^4.0.0"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.3"
"vite": "^4.0.0-beta.2"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@ -83,5 +83,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/react-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for React: Develop React Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,9 +51,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/preset-react-webpack": "7.0.0-beta.1",
"@storybook/react": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/preset-react-webpack": "7.0.0-beta.3",
"@storybook/react": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -74,7 +74,7 @@
}
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -86,5 +86,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/server-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Server: View HTML snippets from a server in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preset-server-webpack": "7.0.0-beta.1",
"@storybook/server": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preset-server-webpack": "7.0.0-beta.3",
"@storybook/server": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -64,7 +64,7 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -76,5 +76,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Svelte and Vite: Develop Svelte components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -52,19 +52,20 @@
},
"dependencies": {
"@storybook/addon-svelte-csf": "^2.0.0",
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/svelte": "7.0.0-beta.1",
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/svelte": "7.0.0-beta.3",
"@sveltejs/vite-plugin-svelte": "^2.0.0",
"magic-string": "^0.26.1",
"svelte": "^3.0.0",
"sveltedoc-parser": "^4.2.1",
"vite": "^3.1.3"
"ts-dedent": "^2.2.0",
"vite": "^3.0.0||^4.0.0"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.3"
"vite": "^4.0.0-beta.2"
},
"peerDependencies": {
"@storybook/addon-svelte-csf": "^2.0.0",
@ -89,5 +90,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -8,7 +8,7 @@ export const core: StorybookConfig['core'] = {
};
export const viteFinal: NonNullable<StorybookConfig['viteFinal']> = async (config, options) => {
let { plugins = [] } = config;
const { plugins = [] } = config;
const { svelte, loadSvelteConfig } = await import('@sveltejs/vite-plugin-svelte');
const svelteOptions: Record<string, any> = await options.presets.apply(
'svelteOptions',
@ -25,8 +25,7 @@ export const viteFinal: NonNullable<StorybookConfig['viteFinal']> = async (confi
// Add docgen plugin
plugins.push(svelteDocgen(svelteConfig));
// temporarily support SvelteKit
plugins = await handleSvelteKit(plugins, options);
await handleSvelteKit(plugins, options);
// TODO: temporary until/unless https://github.com/storybookjs/addon-svelte-csf/issues/64 is fixed
// Wrapping in try-catch in case `@storybook/addon-svelte-csf is not installed

View File

@ -1,7 +1,7 @@
import type { PluginOption } from 'vite';
import { deprecate } from '@storybook/node-logger';
import { withoutVitePlugins } from '@storybook/builder-vite';
import type { Options } from '@storybook/types';
import dedent from 'ts-dedent';
import { logger } from '@storybook/node-logger';
function checkName(plugin: PluginOption, name: string) {
return typeof plugin === 'object' && 'name' in plugin && plugin.name === name;
@ -23,32 +23,32 @@ export function hasPlugin(plugins: PluginOption[], name: string) {
* but warns the user that they should use the sveltekit framework instead.
* Should be removed when we decide to remove support completely for SvelteKit in svelte-vite
*/
export async function handleSvelteKit(
plugins: PluginOption[],
options: Options
): Promise<PluginOption[]> {
if (!hasPlugin(plugins, 'vite-plugin-svelte-kit')) {
// this is not a SvelteKit project ✅
return plugins;
}
export async function handleSvelteKit(plugins: PluginOption[], options: Options) {
/*
the sveltekit framework uses this svelte-vite framework under the hood
so we have to take extra care of only warning when the user is actually using
so we have to take extra care of only throwing when the user is actually using
svelte-vite directly and not just through sveltekit
*/
const frameworkPreset = await options.presets.apply('framework', {}, options);
const framework = typeof frameworkPreset === 'string' ? frameworkPreset : frameworkPreset.name;
if (framework === '@storybook/sveltekit') {
// this uses @storybook/sveltekit, so everything is fine ✅
return plugins;
}
const hasSvelteKitPlugins =
hasPlugin(plugins, 'vite-plugin-svelte-kit') ||
hasPlugin(plugins, 'vite-plugin-sveltekit-build') ||
hasPlugin(plugins, 'vite-plugin-sveltekit-middleware');
// this is a SvelteKit project but doesn't use @storybook/sveltekit, warn user about this and remove vite-plugin-svelte-kit ❌
deprecate(
'SvelteKit support in @storybook/svelte-vite is deprecated in Storybook 7.0, use @storybook/sveltekit instead.'
);
return withoutVitePlugins(plugins, ['vite-plugin-svelte-kit']);
if (hasSvelteKitPlugins && framework !== '@storybook/sveltekit') {
logger.error(
dedent`
We've detected a SvelteKit project using the @storybook/svelte-vite framework, which is not supported in Storybook 7.0
Please use the @storybook/sveltekit framework instead.
You can migrate automatically by running
npx sb@next automigrate sveltekitFramework
See https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#sveltekit-needs-the-storybooksveltekit-framework
`
);
throw new Error();
}
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/svelte-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Svelte: Develop Svelte Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,10 +51,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preset-svelte-webpack": "7.0.0-beta.1",
"@storybook/svelte": "7.0.0-beta.1"
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preset-svelte-webpack": "7.0.0-beta.3",
"@storybook/svelte": "7.0.0-beta.3"
},
"devDependencies": {
"svelte": "^3.48.0",
@ -69,7 +69,7 @@
"svelte-loader": "*"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -81,5 +81,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/sveltekit",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for SvelteKit",
"keywords": [
"storybook",
@ -51,13 +51,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/svelte-vite": "7.0.0-beta.1"
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/svelte": "7.0.0-beta.3",
"@storybook/svelte-vite": "7.0.0-beta.3"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "^4.9.3",
"vite": "^3.1.3"
"typescript": "^4.9.3"
},
"peerDependencies": {
"@storybook/addon-svelte-csf": "^2.0.0"
@ -80,5 +80,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -15,7 +15,13 @@ export const viteFinal: NonNullable<StorybookConfig['viteFinal']> = async (confi
// Remove vite-plugin-svelte-kit from plugins if using SvelteKit
// see https://github.com/storybookjs/storybook/issues/19280#issuecomment-1281204341
plugins = withoutVitePlugins(plugins, ['vite-plugin-svelte-kit']);
plugins = withoutVitePlugins(plugins, [
// pre @sveltejs/kit@1.0.0-next.574
'vite-plugin-svelte-kit',
// @sveltejs/kit@1.0.0-next.574 and later
'vite-plugin-sveltekit-build',
'vite-plugin-sveltekit-middleware',
]);
return { ...baseConfig, plugins };
};

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Vue2 and Vite: Develop Vue2 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,16 +50,17 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/vue": "7.0.0-beta.1",
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/vue": "7.0.0-beta.3",
"magic-string": "^0.26.1",
"vite": "^3.1.3",
"vite": "^3.0.0||^4.0.0",
"vue-docgen-api": "^4.40.0"
},
"devDependencies": {
"typescript": "~4.9.3",
"vite": "^4.0.0-beta.2",
"vue": "^2.7.10"
},
"peerDependencies": {
@ -68,7 +69,7 @@
"vue": "^2.7.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -80,5 +81,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Vue: Develop Vue Component in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preset-vue-webpack": "7.0.0-beta.1",
"@storybook/vue": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preset-vue-webpack": "7.0.0-beta.3",
"@storybook/vue": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -73,7 +73,7 @@
"vue-template-compiler": "^2.6.8"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -85,5 +85,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Vue3 and Vite: Develop Vue3 components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,18 +51,18 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/vue3": "7.0.0-beta.1",
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/vue3": "7.0.0-beta.3",
"@vitejs/plugin-vue": "^3.0.0",
"magic-string": "^0.26.1",
"vite": "^3.1.3",
"vite": "^3.0.0||^4.0.0",
"vue-docgen-api": "^4.40.0"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.3"
"vite": "^4.0.0-beta.2"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@ -81,5 +81,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/vue3-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for Vue 3: Develop Vue 3 Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -50,10 +50,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preset-vue3-webpack": "7.0.0-beta.1",
"@storybook/vue3": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preset-vue3-webpack": "7.0.0-beta.3",
"@storybook/vue3": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -70,7 +70,7 @@
"vue": "^3.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -82,5 +82,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/web-components-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook for web-components and Vite: Develop Web Components in isolation with Hot Reloading.",
"keywords": [
"storybook"
@ -51,17 +51,15 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/builder-vite": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/web-components": "7.0.0-beta.1",
"magic-string": "^0.26.1",
"vite": "3"
"@storybook/builder-vite": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/web-components": "7.0.0-beta.3",
"magic-string": "^0.26.1"
},
"devDependencies": {
"@types/node": "^16.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.0"
"typescript": "~4.9.3"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@ -80,5 +78,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/web-components-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"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.20.2",
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preset-web-components-webpack": "7.0.0-beta.1",
"@storybook/web-components": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preset-web-components-webpack": "7.0.0-beta.3",
"@storybook/web-components": "7.0.0-beta.3",
"@types/node": "^16.0.0"
},
"devDependencies": {
@ -69,7 +69,7 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"engines": {
"node": ">=10.13.0"
"node": ">=16.0.0"
},
"publishConfig": {
"access": "public"
@ -81,5 +81,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -2,5 +2,5 @@
"npmClient": "yarn",
"useWorkspaces": true,
"registry": "https://registry.npmjs.org",
"version": "7.0.0-beta.1"
"version": "7.0.0-beta.3"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/addons",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook addons store",
"keywords": [
"storybook"
@ -42,9 +42,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1"
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@ -58,5 +58,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-manager",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"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-beta.1",
"@storybook/manager": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/manager": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@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": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-vite",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "A plugin to run and build Storybooks with Vite",
"homepage": "https://github.com/storybookjs/storybook/tree/main/code/lib/builder-vite/#readme",
"bugs": {
@ -42,14 +42,14 @@
},
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.0.5",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/csf-plugin": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/csf-plugin": "7.0.0-beta.3",
"@storybook/mdx2-csf": "next",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@vitejs/plugin-react": "^2.0.0",
"browser-assert": "^1.2.1",
"es-module-lexer": "^0.9.3",
@ -61,14 +61,14 @@
"rollup": "^2.25.0 || ^3.3.0",
"rollup-plugin-external-globals": "^0.7.1",
"slash": "^3.0.0",
"vite": "^3.1.3"
"vite": "^3.0.0||^4.0.0"
},
"devDependencies": {
"@types/express": "^4.17.13",
"@types/node": "^16.0.0",
"rollup": "^3.0.0",
"typescript": "~4.9.3",
"vite": "^3.1.3"
"vite": "^4.0.0-beta.2"
},
"peerDependencies": {
"@preact/preset-vite": "*",
@ -91,5 +91,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/builder-webpack5",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -54,24 +54,24 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
"@storybook/addons": "7.0.0-beta.1",
"@storybook/api": "7.0.0-beta.1",
"@storybook/channel-postmessage": "7.0.0-beta.1",
"@storybook/channel-websocket": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-api": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/components": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/core-webpack": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/router": "7.0.0-beta.1",
"@storybook/store": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/addons": "7.0.0-beta.3",
"@storybook/api": "7.0.0-beta.3",
"@storybook/channel-postmessage": "7.0.0-beta.3",
"@storybook/channel-websocket": "7.0.0-beta.3",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-api": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/components": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/core-webpack": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/router": "7.0.0-beta.3",
"@storybook/store": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"@types/semver": "^7.3.4",
"babel-loader": "^8.3.0",
@ -126,5 +126,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -16,7 +16,7 @@ export interface TypescriptOptions extends TypeScriptOptionsBase {
/**
* Configures `fork-ts-checker-webpack-plugin`
*/
checkOptions?: ForkTsCheckerWebpackPlugin['options'];
checkOptions?: ConstructorParameters<typeof ForkTsCheckerWebpackPlugin>[0];
}
export interface StorybookConfigWebpack extends Pick<StorybookConfig, 'webpack' | 'webpackFinal'> {

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channel-postmessage",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -42,9 +42,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"global": "^4.4.0",
"qs": "^6.10.0",
"telejson": "^7.0.3"
@ -60,5 +60,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channel-websocket",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"global": "^4.4.0",
"telejson": "^7.0.3"
},
@ -58,5 +58,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/channels",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -52,5 +52,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "sb",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook CLI",
"keywords": [
"storybook"
@ -24,7 +24,7 @@
"prep": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/cli": "7.0.0-beta.1"
"@storybook/cli": "7.0.0-beta.3"
},
"devDependencies": {
"typescript": "~4.9.3"
@ -32,5 +32,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "storybook",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook CLI",
"keywords": [
"storybook"
@ -27,7 +27,7 @@
"prep": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/cli": "7.0.0-beta.1"
"@storybook/cli": "7.0.0-beta.3"
},
"devDependencies": {
"typescript": "~4.9.3"
@ -35,5 +35,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/cli",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook's CLI - easiest method of adding storybook to your projects",
"keywords": [
"cli",
@ -43,13 +43,13 @@
"dependencies": {
"@babel/core": "^7.20.2",
"@babel/preset-env": "^7.20.2",
"@storybook/codemod": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-server": "7.0.0-beta.1",
"@storybook/csf-tools": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/telemetry": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/codemod": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-server": "7.0.0-beta.3",
"@storybook/csf-tools": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/telemetry": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/semver": "^7.3.4",
"boxen": "^5.1.2",
"chalk": "^4.1.0",
@ -77,7 +77,7 @@
"util-deprecate": "^1.0.2"
},
"devDependencies": {
"@storybook/client-api": "7.0.0-beta.1",
"@storybook/client-api": "7.0.0-beta.3",
"@types/cross-spawn": "^6.0.2",
"@types/prompts": "^2.0.9",
"@types/puppeteer-core": "^2.1.0",
@ -98,5 +98,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -12,6 +12,7 @@ import { newFrameworks } from './new-frameworks';
import { removedGlobalClientAPIs } from './remove-global-client-apis';
import { mdx1to2 } from './mdx-1-to-2';
import { docsPageAutomatic } from './docsPage-automatic';
import { sveltekitFramework } from './sveltekit-framework';
import { addReact } from './add-react';
export * from '../types';
@ -23,6 +24,7 @@ export const fixes: Fix[] = [
vue3,
mainjsFramework,
eslintPlugin,
sveltekitFramework,
builderVite,
sbScripts,
newFrameworks,

View File

@ -262,8 +262,7 @@ export const newFrameworks: Fix<NewFrameworkRunOptions> = {
if (currentCore) {
if (Object.keys(currentCore).length === 0) {
// TODO: this should delete the field instead
main.setFieldValue(['core'], {});
main.removeField(['core']);
} else {
main.setFieldValue(['core'], currentCore);
}

View File

@ -0,0 +1,174 @@
/* eslint-disable no-underscore-dangle */
import type { StorybookConfig } from 'lib/types/src';
import path from 'path';
import type { JsPackageManager, PackageJson } from '../../js-package-manager';
import { sveltekitFramework } from './sveltekit-framework';
// eslint-disable-next-line global-require, jest/no-mocks-import
jest.mock('fs-extra', () => require('../../../../../__mocks__/fs-extra'));
const checkSvelteKitFramework = async ({
packageJson,
main,
}: {
packageJson: PackageJson;
main?: Partial<StorybookConfig>;
}) => {
if (main) {
// eslint-disable-next-line global-require
require('fs-extra').__setMockFiles({
[path.join('.storybook', 'main.js')]: `module.exports = ${JSON.stringify(main)};`,
});
} else {
// eslint-disable-next-line global-require
require('fs-extra').__setMockFiles({});
}
const packageManager = {
retrievePackageJson: () => ({ dependencies: {}, devDependencies: {}, ...packageJson }),
} as JsPackageManager;
return sveltekitFramework.check({ packageManager });
};
describe('SvelteKit framework fix', () => {
describe('should no-op', () => {
it('in SB < v7.0.0', async () => {
const packageJson = {
dependencies: { '@sveltejs/kit': '^1.0.0-next.571', '@storybook/svelte': '^6.2.0' },
};
const main = { framework: '@storybook/svelte-vite' };
await expect(checkSvelteKitFramework({ packageJson, main })).resolves.toBeFalsy();
});
describe('in SB >= v7.0.0', () => {
it('in non-SvelteKit projects', async () => {
const packageJson = {
dependencies: { svelte: '^3.53.1', '@storybook/svelte-vite': '^7.0.0' },
};
const main = {
framework: '@storybook/svelte-vite',
};
await expect(checkSvelteKitFramework({ packageJson, main })).resolves.toBeFalsy();
});
it('without main', async () => {
const packageJson = {
dependencies: { '@sveltejs/kit': '^1.0.0-next.571', '@storybook/svelte': '^7.0.0' },
};
await expect(checkSvelteKitFramework({ packageJson })).rejects.toThrow();
});
it('without framework field in main', async () => {
const packageJson = {
dependencies: { '@sveltejs/kit': '^1.0.0-next.571', '@storybook/svelte': '^7.0.0' },
};
const main = {};
await expect(checkSvelteKitFramework({ packageJson, main })).rejects.toThrow();
});
it('with unsupported framework', async () => {
const packageJson = {
dependencies: {
'@sveltejs/kit': '^1.0.0-next.571',
'@storybook/svelte-vite': '^7.0.0',
'@storybook/html': '^7.0.0',
},
};
const main = {
framework: '@storybook/html',
};
await expect(checkSvelteKitFramework({ packageJson, main })).rejects.toThrow();
});
it('with unsupported framework+builder from SB 6.5', async () => {
const packageJson = {
dependencies: {
'@sveltejs/kit': '^1.0.0-next.571',
'@storybook/svelte-webpack5': '^7.0.0',
'@storybook/svelte': '^7.0.0',
},
};
const main = {
framework: '@storybook/svelte',
core: { builder: '@storybook/builder-webpack5' },
};
await expect(checkSvelteKitFramework({ packageJson, main })).rejects.toThrow();
});
it('with @storybook/svelte-webpack5 framework', async () => {
const packageJson = {
dependencies: {
'@storybook/svelte': '^7.0.0',
'@storybook/svelte-webpack5': '^7.0.0',
'@sveltejs/kit': '^1.0.0-next.571',
},
};
const main = {
framework: '@storybook/svelte-webpack5',
};
await expect(checkSvelteKitFramework({ packageJson, main })).rejects.toThrow();
});
});
});
describe('should migrate', () => {
it('from @storybook/svelte-vite', async () => {
const packageJson = {
dependencies: {
'@storybook/svelte': '^7.0.0',
'@storybook/svelte-vite': '^7.0.0',
'@sveltejs/kit': '^1.0.0-next.571',
},
};
const main = {
framework: '@storybook/svelte-vite',
};
await expect(checkSvelteKitFramework({ packageJson, main })).resolves.toMatchObject({
packageJson,
main: expect.objectContaining({}),
frameworkOptions: undefined,
dependenciesToRemove: ['@storybook/svelte-vite'],
});
});
it('from @storybook/svelte framework and @storybook/builder-vite builder', async () => {
const packageJson = {
dependencies: {
'@storybook/svelte': '^7.0.0',
'@storybook/builder-vite': '^7.0.0',
'@sveltejs/kit': '^1.0.0-next.571',
},
};
const main = {
framework: '@storybook/svelte',
core: { builder: '@storybook/builder-vite' },
};
await expect(checkSvelteKitFramework({ packageJson, main })).resolves.toMatchObject({
packageJson,
main: expect.objectContaining({}),
frameworkOptions: undefined,
dependenciesToRemove: ['@storybook/builder-vite'],
});
});
it('from @storybook/svelte framework and storybook-builder-vite builder', async () => {
const packageJson = {
dependencies: {
'@storybook/svelte': '^7.0.0',
'storybook-builder-vite': '^0.2.5',
'@sveltejs/kit': '^1.0.0-next.571',
},
};
const main = {
framework: '@storybook/svelte',
core: { builder: 'storybook-builder-vite' },
};
await expect(checkSvelteKitFramework({ packageJson, main })).resolves.toMatchObject({
packageJson,
main: expect.objectContaining({}),
frameworkOptions: undefined,
dependenciesToRemove: ['storybook-builder-vite'],
});
});
});
});

View File

@ -0,0 +1,186 @@
import chalk from 'chalk';
import dedent from 'ts-dedent';
import semver from 'semver';
import type { ConfigFile } from '@storybook/csf-tools';
import { readConfig, writeConfig } from '@storybook/csf-tools';
import { getStorybookInfo } from '@storybook/core-common';
import type { Fix } from '../types';
import type { PackageJsonWithDepsAndDevDeps } from '../../js-package-manager';
import { getStorybookVersionSpecifier } from '../../helpers';
const logger = console;
interface SvelteKitFrameworkRunOptions {
main: ConfigFile;
packageJson: PackageJsonWithDepsAndDevDeps;
frameworkOptions: Record<string, any> | undefined;
dependenciesToRemove: string[];
}
const fixId = 'sveltekitFramework';
/**
* Does the user have a SvelteKit project but is using a Svelte+Vite setup instead of the @storybook/sveltekit framework?
*
* If so:
* - Remove the dependencies (@storybook/svelte-vite, @storybook/builder-vite, storybook-builder-vite)
* - Add the dependencies (@storybook/sveltekit)
* - Update the main config to use the new framework
*/
export const sveltekitFramework: Fix<SvelteKitFrameworkRunOptions> = {
id: fixId,
async check({ packageManager }) {
const packageJson = packageManager.retrievePackageJson();
const allDeps = { ...packageJson.dependencies, ...packageJson.devDependencies };
if (!allDeps['@sveltejs/kit']) {
return null;
}
const { mainConfig, version: storybookVersion } = getStorybookInfo(packageJson);
if (!mainConfig) {
logger.warn('Unable to find storybook main.js config, skipping');
return null;
}
const sbVersionCoerced = storybookVersion && semver.coerce(storybookVersion)?.version;
if (!sbVersionCoerced) {
logger.warn(dedent`
Unable to determine Storybook version, skipping ${chalk.cyan(fixId)} fix.
🤔 Are you running automigrate from your project directory?
`);
return null;
}
if (!semver.gte(sbVersionCoerced, '7.0.0')) {
return null;
}
const main = await readConfig(mainConfig);
const frameworkConfig = main.getFieldValue(['framework']);
if (!frameworkConfig) {
logger.warn(dedent`
Unable to determine Storybook framework, skipping ${chalk.cyan(fixId)} fix.
🤔 Are you running automigrate from your project directory?
`);
return null;
}
const framework = typeof frameworkConfig === 'string' ? frameworkConfig : frameworkConfig.name;
const frameworkOptions = main.getFieldValue(['framework', 'options']);
if (framework === '@storybook/svelte-vite') {
// direct migration from svelte-vite projects
return {
main,
frameworkOptions,
packageJson,
dependenciesToRemove: ['@storybook/svelte-vite'],
};
}
if (framework !== '@storybook/svelte') {
// migration from projects using Svelte but with an unrecognized framework+builder setup - not supported
logger.warn(dedent`
We've detected you are using Storybook in a SvelteKit project.
In Storybook 7, we introduced a new framework package for SvelteKit projects: @storybook/sveltekit.
This package provides a better experience for SvelteKit users, however it is only compatible with the Svelte framework and the Vite builder, so we can't automigrate for you, as you are using another framework and builder combination.
If you are interested in using this package, see: ${chalk.yellow(
'https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#sveltekit-needs-the-storybooksveltekit-framework'
)}
`);
return null;
}
const builder = main.getFieldValue(['core', 'builder']);
if (!['@storybook/builder-vite', 'storybook-builder-vite'].includes(builder)) {
// migration from 6.x projects using Svelte with the Webpack builder - not supported
logger.warn(dedent`
We've detected you are using Storybook in a SvelteKit project.
In Storybook 7, we introduced a new framework package for SvelteKit projects: @storybook/sveltekit.
This package provides a better experience for SvelteKit users, however it is only compatible with the Vite builder, so we can't automigrate for you, as you are using another builder.
If you are interested in using this package, see: ${chalk.yellow(
'https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#sveltekit-needs-the-storybooksveltekit-framework'
)}
`);
return null;
}
// migration from 6.x projects using Svelte with the Vite builder
return {
main,
frameworkOptions,
packageJson,
dependenciesToRemove: [builder],
};
},
prompt() {
return dedent`
We've detected you are using Storybook in a SvelteKit project.
In Storybook 7, we introduced a new framework package for SvelteKit projects: @storybook/sveltekit
This package is a replacement for @storybook/svelte-vite and provides a better experience for SvelteKit users.
We can automatically migrate your project to use the new SvelteKit framework package.
To learn more about this change, see: ${chalk.yellow(
'https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#sveltekit-needs-the-storybooksveltekit-framework'
)}
`;
},
async run({
result: { main, frameworkOptions, packageJson, dependenciesToRemove },
packageManager,
dryRun,
}) {
logger.info(`✅ Removing redundant packages: ${dependenciesToRemove.join(', ')}`);
if (!dryRun) {
packageManager.removeDependencies({ skipInstall: true, packageJson }, dependenciesToRemove);
}
logger.info(`✅ Installing new dependencies: @storybook/sveltekit`);
if (!dryRun) {
const versionToInstall = getStorybookVersionSpecifier(packageJson);
packageManager.addDependencies({ installAsDevDependencies: true, packageJson }, [
`@storybook/sveltekit@${versionToInstall}`,
]);
}
logger.info(`✅ Updating framework field in main.js`);
if (frameworkOptions) {
main.setFieldValue(['framework', 'options'], frameworkOptions);
main.setFieldValue(['framework', 'name'], '@storybook/sveltekit');
} else {
main.setFieldValue(['framework'], '@storybook/sveltekit');
}
const currentCore = main.getFieldValue(['core']);
if (currentCore.builder) {
logger.info(`✅ Updating core field in main.js`);
const { builder, ...core } = currentCore;
if (Object.keys(core).length === 0) {
main.removeField(['core']);
} else {
main.setFieldValue(['core'], core);
}
}
if (!dryRun) {
await writeConfig(main);
}
},
};

View File

@ -66,6 +66,7 @@ export const automigrate = async ({ fixId, dryRun, yes, useNpm, force }: FixOpti
type: 'confirm',
name: 'fix',
message: `Do you want to run the '${chalk.cyan(f.id)}' migration on your project?`,
initial: true,
});
}

View File

@ -296,22 +296,19 @@ describe('Detect', () => {
it(`should return language typescript if the dependency is >TS4.9`, () => {
expect(detectLanguage({ dependencies: { typescript: '4.9.1' } })).toBe(
// TODO: switch to TYPESCRIPT once csf-tools and eslint-plugin-storybook support `satisfies` operator
SupportedLanguage.TYPESCRIPT_LEGACY
SupportedLanguage.TYPESCRIPT
);
});
it(`should return language typescript if the dependency is =TS4.9`, () => {
expect(detectLanguage({ dependencies: { typescript: '4.9.0' } })).toBe(
// TODO: switch to TYPESCRIPT once csf-tools and eslint-plugin-storybook support `satisfies` operator
SupportedLanguage.TYPESCRIPT_LEGACY
SupportedLanguage.TYPESCRIPT
);
});
it(`should return language typescript if the dependency is =TS4.9beta`, () => {
expect(detectLanguage({ dependencies: { typescript: '^4.9.0-beta' } })).toBe(
// TODO: switch to TYPESCRIPT once csf-tools and eslint-plugin-storybook support `satisfies` operator
SupportedLanguage.TYPESCRIPT_LEGACY
SupportedLanguage.TYPESCRIPT
);
});

View File

@ -170,10 +170,13 @@ export function detectLanguage(packageJson?: PackageJson) {
(!hasDependency(packageJson, '@typescript-eslint/parser') ||
hasDependency(packageJson, '@typescript-eslint/parser', (version) =>
semver.gte(semver.coerce(version), '5.44.0')
)) &&
(!hasDependency(packageJson, 'eslint-plugin-storybook') ||
hasDependency(packageJson, 'eslint-plugin-storybook', (version) =>
semver.gte(semver.coerce(version), '0.6.8')
))
) {
// TODO: switch to TYPESCRIPT once csf-tools and eslint-plugin-storybook support `satisfies` operator
language = SupportedLanguage.TYPESCRIPT_LEGACY;
language = SupportedLanguage.TYPESCRIPT;
} else if (hasDependency(packageJson, 'typescript')) {
language = SupportedLanguage.TYPESCRIPT_LEGACY;
}

View File

@ -63,7 +63,7 @@ export const link = async ({ target, local, start }: LinkOptions) => {
`Magic stuff related to @storybook/preset-create-react-app, we need to fix peerDependencies`
);
if (!reproPackageJson.devDependencies.vite) {
if (!reproPackageJson.devDependencies?.vite) {
await exec(`yarn add -D webpack-hot-middleware`, { cwd: reproDir });
}

View File

@ -1,13 +1,10 @@
import { listCodemods, runCodemod } from '@storybook/codemod';
export async function migrate(
migration: any,
{ configDir, glob, dryRun, list, rename, logger, parser }: any
) {
export async function migrate(migration: any, { glob, dryRun, list, rename, logger, parser }: any) {
if (list) {
listCodemods().forEach((key: any) => logger.log(key));
} else if (migration) {
await runCodemod(migration, { configDir, glob, dryRun, logger, rename, parser });
await runCodemod(migration, { glob, dryRun, logger, rename, parser });
} else {
throw new Error('Migrate: please specify a migration name or --list');
}

View File

@ -238,7 +238,7 @@ export const allTemplates: Record<string, Template> = {
inDevelopment: true,
name: 'Svelte Kit (JS)',
script:
'yarn create svelte-with-args --name=svelte-kit/skeleton-js --directory=. --template=skeleton --types=null --no-prettier --no-eslint --no-playwright',
'yarn create svelte-with-args --name=svelte-kit/skeleton-js --directory=. --template=skeleton --types=null --no-prettier --no-eslint --no-playwright --no-vitest',
expected: {
framework: '@storybook/sveltekit',
renderer: '@storybook/svelte',
@ -249,7 +249,7 @@ export const allTemplates: Record<string, Template> = {
inDevelopment: true,
name: 'Svelte Kit (TS)',
script:
'yarn create svelte-with-args --name=svelte-kit/skeleton-ts --directory=. --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright',
'yarn create svelte-with-args --name=svelte-kit/skeleton-ts --directory=. --template=skeleton --types=typescript --no-prettier --no-eslint --no-playwright --no-vitest',
expected: {
framework: '@storybook/sveltekit',
renderer: '@storybook/svelte',

View File

@ -1,2 +1 @@
declare module '@storybook/codemod';
declare module 'envinfo';

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/client-api",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook Client API",
"keywords": [
"storybook"
@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1"
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3"
},
"publishConfig": {
"access": "public"
@ -54,5 +54,5 @@
],
"shim": "@storybook/preview-api/dist/client-api"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/client-logger",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -55,5 +55,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/codemod",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "A collection of codemod scripts written with JSCodeshift",
"keywords": [
"storybook"
@ -26,11 +26,19 @@
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
},
"./dist/transforms/add-component-parameters.js": "./dist/transforms/add-component-parameters.js",
"./dist/transforms/csf-2-to-3.js": "./dist/transforms/csf-2-to-3.js",
"./dist/transforms/csf-hoist-story-annotations.js": "./dist/transforms/csf-hoist-story-annotations.js",
"./dist/transforms/csf-to-mdx.js": "./dist/transforms/csf-to-mdx.js",
"./dist/transforms/move-builtin-addons.js": "./dist/transforms/move-builtin-addons.js",
"./dist/transforms/storiesof-to-csf.js": "./dist/transforms/storiesof-to-csf.js",
"./dist/transforms/update-addon-info.js": "./dist/transforms/update-addon-info.js",
"./dist/transforms/update-organisation-name.js": "./dist/transforms/update-organisation-name.js",
"./dist/transforms/upgrade-hierarchy-separators.js": "./dist/transforms/upgrade-hierarchy-separators.js",
"./package.json": "./package.json"
},
"main": "dist/index.js",
"module": "dist/index.mjs",
"jsnext:main": "src/index.js",
"types": "dist/index.d.ts",
"scripts": {
"check": "../../../scripts/node_modules/.bin/tsc --noEmit",
@ -39,9 +47,9 @@
"dependencies": {
"@babel/types": "^7.20.2",
"@storybook/csf": "next",
"@storybook/csf-tools": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/csf-tools": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"cross-spawn": "^7.0.3",
"globby": "^11.0.2",
"jscodeshift": "^0.13.1",
@ -61,8 +69,17 @@
"bundler": {
"platform": "node",
"entries": [
"./src/index.js"
"./src/index.js",
"./src/transforms/add-component-parameters.js",
"./src/transforms/csf-2-to-3.ts",
"./src/transforms/csf-hoist-story-annotations.js",
"./src/transforms/csf-to-mdx.js",
"./src/transforms/move-builtin-addons.js",
"./src/transforms/storiesof-to-csf.js",
"./src/transforms/update-addon-info.js",
"./src/transforms/update-organisation-name.js",
"./src/transforms/upgrade-hierarchy-separators.js"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,7 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"skipLibCheck": true
"skipLibCheck": true,
"allowJs": true
},
"include": ["src/**/*"]
"include": ["src/**/*"],
"exclude": ["node_modules", "__testfixtures__", "__tests__"]
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-client",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -35,8 +35,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1"
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3"
},
"publishConfig": {
"access": "public"
@ -47,5 +47,5 @@
],
"shim": "@storybook/preview-api/dist/core-client"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-common",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -47,8 +47,8 @@
},
"dependencies": {
"@babel/core": "^7.20.2",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/babel__core": "^7.1.20",
"@types/express": "^4.7.0",
"@types/node": "^16.0.0",
@ -91,5 +91,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-events",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Event names used in storybook core",
"keywords": [
"storybook"
@ -52,5 +52,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-server",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -35,16 +35,16 @@
"dependencies": {
"@aw-web-design/x-default-browser": "1.4.88",
"@discoveryjs/json-ext": "^0.5.3",
"@storybook/builder-manager": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/builder-manager": "7.0.0-beta.3",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/csf": "next",
"@storybook/csf-tools": "7.0.0-beta.1",
"@storybook/csf-tools": "7.0.0-beta.3",
"@storybook/docs-mdx": "next",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/telemetry": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/telemetry": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"@types/node-fetch": "^2.5.7",
"@types/pretty-hrtime": "^1.0.0",
@ -76,7 +76,7 @@
"ws": "^8.2.3"
},
"devDependencies": {
"@storybook/builder-webpack5": "7.0.0-beta.1",
"@storybook/builder-webpack5": "7.0.0-beta.3",
"@types/compression": "^1.7.0",
"@types/ip": "^1.1.0",
"@types/serve-favicon": "^2.5.2",
@ -101,5 +101,5 @@
"publishConfig": {
"access": "public"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -5,7 +5,7 @@ import { dedent } from 'ts-dedent';
import global from 'global';
import { logger } from '@storybook/node-logger';
import { telemetry } from '@storybook/telemetry';
import { telemetry, getPrecedingUpgrade } from '@storybook/telemetry';
import type {
BuilderOptions,
CLIOptions,
@ -173,11 +173,14 @@ export async function buildStaticStandalone(
effects.push(
initializedStoryIndexGenerator.then(async (generator) => {
const storyIndex = await generator?.getIndex();
const payload = storyIndex
? {
storyIndex: summarizeIndex(storyIndex),
}
: undefined;
const payload = {
precedingUpgrade: await getPrecedingUpgrade(),
};
if (storyIndex) {
Object.assign(payload, {
storyIndex: summarizeIndex(storyIndex),
});
}
await telemetry('build', payload, { configDir: options.configDir });
})
);

View File

@ -109,7 +109,9 @@ export async function storybookDevServer(options: Options) {
// this is a preview route, the builder has to be started before we can serve it
// this handler keeps request to that route pending until the builder is ready to serve it, preventing a 404
router.get('/iframe.html', (req, res, next) => {
previewStarted.then(() => next());
// We need to catch here or node will treat any errors thrown by `previewStarted` as
// unhandled and exit (even though they are very much handled below)
previewStarted.catch(() => {}).then(() => next());
});
Promise.all([initializedStoryIndexGenerator, listening, usingStatics]).then(async () => {

View File

@ -1,5 +1,5 @@
import type { CoreConfig, Options } from '@storybook/types';
import { telemetry } from '@storybook/telemetry';
import { telemetry, getPrecedingUpgrade } from '@storybook/telemetry';
import { useStorybookMetadata } from './metadata';
import type { StoryIndexGenerator } from './StoryIndexGenerator';
import { summarizeIndex } from './summarizeIndex';
@ -15,12 +15,15 @@ export async function doTelemetry(
initializedStoryIndexGenerator.then(async (generator) => {
const storyIndex = await generator?.getIndex();
const { versionCheck, versionUpdates } = options;
const payload = storyIndex
? {
versionStatus: versionUpdates ? versionStatus(versionCheck) : 'disabled',
storyIndex: summarizeIndex(storyIndex),
}
: undefined;
const payload = {
precedingUpgrade: await getPrecedingUpgrade(),
};
if (storyIndex) {
Object.assign(payload, {
versionStatus: versionUpdates ? versionStatus(versionCheck) : 'disabled',
storyIndex: summarizeIndex(storyIndex),
});
}
telemetry('dev', payload, { configDir: options.configDir });
});
}

View File

@ -63,10 +63,10 @@ describe('when command fails', () => {
withTelemetry('dev', { presetOptions: {} as any }, run)
).rejects.toThrow(error);
expect(telemetry).toHaveBeenCalledTimes(1);
expect(telemetry).not.toHaveBeenCalledWith(
expect(telemetry).toHaveBeenCalledTimes(2);
expect(telemetry).toHaveBeenCalledWith(
'error',
{ eventType: 'dev', error },
{ eventType: 'dev' },
expect.objectContaining({})
);
});
@ -88,7 +88,7 @@ describe('when command fails', () => {
);
});
it('does not send error message when telemetry is disabled', async () => {
it('does not send full error message when telemetry is disabled', async () => {
jest.mocked(loadAllPresets).mockResolvedValueOnce({
apply: async () => ({ disableTelemetry: true } as any),
});
@ -132,10 +132,10 @@ describe('when command fails', () => {
withTelemetry('dev', { presetOptions: {} as any }, run)
).rejects.toThrow(error);
expect(telemetry).toHaveBeenCalledTimes(1);
expect(telemetry).not.toHaveBeenCalledWith(
expect(telemetry).toHaveBeenCalledTimes(2);
expect(telemetry).toHaveBeenCalledWith(
'error',
{ eventType: 'dev', error },
{ eventType: 'dev' },
expect.objectContaining({})
);
});
@ -169,10 +169,10 @@ describe('when command fails', () => {
withTelemetry('dev', { presetOptions: {} as any }, run)
).rejects.toThrow(error);
expect(telemetry).toHaveBeenCalledTimes(1);
expect(telemetry).not.toHaveBeenCalledWith(
expect(telemetry).toHaveBeenCalledTimes(2);
expect(telemetry).toHaveBeenCalledWith(
'error',
{ eventType: 'dev', error },
{ eventType: 'dev' },
expect.objectContaining({})
);
});

View File

@ -1,7 +1,7 @@
import prompts from 'prompts';
import type { CLIOptions, CoreConfig } from '@storybook/types';
import { loadAllPresets, cache } from '@storybook/core-common';
import { telemetry } from '@storybook/telemetry';
import { telemetry, getPrecedingUpgrade } from '@storybook/telemetry';
import type { EventType } from '@storybook/telemetry';
type TelemetryOptions = {
@ -26,11 +26,13 @@ const promptCrashReports = async () => {
return enableCrashReports;
};
async function shouldSendError({ cliOptions, presetOptions }: TelemetryOptions) {
if (cliOptions?.disableTelemetry) return false;
type ErrorLevel = 'none' | 'error' | 'full';
async function getErrorLevel({ cliOptions, presetOptions }: TelemetryOptions): Promise<ErrorLevel> {
if (cliOptions?.disableTelemetry) return 'none';
// If we are running init or similar, we just have to go with true here
if (!presetOptions) return true;
if (!presetOptions) return 'full';
// should we load the preset?
const presets = await loadAllPresets({
@ -42,18 +44,18 @@ async function shouldSendError({ cliOptions, presetOptions }: TelemetryOptions)
// If the user has chosen to enable/disable crash reports in main.js
// or disabled telemetry, we can return that
const core = await presets.apply<CoreConfig>('core');
if (core?.enableCrashReports !== undefined) return core.enableCrashReports;
if (core?.disableTelemetry) return false;
if (core?.enableCrashReports !== undefined) return core.enableCrashReports ? 'full' : 'error';
if (core?.disableTelemetry) return 'none';
// Deal with typo, remove in future version (7.1?)
const valueFromCache =
(await cache.get('enableCrashReports')) ?? (await cache.get('enableCrashreports'));
if (valueFromCache !== undefined) return valueFromCache;
if (valueFromCache !== undefined) return valueFromCache ? 'full' : 'error';
const valueFromPrompt = await promptCrashReports();
if (valueFromPrompt !== undefined) return valueFromPrompt;
if (valueFromPrompt !== undefined) return valueFromPrompt ? 'full' : 'error';
return true;
return 'full';
}
export async function withTelemetry(
@ -67,14 +69,17 @@ export async function withTelemetry(
await run();
} catch (error) {
try {
if (await shouldSendError(options)) {
const errorLevel = await getErrorLevel(options);
if (errorLevel !== 'none') {
const precedingUpgrade = await getPrecedingUpgrade();
await telemetry(
'error',
{ eventType, error },
{ eventType, precedingUpgrade, error: errorLevel === 'full' ? error : undefined },
{
immediate: true,
configDir: options.cliOptions?.configDir || options.presetOptions?.configDir,
enableCrashReports: true,
enableCrashReports: errorLevel === 'full',
}
);
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/core-webpack",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook framework-agnostic API",
"keywords": [
"storybook"
@ -42,9 +42,9 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/node-logger": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/node-logger": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"@types/node": "^16.0.0",
"ts-dedent": "^2.0.0"
},
@ -61,5 +61,5 @@
],
"platform": "node"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/csf-plugin",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Enrich CSF files via static analysis",
"keywords": [
"storybook"
@ -42,7 +42,7 @@
"prep": "node ../../../scripts/prepare.js"
},
"dependencies": {
"@storybook/csf-tools": "7.0.0-beta.1",
"@storybook/csf-tools": "7.0.0-beta.3",
"unplugin": "^0.10.2"
},
"devDependencies": {
@ -56,5 +56,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/csf-tools",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -44,7 +44,7 @@
"dependencies": {
"@babel/types": "^7.20.2",
"@storybook/csf": "next",
"@storybook/types": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.3",
"fs-extra": "^9.0.1",
"ts-dedent": "^2.0.0"
},
@ -64,5 +64,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -19,6 +19,12 @@ const setField = (path: string[], value: any, source: string) => {
return formatConfig(config);
};
const removeField = (path: string[], source: string) => {
const config = loadConfig(source).parse();
config.removeField(path);
return formatConfig(config);
};
describe('ConfigFile', () => {
describe('getField', () => {
describe('named exports', () => {
@ -432,4 +438,313 @@ describe('ConfigFile', () => {
});
});
});
describe('removeField', () => {
describe('named exports', () => {
it('missing export', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export const addons = [];
`
)
).toMatchInlineSnapshot(`export const addons = [];`);
});
it('missing field', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export const core = { foo: 'bar' };
`
)
).toMatchInlineSnapshot(`
export const core = {
foo: 'bar'
};
`);
});
it('found scalar', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export const core = { builder: 'webpack4' };
`
)
).toMatchInlineSnapshot(`export const core = {};`);
});
it('found object', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export const core = { builder: { name: 'webpack4' } };
`
)
).toMatchInlineSnapshot(`export const core = {};`);
});
it('nested object', () => {
expect(
removeField(
['core', 'builder', 'name'],
dedent`
export const core = { builder: { name: 'webpack4' } };
`
)
).toMatchInlineSnapshot(`
export const core = {
builder: {}
};
`);
});
it('string literal key', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export const core = { 'builder': 'webpack4' };
`
)
).toMatchInlineSnapshot(`export const core = {};`);
});
it('variable export', () => {
expect(
removeField(
['core', 'builder'],
dedent`
const coreVar = { builder: 'webpack4' };
export const core = coreVar;
`
)
).toMatchInlineSnapshot(`
const coreVar = {};
export const core = coreVar;
`);
});
it('root export variable', () => {
expect(
removeField(
['core'],
dedent`
export const core = { builder: { name: 'webpack4' } };
export const addons = [];
`
)
).toMatchInlineSnapshot(`export const addons = [];`);
});
});
describe('module exports', () => {
it('missing export', () => {
expect(
removeField(
['core', 'builder'],
dedent`
module.exports = { addons: [] };
`
)
).toMatchInlineSnapshot(`
module.exports = {
addons: []
};
`);
});
it('missing field', () => {
expect(
removeField(
['core', 'builder'],
dedent`
module.exports = { core: { foo: 'bar' }};
`
)
).toMatchInlineSnapshot(`
module.exports = {
core: {
foo: 'bar'
}
};
`);
});
it('found scalar', () => {
expect(
removeField(
['core', 'builder'],
dedent`
module.exports = { core: { builder: 'webpack4' } };
`
)
).toMatchInlineSnapshot(`
module.exports = {
core: {}
};
`);
});
it('nested scalar', () => {
expect(
removeField(
['core', 'builder', 'name'],
dedent`
module.exports = { core: { builder: { name: 'webpack4' } } };
`
)
).toMatchInlineSnapshot(`
module.exports = {
core: {
builder: {}
}
};
`);
});
it('string literal key', () => {
expect(
removeField(
['core', 'builder'],
dedent`
module.exports = { 'core': { 'builder': 'webpack4' } };
`
)
).toMatchInlineSnapshot(`
module.exports = {
'core': {}
};
`);
});
it('root property', () => {
expect(
removeField(
['core'],
dedent`
module.exports = { core: { builder: { name: 'webpack4' } }, addons: [] };
`
)
).toMatchInlineSnapshot(`
module.exports = {
addons: []
};
`);
});
});
describe('default export', () => {
it('missing export', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export default { addons: [] };
`
)
).toMatchInlineSnapshot(`
export default {
addons: []
};
`);
});
it('missing field', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export default { core: { foo: 'bar' }};
`
)
).toMatchInlineSnapshot(`
export default {
core: {
foo: 'bar'
}
};
`);
});
it('found scalar', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export default { core: { builder: 'webpack4' } };
`
)
).toMatchInlineSnapshot(`
export default {
core: {}
};
`);
});
it('nested scalar', () => {
expect(
removeField(
['core', 'builder', 'name'],
dedent`
export default { core: { builder: { name: 'webpack4' } } };
`
)
).toMatchInlineSnapshot(`
export default {
core: {
builder: {}
}
};
`);
});
it('string literal key', () => {
expect(
removeField(
['core', 'builder'],
dedent`
export default { 'core': { 'builder': 'webpack4' } };
`
)
).toMatchInlineSnapshot(`
export default {
'core': {}
};
`);
});
it('root property', () => {
expect(
removeField(
['core'],
dedent`
export default { core: { builder: { name: 'webpack4' } }, addons: [] };
`
)
).toMatchInlineSnapshot(`
export default {
addons: []
};
`);
});
});
describe('quotes', () => {
it('no quotes', () => {
expect(setField(['foo', 'bar'], 'baz', '')).toMatchInlineSnapshot(`
export const foo = {
bar: "baz"
};
`);
});
it('more single quotes', () => {
expect(setField(['foo', 'bar'], 'baz', `export const stories = ['a', 'b', "c"]`))
.toMatchInlineSnapshot(`
export const stories = ['a', 'b', "c"];
export const foo = {
bar: 'baz'
};
`);
});
it('more double quotes', () => {
expect(setField(['foo', 'bar'], 'baz', `export const stories = ['a', "b", "c"]`))
.toMatchInlineSnapshot(`
export const stories = ['a', "b", "c"];
export const foo = {
bar: "baz"
};
`);
});
});
});
});

View File

@ -31,6 +31,27 @@ const _getPath = (path: string[], node: t.Node): t.Node | undefined => {
return undefined;
};
// eslint-disable-next-line @typescript-eslint/naming-convention
const _getPathProperties = (path: string[], node: t.Node): t.ObjectProperty[] | undefined => {
if (path.length === 0) {
if (t.isObjectExpression(node)) {
return node.properties as t.ObjectProperty[];
}
throw new Error('Expected object expression');
}
if (t.isObjectExpression(node)) {
const [first, ...rest] = path;
const field = node.properties.find((p: t.ObjectProperty) => propKey(p) === first);
if (field) {
// FXIME handle spread etc.
if (rest.length === 0) return node.properties as t.ObjectProperty[];
return _getPathProperties(rest, (field as t.ObjectProperty).value);
}
}
return undefined;
};
// eslint-disable-next-line @typescript-eslint/naming-convention
const _findVarInitialization = (identifier: string, program: t.Program) => {
let init: t.Expression | null | undefined = null;
@ -196,6 +217,13 @@ export class ConfigFile {
return _getPath(rest, exported);
}
getFieldProperties(path: string[]) {
const [root, ...rest] = path;
const exported = this._exports[root];
if (!exported) return undefined;
return _getPathProperties(rest, exported);
}
getFieldValue(path: string[]) {
const node = this.getFieldNode(path);
if (node) {
@ -226,6 +254,63 @@ export class ConfigFile {
}
}
removeField(path: string[]) {
const removeProperty = (properties: t.ObjectProperty[], prop: string) => {
const index = properties.findIndex(
(p) =>
(t.isIdentifier(p.key) && p.key.name === prop) ||
(t.isStringLiteral(p.key) && p.key.value === prop)
);
if (index >= 0) {
properties.splice(index, 1);
}
};
// the structure of this._exports doesn't work for this use case
// so we have to manually bypass it here
if (path.length === 1) {
let removedRootProperty = false;
// removing the root export
this._ast.program.body.forEach((node) => {
// named export
if (t.isExportNamedDeclaration(node) && t.isVariableDeclaration(node.declaration)) {
const decl = node.declaration.declarations[0];
if (t.isIdentifier(decl.id) && decl.id.name === path[0]) {
this._ast.program.body.splice(this._ast.program.body.indexOf(node), 1);
removedRootProperty = true;
}
}
// default export
if (t.isExportDefaultDeclaration(node) && t.isObjectExpression(node.declaration)) {
const properties = node.declaration.properties as t.ObjectProperty[];
removeProperty(properties, path[0]);
removedRootProperty = true;
}
// module.exports
if (
t.isExpressionStatement(node) &&
t.isAssignmentExpression(node.expression) &&
t.isMemberExpression(node.expression.left) &&
t.isIdentifier(node.expression.left.object) &&
node.expression.left.object.name === 'module' &&
t.isIdentifier(node.expression.left.property) &&
node.expression.left.property.name === 'exports' &&
t.isObjectExpression(node.expression.right)
) {
const properties = node.expression.right.properties as t.ObjectProperty[];
removeProperty(properties, path[0]);
removedRootProperty = true;
}
});
if (removedRootProperty) return;
}
const properties = this.getFieldProperties(path) as t.ObjectProperty[];
if (properties) {
const lastPath = path.at(-1);
removeProperty(properties, lastPath);
}
}
_inferQuotes() {
if (!this._quotes) {
// first 500 tokens for efficiency

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/docs-tools",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Shared utility functions for frameworks to implement docs",
"keywords": [
"storybook"
@ -43,9 +43,9 @@
},
"dependencies": {
"@babel/core": "^7.12.10",
"@storybook/core-common": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/core-common": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"doctrine": "^3.0.0",
"lodash": "^4.17.21"
},
@ -62,5 +62,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/instrumenter",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -42,10 +42,10 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/preview-api": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/preview-api": "7.0.0-beta.3",
"core-js": "^3.8.2",
"global": "^4.4.0"
},
@ -60,5 +60,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -334,7 +334,7 @@ export class Instrumenter {
track(method: string, fn: Function, args: any[], options: Options) {
const storyId: StoryId =
args?.[0]?.__storyId__ ||
global.window.__STORYBOOK_PREVIEW__.selectionStore.selection.storyId;
global.window.__STORYBOOK_PREVIEW__?.selectionStore?.selection?.storyId;
const { cursor, ancestors } = this.getState(storyId);
this.setState(storyId, { cursor: cursor + 1 });
const id = `${ancestors.slice(-1)[0] || storyId} [${cursor}] ${method}`;

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/api",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Storybook Manager API (facade)",
"keywords": [
"storybook"
@ -42,8 +42,8 @@
"prep": "../../../scripts/prepare/facade.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/manager-api": "7.0.0-beta.1"
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/manager-api": "7.0.0-beta.3"
},
"publishConfig": {
"access": "public"
@ -54,5 +54,5 @@
],
"shim": "@storybook/manager-api"
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/manager-api",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "Core Storybook API & Context",
"keywords": [
"storybook"
@ -41,13 +41,13 @@
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/channels": "7.0.0-beta.1",
"@storybook/client-logger": "7.0.0-beta.1",
"@storybook/core-events": "7.0.0-beta.1",
"@storybook/channels": "7.0.0-beta.3",
"@storybook/client-logger": "7.0.0-beta.3",
"@storybook/core-events": "7.0.0-beta.3",
"@storybook/csf": "next",
"@storybook/router": "7.0.0-beta.1",
"@storybook/theming": "7.0.0-beta.1",
"@storybook/types": "7.0.0-beta.1",
"@storybook/router": "7.0.0-beta.3",
"@storybook/theming": "7.0.0-beta.3",
"@storybook/types": "7.0.0-beta.3",
"dequal": "^2.0.2",
"global": "^4.4.0",
"lodash": "^4.17.21",
@ -77,5 +77,5 @@
"./src/index.tsx"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

View File

@ -1 +1 @@
export const version = '7.0.0-beta.1';
export const version = '7.0.0-beta.3';

View File

@ -1,6 +1,6 @@
{
"name": "@storybook/node-logger",
"version": "7.0.0-beta.1",
"version": "7.0.0-beta.3",
"description": "",
"keywords": [
"storybook"
@ -59,5 +59,5 @@
"./src/index.ts"
]
},
"gitHead": "42c08678ac06d9c2c8e7a4c31a91e0a14bf5c2cd"
"gitHead": "9a57b4788c8b2817db516d799057d8295b187880"
}

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