Skip to content

Commit 0bf18d2

Browse files
authored
Merge pull request #24001 from storybookjs/version-patch-from-7.4.0
Release: Patch 7.4.1
2 parents 1ad29ee + fe201ea commit 0bf18d2

29 files changed

+108
-40
lines changed

.circleci/config.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -609,30 +609,30 @@ workflows:
609609
requires:
610610
- build
611611
- create-sandboxes:
612-
parallelism: 35
612+
parallelism: 34
613613
requires:
614614
- build
615615
# - smoke-test-sandboxes: # disabled for now
616616
# requires:
617617
# - create-sandboxes
618618
- build-sandboxes:
619-
parallelism: 35
619+
parallelism: 34
620620
requires:
621621
- create-sandboxes
622622
- chromatic-sandboxes:
623-
parallelism: 32
623+
parallelism: 31
624624
requires:
625625
- build-sandboxes
626626
- e2e-production:
627-
parallelism: 32
627+
parallelism: 31
628628
requires:
629629
- build-sandboxes
630630
- e2e-dev:
631631
parallelism: 4
632632
requires:
633633
- create-sandboxes
634634
- test-runner-production:
635-
parallelism: 32
635+
parallelism: 31
636636
requires:
637637
- build-sandboxes
638638
# TODO: reenable once we find out the source of flakyness

.github/workflows/canary-release-pr.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,7 @@ jobs:
5858
- name: Setup Node.js
5959
uses: actions/setup-node@v3
6060
with:
61-
node-version: '16'
62-
61+
node-version-file: '.nvmrc'
6362
- name: Cache dependencies
6463
uses: actions/cache@v3
6564
with:

.github/workflows/danger-js.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
name: Danger JS
2222
runs-on: ubuntu-latest
2323
steps:
24+
- uses: actions/checkout@v3
2425
- uses: actions/setup-node@v3
2526
with:
26-
node-version: '16'
27-
- uses: actions/checkout@v3
27+
node-version-file: '.nvmrc'
2828
- name: Danger JS
2929
uses: danger/[email protected]
3030
env:

.github/workflows/prepare-patch-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: Setup Node.js
3434
uses: actions/setup-node@v3
3535
with:
36-
node-version: '16'
36+
node-version-file: '.nvmrc'
3737

3838
- name: Cache dependencies
3939
uses: actions/cache@v3

.github/workflows/prepare-prerelease.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
- name: Setup Node.js
5555
uses: actions/setup-node@v3
5656
with:
57-
node-version: '16'
57+
node-version-file: '.nvmrc'
5858

5959
- name: Cache dependencies
6060
uses: actions/cache@v3

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
- name: Setup Node.js
4646
uses: actions/setup-node@v3
4747
with:
48-
node-version: '16'
48+
node-version-file: '.nvmrc'
4949

