Skip to content

Commit ad3a501

Browse files
authored
Merge pull request #31580 from storybookjs/version-non-patch-from-9.0.0-rc.5
Release: Major 9.0.0
2 parents fd3356c + c21bf24 commit ad3a501

File tree

9 files changed

+309
-13
lines changed

9 files changed

+309
-13
lines changed

CHANGELOG.md

Lines changed: 267 additions & 0 deletions
Large diffs are not rendered by default.

code/core/src/cli/bin/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getEnvConfig, parseList, versions } from 'storybook/internal/common';
1+
import { getEnvConfig, parseList } from 'storybook/internal/common';
22
import { logger } from 'storybook/internal/node-logger';
33
import { addToGlobalContext } from 'storybook/internal/telemetry';
44

@@ -14,7 +14,7 @@ import { buildIndex as index } from '../buildIndex';
1414
import { dev } from '../dev';
1515
import { globalSettings } from '../globalSettings';
1616

17-
addToGlobalContext('cliVersion', versions.storybook);
17+
addToGlobalContext('cliVersion', version);
1818

1919
const consoleLogger = console;
2020

code/core/src/manager-api/root.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ import React, {
77
useEffect,
88
useMemo,
99
useRef,
10+
useState,
1011
} from 'react';
1112

1213
import type { Listener } from 'storybook/internal/channels';
1314
import { deprecate } from 'storybook/internal/client-logger';
1415
import {
16+
DOCS_PREPARED,
1517
SET_STORIES,
1618
SHARED_STATE_CHANGED,
1719
SHARED_STATE_SET,
1820
STORY_CHANGED,
21+
STORY_PREPARED,
1922
} from 'storybook/internal/core-events';
2023
import type { RouterData } from 'storybook/internal/router';
2124
import type {
@@ -337,9 +340,22 @@ export function useStoryPrepared(storyId?: StoryId) {
337340

338341
export function useParameter<S>(parameterKey: string, defaultValue?: S) {
339342
const api = useStorybookApi();
343+
const [parameter, setParameter] = useState(api.getCurrentParameter<S>(parameterKey));
340344

341-
const result = api.getCurrentParameter<S>(parameterKey);
342-
return orDefault<S>(result, defaultValue!);
345+
const handleParameterChange = useCallback(() => {
346+
const newParameter = api.getCurrentParameter<S>(parameterKey);
347+
setParameter(newParameter);
348+
}, [api, parameterKey]);
349+
350+
useChannel(
351+
{
352+
[STORY_PREPARED]: handleParameterChange,
353+
[DOCS_PREPARED]: handleParameterChange,
354+
},
355+
[handleParameterChange]
356+
);
357+
358+
return orDefault<S>(parameter, defaultValue!);
343359
}
344360

345361
// cache for taking care of HMR

code/core/src/telemetry/storybook-metadata.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import type { PackageJson, StorybookConfig } from 'storybook/internal/types';
1313
import { findPackage, findPackagePath } from 'fd-package-json';
1414
import { detect } from 'package-manager-detector';
1515

16+
import { version } from '../../package.json';
1617
import { globalSettings } from '../cli/globalSettings';
1718
import { getApplicationFileCount } from './get-application-file-count';
1819
import { getChromaticVersionSpecifier } from './get-chromatic-version';
@@ -227,7 +228,6 @@ export const computeStorybookMetadata = async ({
227228
// gracefully handle error, as it's not critical information and AST parsing can cause trouble
228229
}
229230

230-
const storybookVersion = storybookPackages[storybookInfo.frameworkPackage]?.version;
231231
const portableStoriesFileCount = await getPortableStoriesFileCount();
232232
const applicationFileCount = await getApplicationFileCount(dirname(packageJsonPath));
233233

@@ -236,7 +236,7 @@ export const computeStorybookMetadata = async ({
236236
...frameworkInfo,
237237
portableStoriesFileCount,
238238
applicationFileCount,
239-
storybookVersion,
239+
storybookVersion: version,
240240
storybookVersionSpecifier: storybookInfo.version,
241241
language,
242242
storybookPackages,

code/core/src/telemetry/telemetry.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import * as os from 'node:os';
44
import retry from 'fetch-retry';
55
import { nanoid } from 'nanoid';
66

7+
import { version } from '../../package.json';
78
import { getAnonymousProjectId } from './anonymous-id';
89
import { set as saveToCache } from './event-cache';
910
import { fetch } from './fetch';
@@ -48,6 +49,7 @@ const globalContext = {
4849
isTTY: process.stdout.isTTY,
4950
platform: getOperatingSystem(),
5051
nodeVersion: process.versions.node,
52+
storybookVersion: version,
5153
} as Record<string, any>;
5254

5355
const prepareRequest = async (data: TelemetryData, context: Record<string, any>, options: any) => {

code/core/src/test/preview.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ export const traverseArgs = (value: unknown, depth = 0, key?: string): unknown =
5959
// we loop instead of map to prevent this lit issue:
6060
// https://github.com/storybookjs/storybook/issues/25651
6161
for (let i = 0; i < value.length; i++) {
62-
value[i] = traverseArgs(value[i], depth);
62+
if (Object.getOwnPropertyDescriptor(value, i)?.writable) {
63+
value[i] = traverseArgs(value[i], depth);
64+
}
6365
}
6466
return value;
6567
}

code/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,5 +283,6 @@
283283
"Dependency Upgrades"
284284
]
285285
]
286-
}
286+
},
287+
"deferredNextVersion": "9.0.0"
287288
}

docs/versions/latest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":"8.6.0","info":{"plain":""}}
1+
{"version":"9.0.0","info":{"plain":"This is a huge release focused on testing and bundle size.\n\n- Component testing\n - 👆 Interactions\n - ♿️ Accessibility\n - 👁️ Visual changes\n - 🛡️ Coverage\n- 🪶 48% lighter bundle\n- 🏷️ Tags-based organization\n- 🌐 Story globals\n- 🏗️ Major upgrades: Svelte, Next, React Native, Angular\n\nPlease checkout our [Migration guide](https://storybook.js.org/docs/9/migration-guide) to upgrade from earlier versions of Storybook. To see a comprehensive list of changes that went into 9.0, you can refer to the [9.0 prerelease changelogs](./CHANGELOG.prerelease.md)"}}

scripts/event-log-checker.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,18 @@ async function run() {
5555

5656
const [bootEvent, mainEvent] = events;
5757

58-
test(`both events should have cliVersion in context`, () => {
59-
const cliVersion = versions.storybook;
60-
assert.equal(bootEvent.context.cliVersion, cliVersion);
61-
assert.equal(mainEvent.context.cliVersion, cliVersion);
58+
const storybookVersion = versions.storybook;
59+
test('boot event should have cliVersion and storybookVersion in context', () => {
60+
assert.equal(bootEvent.context.cliVersion, storybookVersion);
61+
assert.equal(bootEvent.context.storybookVersion, storybookVersion);
62+
});
63+
64+
test(`main event should have storybookVersion in context`, () => {
65+
assert.equal(mainEvent.context.storybookVersion, storybookVersion);
66+
});
67+
68+
test(`main event should have storybookVersion in metadata`, () => {
69+
assert.equal(mainEvent.metadata.storybookVersion, storybookVersion);
6270
});
6371

6472
test(`Should log a boot event with a payload of type ${eventType}`, () => {

0 commit comments

Comments
 (0)