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

Storybook 7 #6150

Merged
merged 27 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
acbd030
Storybook 7
snowystinger Apr 4, 2024
b0d063d
storybook frame renders
snowystinger Apr 4, 2024
079b253
fix story sort
snowystinger Apr 4, 2024
804d9b2
install other storybook packages
snowystinger Apr 4, 2024
9807703
dedupe parcel versions
snowystinger Apr 5, 2024
6d08772
theoretically should work with 2.12 as macro support was released in it
snowystinger Apr 5, 2024
b7bf289
fix up addons
snowystinger Apr 5, 2024
b962254
dedupe storybook installed packages
snowystinger Apr 5, 2024
d93c8e3
eliminating differences
snowystinger Apr 5, 2024
72e1db8
get storybook running
snowystinger Apr 9, 2024
da13e22
Configure canary prod build
snowystinger Apr 9, 2024
fe93959
fix up chromatics and tests
snowystinger Apr 9, 2024
d42bd40
fix engines
snowystinger Apr 9, 2024
1777dd0
fix TS
snowystinger Apr 9, 2024
2bbf03b
Trying to fix ?babel?
snowystinger Apr 9, 2024
1eb7029
build all the docs again
snowystinger Apr 10, 2024
6004325
add link to canary build of storybook
snowystinger Apr 10, 2024
66112a7
Fix chromatic story
snowystinger Apr 10, 2024
daf68f5
fix react 16 and 17 storybooks
snowystinger Apr 11, 2024
c6ed446
Merge branch 'main' into sb-7
snowystinger Apr 12, 2024
9d5f63f
Merge branch 'main' into sb-7
snowystinger Apr 22, 2024
ebe4a43
Merge branch 'main' into sb-7
snowystinger Apr 23, 2024
3eba781
Merge branch 'main' into sb-7
LFDanLu Apr 24, 2024
e38f0d6
Merge branch 'main' into sb-7
snowystinger May 2, 2024
f9a0f9b
fix tests
snowystinger May 3, 2024
1a2ba88
Merge branch 'main' into sb-7
snowystinger May 3, 2024
4be672d
Merge branch 'main' into sb-7
snowystinger May 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
11 changes: 11 additions & 0 deletions .chromatic-fc/.parcelrc
@@ -0,0 +1,11 @@
{
"extends": "@parcel/config-default",
"resolvers": ["@parcel/resolver-glob", "parcel-resolver-storybook", "..."],
"transformers": {
"packages/*/*/intl/*.json": ["parcel-transformer-intl"],
"*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [
"@parcel/transformer-js",
"@parcel/transformer-react-refresh-wrap"
]
}
}
2 changes: 1 addition & 1 deletion .chromatic-fc/custom-addons/chromatic/index.js
@@ -1,5 +1,5 @@
import {expressThemes, locales, scales, themes} from '../../constants';
import {makeDecorator} from '@storybook/addons';
import {makeDecorator} from '@storybook/preview-api';
import {Provider, View} from '@adobe/react-spectrum';
import React, {useEffect} from 'react';
import './disableAnimations.css';
Expand Down
7 changes: 4 additions & 3 deletions .chromatic-fc/main.js
@@ -1,9 +1,10 @@