5050
- name: Cache dependencies
5151
uses: actions/cache@v3

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ coverage/
3737
/**/LICENSE
3838
code/docs/public
3939
package-lock.json
40-
.nvmrc
4140
storybook-static
4241
.jest-test-results.json
4342
*.jar

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
16.20

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 7.4.1
2+
3+
- CLI: Add uncaughtException handler - [#24018](https://github.com/storybookjs/storybook/pull/24018), thanks [@yannbf](https://github.com/yannbf)!
4+
- CLI: Fix packageManager handling in `sb add` - [#24079](https://github.com/storybookjs/storybook/pull/24079), thanks [@Integrayshaun](https://github.com/Integrayshaun)!
5+
- Core: Add CJS entrypoints to errors in core events - [#24038](https://github.com/storybookjs/storybook/pull/24038), thanks [@yannbf](https://github.com/yannbf)!
6+
- Docs: Fix TOC import - [#24047](https://github.com/storybookjs/storybook/pull/24047), thanks [@shilman](https://github.com/shilman)!
7+
- Telemetry: Filter addon options to protect sensitive info - [#24000](https://github.com/storybookjs/storybook/pull/24000), thanks [@shilman](https://github.com/shilman)!
8+
- Types: Remove `@types/react` dep from `@storybook/types` - [#24042](https://github.com/storybookjs/storybook/pull/24042), thanks [@JReinhold](https://github.com/JReinhold)!
9+
- Vue3: Remove console.log in sourceDecorator - [#24062](https://github.com/storybookjs/storybook/pull/24062), thanks [@oruman](https://github.com/oruman)!
10+
111
## 7.4.0
212

313
- Addon-docs: Resolve `mdx-react-shim` & `@storybook/global` correctly - [#23941](https://github.com/storybookjs/storybook/pull/23941), thanks [@ndelangen](https://github.com/ndelangen)!

CONTRIBUTING.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,24 @@
11
# Getting started
22

3-
Storybook is developed against a specific node version. We recommend using [Volta](https://volta.sh/) as it will automatically install the correct node and yarn version when you first use the repo. If you chose not to use Volta please ensure you you have node version 16 installed (suggestion: v16.5)
3+
Storybook is developed against a specific node version which is defined in an `.nvmrc` file. You can use any Node version manager that uses the `.nvmrc` configuration file (we recommend [fnm](https://fnm.vercel.app/)).
4+
5+
## Using fnm as a Node version manager
6+
7+
- Install fnm [as per instructions](https://github.com/Schniz/fnm/tree/master#installation)
8+
- In your shell setup include the `use-on-cd`, `corepack-enabled` and `version-file-strategy recursive` parameters in the `fnm env` command, e.g.
9+
10+
```sh
11+
eval "$(fnm env --use-on-cd --corepack-enabled --version-file-strategy recursive)"
12+
```
13+
14+
## Running the local development environment
415

516
- Ensure if you are using Windows to use the Windows Subsystem for Linux (WSL).
617
- Run `yarn start` in the root directory to run a basic test Storybook "sandbox".
718

819
The `yarn start` script will generate a React Vite TypeScript sandbox with a set of test stories inside it, as well as taking all steps required to get it running (building the various packages we need etc). There is no need to run `yarn` or `yarn install` as `yarn start` will do this for you.
920

10-
## Issues
21+
### Issues
1122

1223
If you run `yarn start` and encounter the following error, try rerunning `yarn start` a second time:
1324

code/addons/themes/postinstall.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const { spawn } = require('child_process');
22

33
const PACKAGE_MANAGER_TO_COMMAND = {
44
npm: 'npx',
5-
yarn1: 'yarn dlx',
5+
yarn1: 'npx',
66
yarn2: 'yarn dlx',
77
pnpm: 'pnpm dlx',
88
};

code/lib/cli/bin/index.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,21 @@ if (majorNodeVersion < 16) {
66
process.exit(1);
77
}
88

9+
// The Storybook CLI has a catch block for all of its commands, but if an error
10+
// occurs before the command even runs, for instance, if an import fails, then
11+
// such error will fall under the uncaughtException handler.
12+
// This is the earliest moment we can catch such errors.
13+
process.once('uncaughtException', (error) => {
14+
if (error.message.includes('string-width')) {
15+
console.error(
16+
[
17+
'🔴 Error: It looks like you are having a known issue with package hoisting.',
18+
'Please check the following issue for details and solutions: https://github.com/storybookjs/storybook/issues/22431#issuecomment-1630086092\n\n',
19+
].join('\n')
20+
);
21+
}
22+
23+
throw error;
24+
});
25+
926
require('../dist/generate.js');

code/lib/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"@ndelangen/get-tarball": "^3.0.7",
6262
"@storybook/codemod": "workspace:*",
6363
"@storybook/core-common": "workspace:*",
64+
"@storybook/core-events": "workspace:*",
6465
"@storybook/core-server": "workspace:*",
6566
"@storybook/csf-tools": "workspace:*",
6667
"@storybook/node-logger": "workspace:*",

code/lib/cli/src/add.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,6 @@ export async function add(
9191
await writeConfig(main);
9292

9393
if (!options.skipPostinstall && isStorybookAddon) {
94-
await postinstallAddon(addonName, { packageManager: pkgMgr });
94+
await postinstallAddon(addonName, { packageManager: packageManager.type });
9595
}
9696
}

code/lib/cli/src/sandbox-templates.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,8 @@ const baseTemplates = {
285285
builder: '@storybook/builder-webpack5',
286286
},
287287
skipTasks: ['e2e-tests-dev', 'bench'],
288+
// TODO: Can be enabled once we re-revert this PR: https://github.com/storybookjs/storybook/pull/24033
289+
inDevelopment: true,
288290
},
289291
'angular-cli/default-ts': {
290292
name: 'Angular CLI (latest)',

code/lib/core-common/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
"prep": "../../../scripts/prepare/bundle.ts"
4545
},
4646
"dependencies": {
47+
"@storybook/core-events": "workspace:*",
4748
"@storybook/node-logger": "workspace:*",
4849
"@storybook/types": "workspace:*",
4950
"@types/find-cache-dir": "^3.2.1",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// This is required for projects that require paths such as `@storybook/core-events/manager-errors`
2+
// but in CJS, while not in ESM mode. Else an error like this will occur:
3+
// ENOENT: no such file or directory, open '/xyz/node_modules/@storybook/core-events/manager-errors.js'
4+
module.exports = require('./dist/errors/manager-errors');
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// This is required for projects that require paths such as `@storybook/core-events/preview-errors`
2+
// but in CJS, while not in ESM mode. Else an error like this will occur:
3+
// ENOENT: no such file or directory, open '/xyz/node_modules/@storybook/core-events/preview-errors.js'
4+
module.exports = require('./dist/errors/preview-errors');

code/lib/core-events/server-errors.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// This is required for projects that require paths such as `@storybook/core-events/server-errors`
2+
// but in CJS, while not in ESM mode. Else an error like this will occur:
3+
// ENOENT: no such file or directory, open '/xyz/node_modules/@storybook/core-events/server-errors.js'
4+
module.exports = require('./dist/errors/server-errors');

code/lib/telemetry/src/storybook-metadata.test.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,33 @@ describe('storybook-metadata', () => {
349349
expect(res.refCount).toEqual(2);
350350
});
351351

352+
test('only reports addon options for addon-essentials', async () => {
353+
const res = await computeStorybookMetadata({
354+
packageJson: packageJsonMock,
355+
mainConfig: {
356+
...mainJsMock,
357+
addons: [
358+
{ name: '@storybook/addon-essentials', options: { controls: false } },
359+
{ name: 'addon-foo', options: { foo: 'bar' } },
360+
],
361+
},
362+
});
363+
expect(res.addons).toMatchInlineSnapshot(`
364+
Object {
365+
"@storybook/addon-essentials": Object {
366+
"options": Object {
367+
"controls": false,
368+
},
369+
"version": "x.x.x",
370+
},
371+
"addon-foo": Object {
372+
"options": undefined,
373+
"version": "x.x.x",
374+
},
375+
}
376+
`);
377+
});
378+
352379
test.each(Object.entries(metaFrameworks))(
353380
'should detect the supported metaframework: %s',
354381
async (metaFramework, name) => {

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ export const computeStorybookMetadata = async ({
114114
if (typeof addon === 'string') {
115115
addonName = sanitizeAddonName(addon);
116116
} else {
117-
options = addon.options;
117+
if (addon.name.includes('addon-essentials')) {
118+
options = addon.options;
119+
}
118120
addonName = sanitizeAddonName(addon.name);
119121
}
120122

code/lib/types/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
"@storybook/channels": "workspace:*",
4848
"@types/babel__core": "^7.0.0",
4949
"@types/express": "^4.7.0",
50-
"@types/react": "^16.14.34",
5150
"file-system-cache": "2.3.0"
5251
},
5352
"devDependencies": {

code/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,5 +327,6 @@
327327
"Dependency Upgrades"
328328
]
329329
]
330-
}
330+
},
331+
"deferredNextVersion": "7.4.1"
331332
}

code/renderers/vue3/src/docs/sourceDecorator.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ export function generateTemplateSource(
247247
.map((child) => child.content)
248248
.join('')
249249
: '';
250-
console.log(' vnode ', vnode, ' childSources ', childSources, ' attributes ', attributes);
251250
const name =
252251
typeof type === 'string'
253252
? type

code/ui/blocks/src/components/TableOfContents.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { useEffect } from 'react';
22
import type { FC, ReactElement } from 'react';
33
import { styled } from '@storybook/theming';
4-
import tocbot from 'tocbot';
4+
import * as tocbot from 'tocbot';
55

66
export interface TocParameters {
77
/** CSS selector for the container to search for headings. */

code/yarn.lock

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6571,6 +6571,7 @@ __metadata:
65716571
"@storybook/client-api": "workspace:*"
65726572
"@storybook/codemod": "workspace:*"
65736573
"@storybook/core-common": "workspace:*"
6574+
"@storybook/core-events": "workspace:*"
65746575
"@storybook/core-server": "workspace:*"
65756576
"@storybook/csf-tools": "workspace:*"
65766577
"@storybook/node-logger": "workspace:*"
@@ -6719,6 +6720,7 @@ __metadata:
67196720
version: 0.0.0-use.local
67206721
resolution: "@storybook/core-common@workspace:lib/core-common"
67216722
dependencies:
6723+
"@storybook/core-events": "workspace:*"
67226724
"@storybook/node-logger": "workspace:*"
67236725
"@storybook/types": "workspace:*"
67246726
"@types/find-cache-dir": ^3.2.1
@@ -8048,7 +8050,6 @@ __metadata:
80488050
"@types/babel__core": ^7.0.0
80498051
"@types/express": ^4.7.0
80508052
"@types/node": ^16.0.0
8051-
"@types/react": ^16.14.34
80528053
file-system-cache: 2.3.0
80538054
typescript: ~4.9.3
80548055
languageName: unknown

docs/versions/latest.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1 @@
1-
{
2-
"version": "7.4.0",
3-
"info": {
4-
"plain": "- Addon-docs: Resolve `mdx-react-shim` & `@storybook/global` correctly - [#23941](https://github.com/storybookjs/storybook/pull/23941), thanks [@ndelangen](https://github.com/ndelangen)!\n- Addons: Fix key is not a prop warning - [#23935](https://github.com/storybookjs/storybook/pull/23935), thanks [@kasperpeulen](https://github.com/kasperpeulen)!\n- Build: Migrate @storybook/scripts to strict-ts - [#23818](https://github.com/storybookjs/storybook/pull/23818), thanks [@stilt0n](https://github.com/stilt0n)!\n- CLI: Exclude addon-styling from upgrade - [#23841](https://github.com/storybookjs/storybook/pull/23841), thanks [@Integrayshaun](https://github.com/Integrayshaun)!\n- CLI: Improve autotitle stories format handling in GFM automigration - [#23964](https://github.com/storybookjs/storybook/pull/23964), thanks [@yannbf](https://github.com/yannbf)!\n- CLI: Install latest version of non-core addon - [#23956](https://github.com/storybookjs/storybook/pull/23956), thanks [@Integrayshaun](https://github.com/Integrayshaun)!\n- CLI: Pass package manager to postinstall - [#23913](https://github.com/storybookjs/storybook/pull/23913), thanks [@Integrayshaun](https://github.com/Integrayshaun)!\n- CLI: Provide guidance for users who try to initialize Storybook on an empty dir - [#23874](https://github.com/storybookjs/storybook/pull/23874), thanks [@yannbf](https://github.com/yannbf)!\n- CLI: Set server init generator to use Webpack5 - [#23971](https://github.com/storybookjs/storybook/pull/23971), thanks [@yannbf](https://github.com/yannbf)!\n- Core: Add error categorization framework - [#23653](https://github.com/storybookjs/storybook/pull/23653), thanks [@yannbf](https://github.com/yannbf)!\n- Core: Fix error thrown if `docs.defaultName` is unset - [#23893](https://github.com/storybookjs/storybook/pull/23893), thanks [@stilt0n](https://github.com/stilt0n)!\n- Core: Fix indexing for non-prefixed `stories.*` stories - [#23974](https://github.com/storybookjs/storybook/pull/23974), thanks [@shilman](https://github.com/shilman)!\n- Core: Fix race-condition relating to `addons.setConfig` - [#23802](https://github.com/storybookjs/storybook/pull/23802), thanks [@ndelangen](https://github.com/ndelangen)!\n- Core: Throw an error when detecting empty stories field - [#23942](https://github.com/storybookjs/storybook/pull/23942), thanks [@yannbf](https://github.com/yannbf)!\n- Dependencies: Upgrade `escodegen` to fix security issue - [#23973](https://github.com/storybookjs/storybook/pull/23973), thanks [@shilman](https://github.com/shilman)!\n- Index: Fix `*.story.*` CSF indexing - [#23852](https://github.com/storybookjs/storybook/pull/23852), thanks [@shilman](https://github.com/shilman)!\n- Logger: Fix double error messages/stack - [#23919](https://github.com/storybookjs/storybook/pull/23919), thanks [@ndelangen](https://github.com/ndelangen)!\n- Maintenance: Categorize server errors - [#23912](https://github.com/storybookjs/storybook/pull/23912), thanks [@yannbf](https://github.com/yannbf)!\n- Maintenance: Move filtering of sidebar into the state - [#23911](https://github.com/storybookjs/storybook/pull/23911), thanks [@ndelangen](https://github.com/ndelangen)!\n- Maintenance: Remove need for `react` as peerDependency - [#23897](https://github.com/storybookjs/storybook/pull/23897), thanks [@ndelangen](https://github.com/ndelangen)!\n- Maintenance: Remove sourcemaps generation - [#23936](https://github.com/storybookjs/storybook/pull/23936), thanks [@ndelangen](https://github.com/ndelangen)!\n- Maintenance: Revert \"WebpackBuilder: Remove need for `react` as peerDependency\" - [#23882](https://github.com/storybookjs/storybook/pull/23882), thanks [@vanessayuenn](https://github.com/vanessayuenn)!\n- Manager API: Fix `api.getAddonState`default value - [#23804](https://github.com/storybookjs/storybook/pull/23804), thanks [@sookmax](https://github.com/sookmax)!\n- Preset: Add common preset overrides mechanism - [#23915](https://github.com/storybookjs/storybook/pull/23915), thanks [@yannbf](https://github.com/yannbf)!\n- Publish: Don't distribute src files or unnecessary template files - [#23853](https://github.com/storybookjs/storybook/pull/23853), thanks [@shilman](https://github.com/shilman)!\n- Shortcuts: Execute preventDefault only if keyboard shortcuts are enabled - [#23412](https://github.com/storybookjs/storybook/pull/23412), thanks [@Spielboerg](https://github.com/Spielboerg)!\n- Types: Fix `React.ReactElement` not found - [#23967](https://github.com/storybookjs/storybook/pull/23967), thanks [@abu-osos](https://github.com/abu-osos)!\n- UI: Add an experimental API for adding sidebar bottom toolbar - [#23778](https://github.com/storybookjs/storybook/pull/23778), thanks [@ndelangen](https://github.com/ndelangen)!\n- UI: Add an experimental API for adding sidebar filter functions at runtime - [#23722](https://github.com/storybookjs/storybook/pull/23722), thanks [@ndelangen](https://github.com/ndelangen)!\n- UI: Add an experimental API for adding sidebar top toolbar - [#23811](https://github.com/storybookjs/storybook/pull/23811), thanks [@ndelangen](https://github.com/ndelangen)!\n- UI: Removal of experimental components - [#23907](https://github.com/storybookjs/storybook/pull/23907), thanks [@ndelangen](https://github.com/ndelangen)!\n- Vue3: Add support for Global Apps install - [#23772](https://github.com/storybookjs/storybook/pull/23772), thanks [@chakAs3](https://github.com/chakAs3)!\n- Vue3: Use slot value directly if it's a string in source decorator - [#23784](https://github.com/storybookjs/storybook/pull/23784), thanks [@nasvillanueva](https://github.com/nasvillanueva)!"
5-
}
6-
}
1+
{"version":"7.4.1","info":{"plain":"- CLI: Add uncaughtException handler - [#24018](https://github.com/storybookjs/storybook/pull/24018), thanks [@yannbf](https://github.com/yannbf)!\n- CLI: Fix packageManager handling in `sb add` - [#24079](https://github.com/storybookjs/storybook/pull/24079), thanks [@Integrayshaun](https://github.com/Integrayshaun)!\n- Core: Add CJS entrypoints to errors in core events - [#24038](https://github.com/storybookjs/storybook/pull/24038), thanks [@yannbf](https://github.com/yannbf)!\n- Docs: Fix TOC import - [#24047](https://github.com/storybookjs/storybook/pull/24047), thanks [@shilman](https://github.com/shilman)!\n- Telemetry: Filter addon options to protect sensitive info - [#24000](https://github.com/storybookjs/storybook/pull/24000), thanks [@shilman](https://github.com/shilman)!\n- Types: Remove `@types/react` dep from `@storybook/types` - [#24042](https://github.com/storybookjs/storybook/pull/24042), thanks [@JReinhold](https://github.com/JReinhold)!\n- Vue3: Remove console.log in sourceDecorator - [#24062](https://github.com/storybookjs/storybook/pull/24062), thanks [@oruman](https://github.com/oruman)!"}}

0 commit comments

Comments
 (0)