Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: Prerelease 8.5.0-alpha.13 #29744

Merged
merged 9 commits into from
Nov 29, 2024
5 changes: 5 additions & 0 deletions CHANGELOG.prerelease.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 8.5.0-alpha.13

- Portable stories: Support multiple annotation notations from preview - [#29733](https://github.com/storybookjs/storybook/pull/29733), thanks @yannbf!
- React: Upgrade react-docgen-typescript to support Vite 6 - [#29724](https://github.com/storybookjs/storybook/pull/29724), thanks @yannbf!

## 8.5.0-alpha.12

- Core / Addon Test: Add config UI to Testing Module - [#29708](https://github.com/storybookjs/storybook/pull/29708), thanks @ghengeveld!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,25 @@ describe('composeStory', () => {
expect(composedStory.parameters.fromAnnotations.asDefaultImport).toEqual(true);
});

it('should compose project annotations when used in named and default exports from the same module', () => {
setProjectAnnotations([
{
initialGlobals: { namedExportAnnotation: true },
default: {
parameters: { defaultExportAnnotation: true },
},
},
]);

const Story: Story = {
render: () => {},
};

const composedStory = composeStory(Story, meta);
expect(composedStory.parameters.defaultExportAnnotation).toEqual(true);
expect(composedStory.globals.namedExportAnnotation).toEqual(true);
});

it('should return story with composed annotations from story, meta and project', () => {
const decoratorFromProjectAnnotations = vi.fn((StoryFn) => StoryFn());
const decoratorFromStoryAnnotations = vi.fn((StoryFn) => StoryFn());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,8 @@ function extractAnnotation<TRenderer extends Renderer = Renderer>(
// import * as annotations from '.storybook/preview'
// import annotations from '.storybook/preview'
// in both cases: 1 - the file has a default export; 2 - named exports only
// support imports such as
// import * as annotations from '.storybook/preview'
// import annotations from '.storybook/preview'
// in both cases: 1 - the file has a default export; 2 - named exports only
return 'default' in annotation ? annotation.default : annotation;
// also support when the file has both annotations coming from default and named exports
return composeConfigs([annotation]);
}

export function setProjectAnnotations<TRenderer extends Renderer = Renderer>(
Expand Down
2 changes: 1 addition & 1 deletion code/frameworks/react-native-web-vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
"prep": "jiti ../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
"@joshwooding/vite-plugin-react-docgen-typescript": "0.4.2",
"@storybook/builder-vite": "workspace:*",
"@storybook/react": "workspace:*",
"@storybook/react-vite": "workspace:*",
Expand Down
2 changes: 1 addition & 1 deletion code/frameworks/react-vite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"prep": "jiti ../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
"@joshwooding/vite-plugin-react-docgen-typescript": "0.4.2",
"@rollup/pluginutils": "^5.0.2",
"@storybook/builder-vite": "workspace:*",
"@storybook/react": "workspace:*",
Expand Down
3 changes: 2 additions & 1 deletion code/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,5 +293,6 @@
"Dependency Upgrades"
]
]
}
},
"deferredNextVersion": "8.5.0-alpha.13"
}
31 changes: 9 additions & 22 deletions code/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4041,21 +4041,19 @@ __metadata:
languageName: node
linkType: hard

"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0":
version: 0.3.0
resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.3.0"
"@joshwooding/vite-plugin-react-docgen-typescript@npm:0.4.2":
version: 0.4.2
resolution: "@joshwooding/vite-plugin-react-docgen-typescript@npm:0.4.2"
dependencies:
glob: "npm:^7.2.0"
glob-promise: "npm:^4.2.0"
magic-string: "npm:^0.27.0"
react-docgen-typescript: "npm:^2.2.2"
peerDependencies:
typescript: ">= 4.3.x"
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 10c0/31098ad8fcc2440437534599c111d9f2951dd74821e8ba46c521b969bae4c918d830b7bb0484efbad29a51711bb62d3bc623d5a1ed5b1695b5b5594ea9dd4ca0
checksum: 10c0/355d13ad92a9da786b561a25250e6c94a8e51d235ced345e54ebfe709abc45ab60c2a8d06599df6ec0441fba01720f189883429943cb62dff9a4c31b59f0939c
languageName: node
linkType: hard

Expand Down Expand Up @@ -7099,7 +7097,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/react-native-web-vite@workspace:frameworks/react-native-web-vite"
dependencies:
"@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0"
"@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.4.2"
"@storybook/builder-vite": "workspace:*"
"@storybook/react": "workspace:*"
"@storybook/react-vite": "workspace:*"
Expand All @@ -7120,7 +7118,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@storybook/react-vite@workspace:frameworks/react-vite"
dependencies:
"@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.3.0"
"@joshwooding/vite-plugin-react-docgen-typescript": "npm:0.4.2"
"@rollup/pluginutils": "npm:^5.0.2"
"@storybook/builder-vite": "workspace:*"
"@storybook/react": "workspace:*"
Expand Down Expand Up @@ -8292,7 +8290,7 @@ __metadata:
languageName: node
linkType: hard