module.exports = {
core: {
builder: "storybook-builder-parcel",
framework: {
name: "storybook-react-parcel",
options: {},
},
stories: ['../packages/**/chromatic/**/*.chromatic-fc.{js,jsx,ts,tsx}'],
stories: ['../packages/**/chromatic-fc/**/*.stories.{js,jsx,ts,tsx}'],
addons: process.env.NODE_ENV === 'production' ? [] : [
'@storybook/addon-actions',
'@storybook/addon-a11y'
Expand Down
8 changes: 5 additions & 3 deletions .chromatic-fc/manager.js
@@ -1,6 +1,8 @@
import addons from '@storybook/addons';
import {addons} from '@storybook/manager-api';

addons.setConfig({
showRoots: false,
enableShortcuts: false
enableShortcuts: false,
sidebar: {
showRoots: false,
}
});
7 changes: 4 additions & 3 deletions .chromatic-fc/preview.js
Expand Up @@ -12,10 +12,11 @@ configureActions({

export const parameters = {
options: {
storySort: (a, b) =>
a[1].kind === b[1].kind
storySort: (a, b) => {
return a.title === b.title
? 0
: a[1].id.localeCompare(b[1].id, undefined, {numeric: true})
: a.id.localeCompare(b.id, undefined, { numeric: true });
}
},
a11y: {},
layout: 'fullscreen',
Expand Down
11 changes: 11 additions & 0 deletions .chromatic/.parcelrc
@@ -0,0 +1,11 @@
{
"extends": "@parcel/config-default",
"resolvers": ["@parcel/resolver-glob", "parcel-resolver-storybook", "..."],
"transformers": {
"packages/*/*/intl/*.json": ["parcel-transformer-intl"],
"*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [
"@parcel/transformer-js",
"@parcel/transformer-react-refresh-wrap"
]
}
}
2 changes: 1 addition & 1 deletion .chromatic/custom-addons/chromatic/index.js
@@ -1,5 +1,5 @@
import {expressThemes, locales, scales, themes} from '../../constants';
import {makeDecorator} from '@storybook/addons';
import {makeDecorator} from '@storybook/preview-api';
import {Provider, View} from '@adobe/react-spectrum';
import React, {useEffect} from 'react';
import './disableAnimations.css';
Expand Down
7 changes: 4 additions & 3 deletions .chromatic/main.js
@@ -1,9 +1,10 @@

module.exports = {
core: {
builder: "storybook-builder-parcel",
framework: {
name: "storybook-react-parcel",
options: {},
},
stories: ['../packages/**/chromatic/**/*.chromatic.{js,jsx,ts,tsx}'],
stories: ['../packages/**/chromatic/**/*.stories.@(js|jsx|ts|tsx)'],
addons: process.env.NODE_ENV === 'production' ? [] : [
'@storybook/addon-actions',
'@storybook/addon-a11y'
Expand Down
8 changes: 5 additions & 3 deletions .chromatic/manager.js
@@ -1,6 +1,8 @@
import addons from '@storybook/addons';
import {addons} from '@storybook/manager-api';

addons.setConfig({
showRoots: false,
enableShortcuts: false
enableShortcuts: false,
sidebar: {
showRoots: false,
}
});
6 changes: 5 additions & 1 deletion .chromatic/preview.js
Expand Up @@ -12,7 +12,11 @@ configureActions({

export const parameters = {
options: {
storySort: (a, b) => a[1].kind === b[1].kind ? 0 : a[1].id.localeCompare(b[1].id, undefined, { numeric: true }),
storySort: (a, b) => {
return a.title === b.title
? 0
: a.id.localeCompare(b.id, undefined, { numeric: true });
}
},
a11y: {},
layout: 'fullscreen'
Expand Down
1 change: 1 addition & 0 deletions .circleci/comment.js
Expand Up @@ -76,6 +76,7 @@ async function run() {
body: `Build successful! 🎉

* [View the storybook](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook/index.html)
* [View the storybook-canary](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook-canary/index.html)
* [View the storybook-17](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook-17/index.html)
* [View the storybook-16](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/storybook-16/index.html)
* [View the documentation](https://reactspectrum.blob.core.windows.net/reactspectrum/${process.env.CIRCLE_SHA1}/docs/index.html)`
Expand Down
19 changes: 19 additions & 0 deletions .circleci/config.yml
Expand Up @@ -412,6 +412,21 @@ jobs:
paths:
- '*/storybook-17/'

storybook-canary:
executor: rsp-large
steps:
- restore_cache:
key: react-spectrum-canary-{{ .Environment.CACHE_VERSION }}-{{ .Environment.CIRCLE_SHA1 }}

- run:
name: build storybook-canary
command: make storybook-canary

- persist_to_workspace:
root: dist
paths:
- '*/storybook-canary/'

docs:
executor: rsp-xlarge
steps:
Expand Down Expand Up @@ -588,6 +603,9 @@ workflows:
- storybook-17:
requires:
- install-17
- storybook-canary:
requires:
- install-canary
- docs:
requires:
- install
Expand All @@ -610,6 +628,7 @@ workflows:
- storybook
- storybook-16
- storybook-17
- storybook-canary
- docs
- deploy-verdaccio:
requires:
Expand Down
2 changes: 1 addition & 1 deletion .eslintrc.js
Expand Up @@ -51,7 +51,7 @@ module.exports = {
}]
}
}, {
files: ['**/test/**', '**/stories/**', '**/docs/**', '**/chromatic/**', '**/__tests__/**'],
files: ['**/test/**', '**/stories/**', '**/docs/**', '**/chromatic/**', '**/chromatic-fc/**', '**/__tests__/**'],
rules: {
'rsp-rules/no-react-key': [ERROR],
'rsp-rules/act-events-test': ERROR,
Expand Down
11 changes: 11 additions & 0 deletions .storybook/.parcelrc
@@ -0,0 +1,11 @@
{
"extends": "@parcel/config-default",
"resolvers": ["@parcel/resolver-glob", "parcel-resolver-storybook", "..."],
"transformers": {
"packages/*/*/intl/*.json": ["parcel-transformer-intl"],
"*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [
"@parcel/transformer-js",
"@parcel/transformer-react-refresh-wrap"
]
}
}
2 changes: 1 addition & 1 deletion .storybook/custom-addons/descriptions/register.js
@@ -1,5 +1,5 @@

import { addons, types } from '@storybook/addons';
import {addons, types} from '@storybook/manager-api';
import { AddonPanel } from '@storybook/components';
import React from 'react';
import { useParameter } from '@storybook/api';
Expand Down
5 changes: 3 additions & 2 deletions .storybook/custom-addons/provider/index.js
@@ -1,6 +1,7 @@
import React, {useEffect, useState} from 'react';
import addons, { makeDecorator } from '@storybook/addons';
import {getQueryParams} from '@storybook/client-api';
import {addons} from '@storybook/preview-api';
import {makeDecorator} from '@storybook/preview-api';
import {getQueryParams} from '@storybook/preview-api';
import {Provider} from '@react-spectrum/provider';
import {expressThemes, themes, defaultTheme} from '../../constants';

Expand Down
5 changes: 3 additions & 2 deletions .storybook/custom-addons/provider/register.js
@@ -1,5 +1,6 @@
import addons, { types } from '@storybook/addons';
import {getQueryParams} from '@storybook/client-api';

import {addons, types} from '@storybook/manager-api';
import {getQueryParams} from '@storybook/preview-api';
import {locales} from '../../constants';
import React, {useEffect, useState} from 'react';

Expand Down
4 changes: 2 additions & 2 deletions .storybook/custom-addons/scrolling/index.js
@@ -1,6 +1,6 @@
import {addons, makeDecorator} from '@storybook/addons';
import {addons} from '@storybook/preview-api';
import clsx from 'clsx';
import {getQueryParams} from '@storybook/client-api';
import {getQueryParams} from '@storybook/preview-api';
import React, {useEffect, useState} from 'react';

function ScrollingDecorator(props) {
Expand Down
4 changes: 2 additions & 2 deletions .storybook/custom-addons/scrolling/register.js
@@ -1,5 +1,5 @@
import {addons, types} from '@storybook/addons';
import {getQueryParams} from '@storybook/client-api';
import {addons, types} from '@storybook/manager-api';
import {getQueryParams} from '@storybook/preview-api';
import React, {useEffect, useState} from 'react';

const ScrollingToolbar = ({api}) => {
Expand Down
4 changes: 2 additions & 2 deletions .storybook/custom-addons/strictmode/index.js
@@ -1,5 +1,5 @@
import {addons, makeDecorator} from '@storybook/addons';
import {getQueryParams} from '@storybook/client-api';
import {addons, makeDecorator} from '@storybook/preview-api';
import {getQueryParams} from '@storybook/preview-api';
import React, {StrictMode, useEffect, useState} from 'react';

function StrictModeDecorator(props) {
Expand Down
4 changes: 2 additions & 2 deletions .storybook/custom-addons/strictmode/register.js
@@ -1,5 +1,5 @@
import {addons, types} from '@storybook/addons';
import {getQueryParams} from '@storybook/client-api';
import {addons, types} from '@storybook/manager-api';
import {getQueryParams} from '@storybook/preview-api';
import React, {useEffect, useState} from 'react';

const StrictModeToolBar = ({api}) => {
Expand Down
3 changes: 1 addition & 2 deletions .storybook/custom-addons/theme/register.js
@@ -1,10 +1,9 @@
import {themes} from '@storybook/theming';
import addons from '@storybook/addons';
import {addons} from '@storybook/manager-api';
import {FORCE_RE_RENDER} from '@storybook/core-events';
// temporary until we have a better place to grab it from
import * as packageJSON from '../../../packages/@adobe/react-spectrum/package.json';

// Automatically switch light/dark theme based on system pref.
addons.register('theme-switcher', api => {
let query = window.matchMedia('(prefers-color-scheme: dark)');
let update = () => {
Expand Down
18 changes: 11 additions & 7 deletions .storybook/main.js
@@ -1,22 +1,26 @@

module.exports = {
core: {
builder: "storybook-builder-parcel",
},
stories: ['../packages/**/stories/*.stories.{js,jsx,ts,tsx}'],

addons: [
'@storybook/addon-actions',
'@storybook/addon-a11y',
'@storybook/addon-controls',
'storybook-dark-mode',
"@storybook/addon-actions",
"@storybook/addon-a11y",
"@storybook/addon-controls",
"storybook-dark-mode",
'./custom-addons/provider/register',
'./custom-addons/descriptions/register',
'./custom-addons/theme/register',
'./custom-addons/strictmode/register',
'./custom-addons/scrolling/register'
],

typescript: {
check: false,
reactDocgen: false
},

framework: {
name: "storybook-react-parcel",
options: {},
}
};
8 changes: 5 additions & 3 deletions .storybook/manager.js
@@ -1,6 +1,8 @@
import addons from '@storybook/addons';
import {addons} from '@storybook/manager-api';

addons.setConfig({
showRoots: false,
enableShortcuts: false
enableShortcuts: false,
sidebar: {
showRoots: false,
}
});
6 changes: 5 additions & 1 deletion .storybook/preview.js
Expand Up @@ -12,7 +12,11 @@ configureActions({

export const parameters = {
options: {
storySort: (a, b) => a[1].kind === b[1].kind ? 0 : a[1].id.localeCompare(b[1].id, undefined, { numeric: true }),
storySort: (a, b) => {
return a.title === b.title
? 0
: a.id.localeCompare(b.id, undefined, { numeric: true });
}
},
a11y: {
config: {
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Expand Up @@ -81,6 +81,9 @@ storybook-16:
storybook-17:
yarn build:storybook-17

storybook-canary:
yarn build:storybook-canary

# for now doesn't have deploy since v3 doesn't have a place for docs and stuff yet
ci:
$(MAKE) publish
Expand Down
8 changes: 4 additions & 4 deletions examples/rsp-webpack-4/package.json
Expand Up @@ -23,10 +23,10 @@
"react-dom": "^18.2.0"
},
"devDependencies": {
"@babel/core": "^7.1.0",
"@babel/cli": "^7.1.0",
"@babel/preset-env": "^7.1.0",
"@babel/preset-react": "^7.0.0",
"@babel/core": "^7.24.3",
"@babel/cli": "^7.24.3",
"@babel/preset-env": "^7.24.3",
"@babel/preset-react": "^7.24.3",
"webpack": "4.46.0",
"webpack-cli": "3.1.1",
"webpack-dev-server": "3.1.8",
Expand Down