Skip to content

Commit 2bd2d63

Browse files
authored
Merge pull request #1960 from dxc-technology/Mil4n0r/storybook8_migration
Updated storybook version to 8.0
2 parents 8a25c44 + 557afa2 commit 2bd2d63

29 files changed

+6492
-8356
lines changed

.github/workflows/chromatic.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
- name: Install lib dependencies
2323
run: cd lib && npm install
2424

25-
- name: Install Node.js 16.x
25+
- name: Install Node.js 18.x
2626
uses: actions/setup-node@v1
2727
with:
28-
node-version: 16.x
28+
node-version: 18.x
2929
registry-url: https://registry.npmjs.org/
3030

3131
- name: Publish to Chromatic

lib/.storybook/main.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@ const config: StorybookConfig = {
88
"@storybook/addon-interactions",
99
"storybook-addon-pseudo-states",
1010
"@storybook/addon-a11y",
11+
"@chromatic-com/storybook",
1112
],
1213
framework: {
1314
name: "@storybook/react-vite",
1415
options: {},
1516
},
17+
typescript: {
18+
reactDocgen: "react-docgen-typescript",
19+
},
1620
};
1721
export default config;

lib/.storybook/preview.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { disabledRules } from "../test/accessibility/rules/common/disabledRules"
66

77
const preview: Preview = {
88
parameters: {
9-
actions: { argTypesRegex: "^on[A-Z].*" },
109
controls: {
1110
matchers: {
1211
color: /(background|color)$/i,

lib/.storybook/test-runner.ts

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,38 +9,46 @@ const a11yConfig: TestRunnerConfig = {
99
async preVisit(page, context) {
1010
await injectAxe(page);
1111

12-
// Get the entire context of a story, including parameters, args, argTypes, etc.
13-
const storyContext = await getStoryContext(page, context);
14-
// Apply viewport handle support
15-
const viewPortParams: ViewportParameters = storyContext.parameters?.viewport;
16-
const defaultViewport = viewPortParams?.defaultViewport;
17-
const viewport = defaultViewport && viewPortParams.viewports[defaultViewport].styles;
18-
const parsedViewportSizes: ViewportStyles = viewport
19-
? Object.entries(viewport).reduce(
20-
(acc, [screen, size]) => ({
21-
...acc,
22-
[screen]: parseInt(size),
23-
}),
24-
{} as ViewportStyles
25-
)
26-
: DEFAULT_VIEWPORT_SIZE;
12+
try {
13+
// Get the entire context of a story, including parameters, args, argTypes, etc.
14+
const storyContext = await getStoryContext(page, context);
15+
// Apply viewport handle support
16+
const viewPortParams: ViewportParameters = storyContext.parameters?.viewport;
17+
const defaultViewport = viewPortParams?.defaultViewport;
18+
const viewport = defaultViewport && viewPortParams?.viewports[defaultViewport]?.styles;
19+
const parsedViewportSizes: ViewportStyles = viewport
20+
? Object.entries(viewport).reduce(
21+
(acc, [screen, size]) => ({
22+
...acc,
23+
[screen]: parseInt(size),
24+
}),
25+
{} as ViewportStyles
26+
)
27+
: DEFAULT_VIEWPORT_SIZE;
2728

28-
if (parsedViewportSizes && Object.keys(parsedViewportSizes)?.length !== 0) {
29-
page.setViewportSize(parsedViewportSizes);
29+
if (parsedViewportSizes && Object.keys(parsedViewportSizes)?.length !== 0) {
30+
page.setViewportSize(parsedViewportSizes);
31+
}
32+
} catch (err) {
33+
console.error("Problem when loading the Story Context");
3034
}
3135
},
3236
async postVisit(page, context) {
33-
// Get the entire context of a story, including parameters, args, argTypes, etc.
34-
const storyContext = await getStoryContext(page, context);
35-
// Do not run a11y tests on disabled stories.
36-
if (storyContext.parameters?.a11y?.disable) {
37-
return;
38-
}
37+
try {
38+
// Get the entire context of a story, including parameters, args, argTypes, etc.
39+
const storyContext = await getStoryContext(page, context);
40+
// Do not run a11y tests on disabled stories.
41+
if (storyContext.parameters?.a11y?.disable) {
42+
return;
43+
}
3944

40-
// Apply story-level a11y rules
41-
await configureAxe(page, {
42-
rules: storyContext.parameters?.a11y?.config?.rules,
43-
});
45+
// Apply story-level a11y rules
46+
await configureAxe(page, {
47+
rules: storyContext?.parameters?.a11y?.config?.rules,
48+
});
49+
} catch (err) {
50+
console.error("Problem when loading the Story Context");
51+
}
4452

4553
await checkA11y(page, "#storybook-root", {
4654
detailedReport: true,

lib/chromatic.config.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"projectId": "Project:61ce39ca365cb1003a29c6c6",
3+
"storybookBaseDir": "lib",
4+
"zip": true
5+
}

0 commit comments

Comments
 (0)