"@types/glob@npm:^7.1.1, @types/glob@npm:^7.1.3":
"@types/glob@npm:^7.1.1":
version: 7.2.0
resolution: "@types/glob@npm:7.2.0"
dependencies:
Expand Down Expand Up @@ -16676,17 +16674,6 @@ __metadata:
languageName: node
linkType: hard

"glob-promise@npm:^4.2.0":
version: 4.2.2
resolution: "glob-promise@npm:4.2.2"
dependencies:
"@types/glob": "npm:^7.1.3"
peerDependencies:
glob: ^7.1.6
checksum: 10c0/3eb01bed2901539365df6a4d27800afb8788840647d01f9bf3500b3de756597f2ff4b8c823971ace34db228c83159beca459dc42a70968d4e9c8200ed2cc96bd
languageName: node
linkType: hard

"glob-to-regexp@npm:^0.4.1":
version: 0.4.1
resolution: "glob-to-regexp@npm:0.4.1"
Expand Down Expand Up @@ -16723,7 +16710,7 @@ __metadata:
languageName: node
linkType: hard

"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0":
"glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4":
version: 7.2.3
resolution: "glob@npm:7.2.3"
dependencies:
Expand Down
2 changes: 1 addition & 1 deletion docs/versions/next.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"version":"8.5.0-alpha.12","info":{"plain":"- Core / Addon Test: Add config UI to Testing Module - [#29708](https://github.com/storybookjs/storybook/pull/29708), thanks @ghengeveld!\n- Manager: Add tags property to GroupEntry objects - [#29672](https://github.com/storybookjs/storybook/pull/29672), thanks @Sidnioulz!\n- Svelte: Support `@sveltejs/vite-plugin-svelte` v5 - [#29731](https://github.com/storybookjs/storybook/pull/29731), thanks @JReinhold!\n- Toolbars: Suppress deprecation warning when using dynamic icons - [#29545](https://github.com/storybookjs/storybook/pull/29545), thanks @ValeraS!"}}
{"version":"8.5.0-alpha.13","info":{"plain":"- Portable stories: Support multiple annotation notations from preview - [#29733](https://github.com/storybookjs/storybook/pull/29733), thanks @yannbf!\n- React: Upgrade react-docgen-typescript to support Vite 6 - [#29724](https://github.com/storybookjs/storybook/pull/29724), thanks @yannbf!"}}
3 changes: 1 addition & 2 deletions scripts/tasks/sandbox-parts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,9 @@ export const install: Task['run'] = async ({ sandboxDir, key }, { link, dryRun,
'svelte-vite/default-ts',
'vue3-vite/default-js',
'vue3-vite/default-ts',
'svelte-kit/skeleton-ts',
];
if (sandboxesNeedingWorkarounds.includes(key) || key.includes('vite')) {
await addWorkaroundResolutions({ cwd, dryRun, debug, key });
await addWorkaroundResolutions({ cwd, dryRun, debug });
}

await exec(
Expand Down
12 changes: 0 additions & 12 deletions scripts/utils/yarn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ export const installYarn2 = async ({ cwd, dryRun, debug }: YarnOptions) => {
export const addWorkaroundResolutions = async ({
cwd,
dryRun,
key,
}: YarnOptions & { key?: TemplateKey }) => {
logger.info(`🔢 Adding resolutions for workarounds`);

Expand All @@ -82,22 +81,11 @@ export const addWorkaroundResolutions = async ({
const packageJson = await readJSON(packageJsonPath);
packageJson.resolutions = {
...packageJson.resolutions,
// Due to our support of older vite versions
'@vitejs/plugin-react': '4.2.0',
'@vitejs/plugin-vue': '4.5.0',
// TODO: Remove this once we figure out how to properly test Vite 4, 5 and 6 in our sandboxes
vite: '^5.0.0',
// We need to downgrade the plugin so that it works with Vite 5 projects
'@sveltejs/vite-plugin-svelte': '4.0.2',
'@testing-library/dom': '^9.3.4',
'@testing-library/jest-dom': '^6.5.0',
'@testing-library/user-event': '^14.5.2',
};

if (key?.includes('svelte-kit')) {
packageJson.resolutions['@sveltejs/vite-plugin-svelte'] = '^3.0.0';
}

await writeJSON(packageJsonPath, packageJson, { spaces: 2 });
};

Expand Down