diff --git a/CHANGELOG.prerelease.md b/CHANGELOG.prerelease.md index 697526d7685d..0f95d73be3a1 100644 --- a/CHANGELOG.prerelease.md +++ b/CHANGELOG.prerelease.md @@ -1,3 +1,12 @@ +## 8.0.0-alpha.3 + +- Addon-docs: Fix storybook MDX check - [#24696](https://github.com/storybookjs/storybook/pull/24696), thanks [@shilman](https://github.com/shilman)! +- Addons: Remove unused postinstall package - [#25150](https://github.com/storybookjs/storybook/pull/25150), thanks [@shilman](https://github.com/shilman)! +- Angular: Update Angular cli templates - [#25152](https://github.com/storybookjs/storybook/pull/25152), thanks [@Marklb](https://github.com/Marklb)! +- Blocks: Fix Subtitle block for unattached docs pages - [#25157](https://github.com/storybookjs/storybook/pull/25157), thanks [@kripod](https://github.com/kripod)! +- Ember: Fix @storybook/ember - [#23435](https://github.com/storybookjs/storybook/pull/23435), thanks [@francois2metz](https://github.com/francois2metz)! +- Maintenance: Set engines field to Node.js >= 18 for packages - [#25105](https://github.com/storybookjs/storybook/pull/25105), thanks [@valentinpalkovic](https://github.com/valentinpalkovic)! + ## 8.0.0-alpha.2 - Core: Maintenance changes for NextJS embedding - [#25086](https://github.com/storybookjs/storybook/pull/25086), thanks [@shilman](https://github.com/shilman)! diff --git a/MIGRATION.md b/MIGRATION.md index ae382420f682..78f0a0c5779f 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -3,6 +3,7 @@ - [From version 7.x to 8.0.0](#from-version-7x-to-800) - [Implicit actions can not be used during rendering (for example in the play function)](#implicit-actions-can-not-be-used-during-rendering-for-example-in-the-play-function) - [Core changes](#core-changes) + - [Dropping support for Node.js 16](#dropping-support-for-nodejs-16) - [Autotitle breaking fixes](#autotitle-breaking-fixes) - [React v18 in the manager UI (including addons)](#react-v18-in-the-manager-ui-including-addons) - [Storyshots has been removed](#storyshots-has-been-removed) @@ -10,6 +11,7 @@ - [New UI and props for Button and IconButton components](#new-ui-and-props-for-button-and-iconbutton-components) - [Icons is deprecated](#icons-is-deprecated) - [React-docgen component analysis by default](#react-docgen-component-analysis-by-default) + - [Removed postinstall](#removed-postinstall) - [Framework-specific changes](#framework-specific-changes) - [Angular: Drop support for Angular \< 15](#angular-drop-support-for-angular--15) - [Next.js: Drop support for version \< 13.5](#nextjs-drop-support-for-version--135) @@ -379,6 +381,10 @@ To summarize: ### Core changes +#### Dropping support for Node.js 16 + +In Storybook 8, we have dropped Node.js 16 support since it reached end-of-life on 2023-09-11. Storybook 8 supports Node.js 18 and above. + #### Autotitle breaking fixes In Storybook 7, the file name `path/to/foo.bar.stories.js` would result in the [autotitle](https://storybook.js.org/docs/react/configure/overview#configure-story-loading) `path/to/foo`. In 8.0, this has been changed to generate `path/to/foo.bar`. We consider this a bugfix but it is also a breaking change if you depended on the old behavior. To get the old titles, you can manually specify the desired title in the default export of your story file. For example: @@ -463,6 +469,10 @@ export default { For more information see: https://storybook.js.org/docs/react/api/main-config-typescript#reactdocgen +#### Removed postinstall + +We removed the `@storybook/postinstall` package, which provided some utilities for addons to programmatically modify user configuration files on install. This package was years out of date, so this should be a non-disruptive change. If your addon used the package, you can view the old source code [here](https://github.com/storybookjs/storybook/tree/release-7-5/code/lib/postinstall) and adapt it into your addon. + ### Framework-specific changes #### Angular: Drop support for Angular \< 15 diff --git a/code/addons/docs/ember/README.md b/code/addons/docs/ember/README.md index 29af33a3b433..e1d907435883 100644 --- a/code/addons/docs/ember/README.md +++ b/code/addons/docs/ember/README.md @@ -51,7 +51,7 @@ Next, add the following to your `.storybook/preview.js` to load the generated js ```js import { setJSONDoc } from '@storybook/addon-docs/ember'; -import docJson from '../storybook-docgen/index.json'; +import docJson from '../dist/storybook-docgen/index.json'; setJSONDoc(docJson); ``` diff --git a/code/addons/docs/package.json b/code/addons/docs/package.json index ba540067019d..1372500054f6 100644 --- a/code/addons/docs/package.json +++ b/code/addons/docs/package.json @@ -83,7 +83,6 @@ "ember/**/*", "html/**/*", "svelte/**/*", - "postinstall/**/*", "react/**/*", "vue/**/*", "web-components/**/*", @@ -108,7 +107,6 @@ "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "^1.0.0", "@storybook/node-logger": "workspace:*", - "@storybook/postinstall": "workspace:*", "@storybook/preview-api": "workspace:*", "@storybook/react-dom-shim": "workspace:*", "@storybook/theming": "workspace:*", diff --git a/code/addons/docs/postinstall/presets.js b/code/addons/docs/postinstall/presets.js deleted file mode 100644 index dd08ffa240b5..000000000000 --- a/code/addons/docs/postinstall/presets.js +++ /dev/null @@ -1,36 +0,0 @@ -import fs from 'fs'; -import { presetsAddPreset, getFrameworks } from '@storybook/postinstall'; -import { logger } from '@storybook/node-logger'; - -export default function transformer(file, api) { - const packageJson = JSON.parse(fs.readFileSync('./package.json')); - const frameworks = getFrameworks(packageJson); - - let err = null; - let framework = null; - let presetOptions = null; - if (frameworks.length !== 1) { - err = `${frameworks.length === 0 ? 'No' : 'Multiple'} frameworks found: ${frameworks}`; - logger.error(`${err}, please configure '@storybook/addon-docs' manually.`); - return file.source; - } - - // eslint-disable-next-line prefer-destructuring - framework = frameworks[0]; - - const { dependencies, devDependencies } = packageJson; - if ( - framework === 'react' && - ((dependencies && dependencies['react-scripts']) || - (devDependencies && devDependencies['react-scripts'])) - ) { - presetOptions = {}; - } - - const j = api.jscodeshift; - const root = j(file.source); - - presetsAddPreset(`@storybook/addon-docs/preset`, presetOptions, { root, api }); - - return root.toSource({ quote: 'single' }); -} diff --git a/code/addons/docs/src/plugins/mdx-plugin.ts b/code/addons/docs/src/plugins/mdx-plugin.ts index 82f754fd3cd8..046e6c742bfd 100644 --- a/code/addons/docs/src/plugins/mdx-plugin.ts +++ b/code/addons/docs/src/plugins/mdx-plugin.ts @@ -5,7 +5,7 @@ import remarkExternalLinks from 'remark-external-links'; import { createFilter } from '@rollup/pluginutils'; import { dirname, join } from 'path'; -const isStorybookMdx = (id: string) => id.endsWith('stories.mdx') || id.endsWith('story.mdx'); +const isStorybookMdx = (id: string) => id.endsWith('.stories.mdx') || id.endsWith('.story.mdx'); /** * Storybook uses two different loaders when dealing with MDX: diff --git a/code/addons/docs/template/stories/docs2/Title.mdx b/code/addons/docs/template/stories/docs2/Title.mdx index 08d1de73a4a7..f94dc947bb89 100644 --- a/code/addons/docs/template/stories/docs2/Title.mdx +++ b/code/addons/docs/template/stories/docs2/Title.mdx @@ -1,7 +1,9 @@ -import { Meta } from '@storybook/addon-docs'; +import { Meta, Subtitle } from '@storybook/addon-docs'; # Docs with title +Subtitle + hello docs diff --git a/code/e2e-tests/json-files.spec.ts b/code/e2e-tests/json-files.spec.ts index d2026a7872b2..f205de3299ed 100644 --- a/code/e2e-tests/json-files.spec.ts +++ b/code/e2e-tests/json-files.spec.ts @@ -23,7 +23,7 @@ test.describe('JSON files', () => { entries: expect.objectContaining({ 'example-button--primary': expect.objectContaining({ id: 'example-button--primary', - importPath: expect.stringContaining('Button.stories'), + importPath: expect.stringMatching(/button\.stories/i), name: 'Primary', title: 'Example/Button', type: 'story', diff --git a/code/frameworks/angular/package.json b/code/frameworks/angular/package.json index 5ccb6476b4cd..721845b73330 100644 --- a/code/frameworks/angular/package.json +++ b/code/frameworks/angular/package.json @@ -111,7 +111,7 @@ } }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/angular/template/cli/User.ts b/code/frameworks/angular/template/cli/User.ts deleted file mode 100644 index 2f7fcecb5d74..000000000000 --- a/code/frameworks/angular/template/cli/User.ts +++ /dev/null @@ -1,2 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/no-empty-interface -export interface User {} diff --git a/code/frameworks/angular/template/cli/button.component.ts b/code/frameworks/angular/template/cli/button.component.ts index 28dcc97e5526..badc6bad7f19 100644 --- a/code/frameworks/angular/template/cli/button.component.ts +++ b/code/frameworks/angular/template/cli/button.component.ts @@ -3,6 +3,7 @@ import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'storybook-button', + standalone: true, imports: [CommonModule], template: ` `, + template: hbs``, context: args, }), argTypes: { label: { control: 'text' }, }, - // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs + // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/ember/writing-docs/autodocs tags: ['autodocs'], }; @@ -27,13 +27,14 @@ export const Text = { export const Emoji = { args: { label: '😀 😎 👍 💯', + onClick: action('onClick'), }, }; export const TextWithAction = { render: () => ({ template: hbs` - `, @@ -50,12 +51,12 @@ export const TextWithAction = { export const ButtonWithLinkToAnotherStory = { render: () => ({ template: hbs` - `, context: { - onClick: linkTo('example-introduction--page'), + onClick: linkTo('example-button--docs'), }, }), name: 'button with link to another story', diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/empty.input.js b/code/frameworks/ember/template/components/index.js similarity index 100% rename from code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/empty.input.js rename to code/frameworks/ember/template/components/index.js diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/empty.input.js b/code/frameworks/ember/template/stories/.gitkeep similarity index 100% rename from code/lib/postinstall/src/__testfixtures__/presets-add-preset/empty.input.js rename to code/frameworks/ember/template/stories/.gitkeep diff --git a/code/frameworks/html-webpack5/package.json b/code/frameworks/html-webpack5/package.json index 8a5366e23265..63af002b586d 100644 --- a/code/frameworks/html-webpack5/package.json +++ b/code/frameworks/html-webpack5/package.json @@ -61,7 +61,7 @@ "@babel/core": "*" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/preact-webpack5/package.json b/code/frameworks/preact-webpack5/package.json index c101da59d6df..80016a924619 100644 --- a/code/frameworks/preact-webpack5/package.json +++ b/code/frameworks/preact-webpack5/package.json @@ -62,7 +62,7 @@ "preact": "^8.0.0||^10.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/react-webpack5/package.json b/code/frameworks/react-webpack5/package.json index 9ed7e7708167..0dfd173b7805 100644 --- a/code/frameworks/react-webpack5/package.json +++ b/code/frameworks/react-webpack5/package.json @@ -70,7 +70,7 @@ } }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/server-webpack5/package.json b/code/frameworks/server-webpack5/package.json index 6b7a6efb9cd7..b1263e616477 100644 --- a/code/frameworks/server-webpack5/package.json +++ b/code/frameworks/server-webpack5/package.json @@ -57,7 +57,7 @@ "typescript": "^5.3.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/svelte-webpack5/package.json b/code/frameworks/svelte-webpack5/package.json index 0fc796c458bd..d55ceab4a05c 100644 --- a/code/frameworks/svelte-webpack5/package.json +++ b/code/frameworks/svelte-webpack5/package.json @@ -63,7 +63,7 @@ "svelte-loader": "*" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/vue3-webpack5/package.json b/code/frameworks/vue3-webpack5/package.json index 3dbd5531be78..95ee5fe3ce0e 100644 --- a/code/frameworks/vue3-webpack5/package.json +++ b/code/frameworks/vue3-webpack5/package.json @@ -65,7 +65,7 @@ "vue": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/frameworks/web-components-webpack5/package.json b/code/frameworks/web-components-webpack5/package.json index 4691704366e7..d073a14c47b4 100644 --- a/code/frameworks/web-components-webpack5/package.json +++ b/code/frameworks/web-components-webpack5/package.json @@ -65,7 +65,7 @@ "lit": "^2.0.0 || ^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/lib/cli/src/automigrate/fixes/missing-babelrc.test.ts b/code/lib/cli/src/automigrate/fixes/missing-babelrc.test.ts index 91a3230141fe..51bf90e4d544 100644 --- a/code/lib/cli/src/automigrate/fixes/missing-babelrc.test.ts +++ b/code/lib/cli/src/automigrate/fixes/missing-babelrc.test.ts @@ -119,7 +119,8 @@ describe('missing-babelrc fix', () => { ).resolves.toBeNull(); }); - it('prompts when babelrc file is missing and framework does not provide babel config', async () => { + // eslint-disable-next-line jest/no-disabled-tests + it.skip('prompts when babelrc file is missing and framework does not provide babel config', async () => { await expect( check({ packageManager, diff --git a/code/lib/cli/src/detect.ts b/code/lib/cli/src/detect.ts index 733ed65e2974..f8fe7eb9903d 100644 --- a/code/lib/cli/src/detect.ts +++ b/code/lib/cli/src/detect.ts @@ -131,6 +131,7 @@ export async function detectBuilder(packageManager: JsPackageManager, projectTyp case ProjectType.ANGULAR: case ProjectType.REACT_NATIVE: // technically react native doesn't use webpack, we just want to set something case ProjectType.NEXTJS: + case ProjectType.EMBER: return CoreBuilder.Webpack5; default: // eslint-disable-next-line no-case-declarations diff --git a/code/lib/cli/src/generators/EMBER/index.ts b/code/lib/cli/src/generators/EMBER/index.ts index 313dcf8691fd..98c041c952f7 100644 --- a/code/lib/cli/src/generators/EMBER/index.ts +++ b/code/lib/cli/src/generators/EMBER/index.ts @@ -16,7 +16,8 @@ const generator: Generator = async (packageManager, npmOptions, options) => { 'babel-plugin-htmlbars-inline-precompile', ], staticDir: 'dist', - } + }, + 'ember' ); }; diff --git a/code/lib/cli/src/project_types.ts b/code/lib/cli/src/project_types.ts index 8f1f07b3ae0f..0a0073d84664 100644 --- a/code/lib/cli/src/project_types.ts +++ b/code/lib/cli/src/project_types.ts @@ -22,7 +22,7 @@ export const externalFrameworks: ExternalFramework[] = [ ]; // Should match @storybook/ -export type SupportedFrameworks = 'nextjs' | 'angular' | 'sveltekit' | 'qwik' | 'solid'; +export type SupportedFrameworks = 'nextjs' | 'angular' | 'sveltekit' | 'qwik' | 'solid' | 'ember'; // Should match @storybook/ export type SupportedRenderers = diff --git a/code/lib/cli/src/sandbox-templates.ts b/code/lib/cli/src/sandbox-templates.ts index e2046abb8b6f..f2d4950bf2d1 100644 --- a/code/lib/cli/src/sandbox-templates.ts +++ b/code/lib/cli/src/sandbox-templates.ts @@ -471,6 +471,27 @@ const baseTemplates = { // TODO: The community template does not provide standard stories, which is required for e2e tests. skipTasks: ['e2e-tests', 'e2e-tests-dev', 'bench'], }, + 'ember/3-js': { + name: 'Ember v3 (Webpack | JavaScript)', + script: 'npx --package ember-cli@3.28.1 ember new {{beforeDir}}', + inDevelopment: true, + expected: { + framework: '@storybook/ember', + renderer: '@storybook/ember', + builder: '@storybook/builder-webpack5', + }, + }, + 'ember/default-js': { + name: 'Ember v4 (Webpack | JavaScript)', + script: + 'npx --package ember-cli@4.12.1 ember new {{beforeDir}} --yarn && cd {{beforeDir}} && yarn add --dev @storybook/ember-cli-storybook && yarn build', + inDevelopment: true, + expected: { + framework: '@storybook/ember', + renderer: '@storybook/ember', + builder: '@storybook/builder-webpack5', + }, + }, } satisfies Record; /** @@ -589,6 +610,7 @@ export const normal: TemplateKey[] = [ 'bench/react-vite-default-ts-nodocs', 'bench/react-vite-default-ts-test-build', 'bench/react-webpack-18-ts-test-build', + 'ember/default-js', ]; export const merged: TemplateKey[] = [ diff --git a/code/lib/cli/src/versions.ts b/code/lib/cli/src/versions.ts index b79de74ff14c..9e70f5473038 100644 --- a/code/lib/cli/src/versions.ts +++ b/code/lib/cli/src/versions.ts @@ -43,7 +43,6 @@ export default { '@storybook/manager-api': '8.0.0-alpha.2', '@storybook/nextjs': '8.0.0-alpha.2', '@storybook/node-logger': '8.0.0-alpha.2', - '@storybook/postinstall': '8.0.0-alpha.2', '@storybook/preact': '8.0.0-alpha.2', '@storybook/preact-vite': '8.0.0-alpha.2', '@storybook/preact-webpack5': '8.0.0-alpha.2', diff --git a/code/lib/core-common/src/index.ts b/code/lib/core-common/src/index.ts index 7296dc814a2c..2af1d1100798 100644 --- a/code/lib/core-common/src/index.ts +++ b/code/lib/core-common/src/index.ts @@ -5,7 +5,6 @@ export * from './presets'; export * from './utils/cache'; export * from './utils/check-addon-order'; export * from './utils/envs'; -export * from './utils/findDistEsm'; export * from './utils/common-glob-options'; export * from './utils/get-builder-options'; export * from './utils/get-framework-name'; diff --git a/code/lib/postinstall/README.md b/code/lib/postinstall/README.md deleted file mode 100644 index 44d12ca595b5..000000000000 --- a/code/lib/postinstall/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Storybook Postinstall Utilities - -A minimal utility library for addons to update project configurations after the addon is installed via the [Storybook CLI](https://github.com/storybookjs/storybook/tree/main/lib/cli), e.g. `sb add docs`. - -Each postinstall is written as a [jscodeshift](https://github.com/facebook/jscodeshift) codemod, with the naming convention `addon-name/postinstall/.js` where `file` is one of { `config`, `addons`, `presets` }. - -If these files are present in the addon, the CLI will run them on the existing file in the user's project (or create a new empty file if one doesn't exist). This library exists to make it really easy to make common modifications without having to muck with jscodeshift internals. - -## Adding a preset - -To add a preset to `presets.js`, simply create a file `postinstall/presets.js` in your addon: - -```js -import { presetsAddPreset } = require('@storybook/postinstall'); -export default function transformer(file, api) { - const root = api.jscodeshift(file.source); - presetsAddPreset(`@storybook/addon-docs/preset`, { some: 'options' }, { root, api }); - return root.toSource(); -}; -``` diff --git a/code/lib/postinstall/jest.config.js b/code/lib/postinstall/jest.config.js deleted file mode 100644 index 343e4c7a7f32..000000000000 --- a/code/lib/postinstall/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const path = require('path'); -const baseConfig = require('../../jest.config.node'); - -module.exports = { - ...baseConfig, - displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep), -}; diff --git a/code/lib/postinstall/package.json b/code/lib/postinstall/package.json deleted file mode 100644 index 93d323c3590f..000000000000 --- a/code/lib/postinstall/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "name": "@storybook/postinstall", - "version": "8.0.0-alpha.2", - "description": "Storybook addons postinstall utilities", - "keywords": [ - "api", - "storybook" - ], - "homepage": "https://github.com/storybookjs/storybook/tree/next/code/lib/postinstall", - "bugs": { - "url": "https://github.com/storybookjs/storybook/issues" - }, - "repository": { - "type": "git", - "url": "https://github.com/storybookjs/storybook.git", - "directory": "code/lib/postinstall" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "license": "MIT", - "sideEffects": false, - "exports": { - ".": { - "types": "./dist/index.d.ts", - "node": "./dist/index.js", - "require": "./dist/index.js", - "import": "./dist/index.mjs" - }, - "./package.json": "./package.json" - }, - "main": "dist/index.js", - "module": "dist/index.mjs", - "types": "dist/index.d.ts", - "files": [ - "dist/**/*", - "README.md", - "*.js", - "*.d.ts", - "!src/**/*" - ], - "scripts": { - "check": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/check.ts", - "prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts" - }, - "devDependencies": { - "jest": "^29.7.0", - "jest-specific-snapshot": "^8.0.0", - "jscodeshift": "^0.15.1", - "typescript": "^5.3.2" - }, - "publishConfig": { - "access": "public" - }, - "bundler": { - "entries": [ - "./src/index.ts" - ] - }, - "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17" -} diff --git a/code/lib/postinstall/project.json b/code/lib/postinstall/project.json deleted file mode 100644 index fca460141319..000000000000 --- a/code/lib/postinstall/project.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@storybook/postinstall", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "implicitDependencies": [], - "type": "library" -} diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.input.js b/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.input.js deleted file mode 100644 index 40a844e905a5..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.input.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = ['foo']; diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.output.snapshot b/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.output.snapshot deleted file mode 100644 index 4a3d8bd7e284..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/basic.output.snapshot +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`presets-add-preset-options transforms correctly using "basic.input.js" data 1`] = ` -"module.exports = ['foo', { - name: 'test', - options: {\\"a\\":[1,2,3],\\"b\\":{\\"foo\\":\\"bar\\"},\\"c\\":\\"baz\\"} -}];" -`; diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/empty.output.snapshot b/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/empty.output.snapshot deleted file mode 100644 index a28c9e8e6419..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset-options/empty.output.snapshot +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`presets-add-preset-options transforms correctly using "empty.input.js" data 1`] = ` -"module.exports = [{ - name: 'test', - options: {\\"a\\":[1,2,3],\\"b\\":{\\"foo\\":\\"bar\\"},\\"c\\":\\"baz\\"} -}];" -`; diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.input.js b/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.input.js deleted file mode 100644 index 40a844e905a5..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.input.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = ['foo']; diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.output.snapshot b/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.output.snapshot deleted file mode 100644 index aaf16d58b3d8..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/basic.output.snapshot +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`presets-add-preset transforms correctly using "basic.input.js" data 1`] = `"module.exports = ['foo', 'test'];"`; diff --git a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/empty.output.snapshot b/code/lib/postinstall/src/__testfixtures__/presets-add-preset/empty.output.snapshot deleted file mode 100644 index 9acaaca175c2..000000000000 --- a/code/lib/postinstall/src/__testfixtures__/presets-add-preset/empty.output.snapshot +++ /dev/null @@ -1,3 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`presets-add-preset transforms correctly using "empty.input.js" data 1`] = `"module.exports = ['test'];"`; diff --git a/code/lib/postinstall/src/__testtransforms__/presets-add-preset-options.js b/code/lib/postinstall/src/__testtransforms__/presets-add-preset-options.js deleted file mode 100644 index aacd83f2f86e..000000000000 --- a/code/lib/postinstall/src/__testtransforms__/presets-add-preset-options.js +++ /dev/null @@ -1,16 +0,0 @@ -import { addPreset } from '../presets'; - -export default function transformer(file, api) { - const j = api.jscodeshift; - const root = j(file.source); - - const options = { - a: [1, 2, 3], - b: { foo: 'bar' }, - c: 'baz', - }; - - addPreset('test', options, { root, api }); - - return root.toSource({ quote: 'single' }); -} diff --git a/code/lib/postinstall/src/__testtransforms__/presets-add-preset.js b/code/lib/postinstall/src/__testtransforms__/presets-add-preset.js deleted file mode 100644 index 76b5fa60fb21..000000000000 --- a/code/lib/postinstall/src/__testtransforms__/presets-add-preset.js +++ /dev/null @@ -1,10 +0,0 @@ -import { addPreset } from '../presets'; - -export default function transformer(file, api) { - const j = api.jscodeshift; - const root = j(file.source); - - addPreset('test', null, { root, api }); - - return root.toSource({ quote: 'single' }); -} diff --git a/code/lib/postinstall/src/codemods.test.ts b/code/lib/postinstall/src/codemods.test.ts deleted file mode 100644 index cc7489df0b0e..000000000000 --- a/code/lib/postinstall/src/codemods.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import path from 'path'; -import fs from 'fs'; -import 'jest-specific-snapshot'; -// @ts-expect-error (broken types) -import { applyTransform } from 'jscodeshift/dist/testUtils'; - -jest.mock('@storybook/node-logger'); - -const inputRegExp = /\.input\.js$/; - -const fixturesDir = path.resolve(__dirname, './__testfixtures__'); -fs.readdirSync(fixturesDir).forEach((transformName) => { - const transformFixturesDir = path.join(fixturesDir, transformName); - describe(`${transformName}`, () => { - fs.readdirSync(transformFixturesDir) - .filter((fileName) => inputRegExp.test(fileName)) - .forEach((fileName) => { - const inputPath = path.join(transformFixturesDir, fileName); - it(`transforms correctly using "${fileName}" data`, () => - expect( - applyTransform( - // eslint-disable-next-line global-require,import/no-dynamic-require - require(path.join(__dirname, '__testtransforms__', transformName)), - null, - { path: inputPath, source: fs.readFileSync(inputPath, 'utf8') } - ) - ).toMatchSpecificSnapshot(inputPath.replace(inputRegExp, '.output.snapshot'))); - }); - }); -}); diff --git a/code/lib/postinstall/src/frameworks.test.ts b/code/lib/postinstall/src/frameworks.test.ts deleted file mode 100644 index 0fce293caae6..000000000000 --- a/code/lib/postinstall/src/frameworks.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { it, describe, expect } from '@jest/globals'; -import { getFrameworks } from './frameworks'; - -const REACT = { - '@storybook/react': '5.2.5', -}; - -const VUE = { - '@storybook/vue': '5.2.5', -}; - -const NONE = { - '@storybook/preview-api': '5.2.5', - lodash: '^4.17.15', -}; - -describe('getFrameworks', () => { - it('single framework', () => { - const frameworks = getFrameworks({ - dependencies: NONE, - devDependencies: REACT, - }); - expect(frameworks).toEqual(['react']); - }); - it('multi-framework', () => { - const frameworks = getFrameworks({ - dependencies: VUE, - devDependencies: REACT, - }); - expect(frameworks.sort()).toEqual(['react', 'vue']); - }); - it('no deps', () => { - const frameworks = getFrameworks({}); - expect(frameworks).toEqual([]); - }); - it('no framework', () => { - const frameworks = getFrameworks({ - dependencies: NONE, - }); - expect(frameworks).toEqual([]); - }); -}); diff --git a/code/lib/postinstall/src/frameworks.ts b/code/lib/postinstall/src/frameworks.ts deleted file mode 100644 index a618e4c832cc..000000000000 --- a/code/lib/postinstall/src/frameworks.ts +++ /dev/null @@ -1,25 +0,0 @@ -type Deps = Record; -interface PackageJson { - dependencies?: Deps; - devDependencies?: Deps; -} - -const FRAMEWORKS = [ - 'angular', - 'ember', - 'html', - 'preact', - 'react', - 'react-native', - 'svelte', - 'vue', - 'web-components', -]; - -export const getFrameworks = ({ dependencies, devDependencies }: PackageJson): string[] => { - const allDeps: Deps = {}; - Object.assign(allDeps, dependencies || {}); - Object.assign(allDeps, devDependencies || {}); - - return FRAMEWORKS.filter((f) => !!allDeps[`@storybook/${f}`]); -}; diff --git a/code/lib/postinstall/src/index.ts b/code/lib/postinstall/src/index.ts deleted file mode 100644 index e9b7c48ca047..000000000000 --- a/code/lib/postinstall/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { addPreset as presetsAddPreset } from './presets'; -export * from './frameworks'; diff --git a/code/lib/postinstall/src/presets.ts b/code/lib/postinstall/src/presets.ts deleted file mode 100644 index fe6c61f75b19..000000000000 --- a/code/lib/postinstall/src/presets.ts +++ /dev/null @@ -1,50 +0,0 @@ -interface PostinstallContext { - root: any; - api: any; -} - -export function addPreset(preset: string, presetOptions: any, { api, root }: PostinstallContext) { - const j = api.jscodeshift; - const moduleExports: any[] = []; - root - .find(j.AssignmentExpression) - .filter( - (assignment: any) => - assignment.node.left.type === 'MemberExpression' && - assignment.node.left.object.name === 'module' && - assignment.node.left.property.name === 'exports' - ) - .forEach((exp: any) => moduleExports.push(exp)); - - let exportArray = null; - switch (moduleExports.length) { - case 0: { - exportArray = j.arrayExpression([]); - const exportStatement = j.assignmentStatement( - '=', - j.memberExpression(j.identifier('module'), j.identifier('exports')), - exportArray - ); - root.get().node.program.body.push(exportStatement); - break; - } - case 1: - exportArray = moduleExports[0].node.right; - break; - default: - throw new Error('Multiple module export statements'); - } - - let presetConfig = j.literal(preset); - if (presetOptions) { - const optionsJson = `const x = ${JSON.stringify(presetOptions)}`; - const optionsRoot = j(optionsJson); - const optionsNode = optionsRoot.find(j.VariableDeclarator).get().node.init; - - presetConfig = j.objectExpression([ - j.property('init', j.identifier('name'), j.literal(preset)), - j.property('init', j.identifier('options'), optionsNode), - ]); - } - exportArray.elements.push(presetConfig); -} diff --git a/code/lib/postinstall/tsconfig.json b/code/lib/postinstall/tsconfig.json deleted file mode 100644 index ff4f0ce4aea6..000000000000 --- a/code/lib/postinstall/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "types": ["node"], - "strict": true - }, - "include": ["src/**/*"] -} diff --git a/code/package.json b/code/package.json index e7326b063df1..0b9aa0ac2cb7 100644 --- a/code/package.json +++ b/code/package.json @@ -149,7 +149,6 @@ "@storybook/manager-api": "workspace:*", "@storybook/nextjs": "workspace:*", "@storybook/node-logger": "workspace:*", - "@storybook/postinstall": "workspace:*", "@storybook/preact": "workspace:*", "@storybook/preact-vite": "workspace:*", "@storybook/preact-webpack5": "workspace:*", @@ -317,5 +316,6 @@ "Dependency Upgrades" ] ] - } + }, + "deferredNextVersion": "8.0.0-alpha.3" } diff --git a/code/presets/html-webpack/package.json b/code/presets/html-webpack/package.json index 2af60b4cffe2..7a9712a1e91e 100644 --- a/code/presets/html-webpack/package.json +++ b/code/presets/html-webpack/package.json @@ -61,7 +61,7 @@ "@babel/core": "*" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/preact-webpack/package.json b/code/presets/preact-webpack/package.json index edd3feffcefc..d142ea1c9c49 100644 --- a/code/presets/preact-webpack/package.json +++ b/code/presets/preact-webpack/package.json @@ -63,7 +63,7 @@ "preact": "^8.0.0||^10.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/react-webpack/package.json b/code/presets/react-webpack/package.json index 71ea61105ad3..e1b4bfaab418 100644 --- a/code/presets/react-webpack/package.json +++ b/code/presets/react-webpack/package.json @@ -104,7 +104,7 @@ } }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/server-webpack/package.json b/code/presets/server-webpack/package.json index ed780a421e4c..4ff7501257ff 100644 --- a/code/presets/server-webpack/package.json +++ b/code/presets/server-webpack/package.json @@ -70,7 +70,7 @@ "yaml": "^2.3.1" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/svelte-webpack/package.json b/code/presets/svelte-webpack/package.json index e91d5f5d07c6..b7d4ae0299b3 100644 --- a/code/presets/svelte-webpack/package.json +++ b/code/presets/svelte-webpack/package.json @@ -80,7 +80,7 @@ "svelte-loader": "*" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/vue3-webpack/package.json b/code/presets/vue3-webpack/package.json index 9a087a0e7aae..678f9e450a13 100644 --- a/code/presets/vue3-webpack/package.json +++ b/code/presets/vue3-webpack/package.json @@ -80,7 +80,7 @@ "vue": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/presets/web-components-webpack/package.json b/code/presets/web-components-webpack/package.json index baf6e3dfae9e..7cc49849f572 100644 --- a/code/presets/web-components-webpack/package.json +++ b/code/presets/web-components-webpack/package.json @@ -68,7 +68,7 @@ "lit": "^2.0.0 || ^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/html/package.json b/code/renderers/html/package.json index b2707af5b1e8..1c7f013e79b8 100644 --- a/code/renderers/html/package.json +++ b/code/renderers/html/package.json @@ -60,7 +60,7 @@ "@babel/core": "*" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/preact/package.json b/code/renderers/preact/package.json index 1f42394b3b51..9017b1dd5f3a 100644 --- a/code/renderers/preact/package.json +++ b/code/renderers/preact/package.json @@ -60,7 +60,7 @@ "preact": "^8.0.0||^10.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/react/package.json b/code/renderers/react/package.json index 7e9d337efb11..d40a45da3483 100644 --- a/code/renderers/react/package.json +++ b/code/renderers/react/package.json @@ -87,7 +87,7 @@ } }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/server/package.json b/code/renderers/server/package.json index 3a7879678fd6..098b055332dc 100644 --- a/code/renderers/server/package.json +++ b/code/renderers/server/package.json @@ -60,7 +60,7 @@ "typescript": "^5.3.2" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/svelte/package.json b/code/renderers/svelte/package.json index ba2c0e6390dd..1c8ed067703e 100644 --- a/code/renderers/svelte/package.json +++ b/code/renderers/svelte/package.json @@ -71,7 +71,7 @@ "svelte": "^4.0.0 || ^5.0.0-next.16" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/vue3/package.json b/code/renderers/vue3/package.json index f5fe887f9851..e20e632b8b18 100644 --- a/code/renderers/vue3/package.json +++ b/code/renderers/vue3/package.json @@ -71,7 +71,7 @@ "vue": "^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/renderers/web-components/package.json b/code/renderers/web-components/package.json index bce39dd3465c..3e4ecab10fee 100644 --- a/code/renderers/web-components/package.json +++ b/code/renderers/web-components/package.json @@ -71,7 +71,7 @@ "lit": "^2.0.0 || ^3.0.0" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" }, "publishConfig": { "access": "public" diff --git a/code/ui/blocks/src/blocks/Subtitle.tsx b/code/ui/blocks/src/blocks/Subtitle.tsx index ee4fa0517563..143543cb27fb 100644 --- a/code/ui/blocks/src/blocks/Subtitle.tsx +++ b/code/ui/blocks/src/blocks/Subtitle.tsx @@ -9,8 +9,7 @@ interface SubtitleProps { export const Subtitle: FunctionComponent = ({ children }) => { const docsContext = useContext(DocsContext); - const { parameters } = docsContext.storyById(); - const content = children || parameters?.componentSubtitle; + const content = children || docsContext.storyById().parameters?.componentSubtitle; return content ? ( {content} diff --git a/code/yarn.lock b/code/yarn.lock index b20f98adbe2a..fe0b388fcdd4 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -4821,7 +4821,6 @@ __metadata: "@storybook/global": "npm:^5.0.0" "@storybook/mdx2-csf": "npm:^1.0.0" "@storybook/node-logger": "workspace:*" - "@storybook/postinstall": "workspace:*" "@storybook/preview-api": "workspace:*" "@storybook/react-dom-shim": "workspace:*" "@storybook/theming": "workspace:*" @@ -5722,14 +5721,16 @@ __metadata: "@storybook/preview-api": "workspace:*" "@storybook/types": "workspace:*" ember-source: "npm:~3.28.1" + find-up: "npm:^5.0.0" ts-dedent: "npm:^2.0.0" typescript: "npm:^5.3.2" peerDependencies: "@babel/core": "*" - "@types/ember__component": 4.0.8 - babel-plugin-ember-modules-api-polyfill: ^2.12.0 - babel-plugin-htmlbars-inline-precompile: 2 || 3 - ember-source: ~3.28.1 + babel-plugin-ember-modules-api-polyfill: ^3.5.0 + babel-plugin-htmlbars-inline-precompile: ^5.3.1 + ember-source: ~3.28.1 || ^4.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 languageName: unknown linkType: soft @@ -6026,17 +6027,6 @@ __metadata: languageName: unknown linkType: soft -"@storybook/postinstall@workspace:*, @storybook/postinstall@workspace:lib/postinstall": - version: 0.0.0-use.local - resolution: "@storybook/postinstall@workspace:lib/postinstall" - dependencies: - jest: "npm:^29.7.0" - jest-specific-snapshot: "npm:^8.0.0" - jscodeshift: "npm:^0.15.1" - typescript: "npm:^5.3.2" - languageName: unknown - linkType: soft - "@storybook/preact-vite@workspace:*, @storybook/preact-vite@workspace:frameworks/preact-vite": version: 0.0.0-use.local resolution: "@storybook/preact-vite@workspace:frameworks/preact-vite" @@ -6461,7 +6451,6 @@ __metadata: "@storybook/manager-api": "workspace:*" "@storybook/nextjs": "workspace:*" "@storybook/node-logger": "workspace:*" - "@storybook/postinstall": "workspace:*" "@storybook/preact": "workspace:*" "@storybook/preact-vite": "workspace:*" "@storybook/preact-webpack5": "workspace:*" diff --git a/docs/versions/next.json b/docs/versions/next.json index fa9aa8ce29c5..87806eaaf3b8 100644 --- a/docs/versions/next.json +++ b/docs/versions/next.json @@ -1 +1 @@ -{"version":"8.0.0-alpha.2","info":{"plain":"- Core: Maintenance changes for NextJS embedding - [#25086](https://github.com/storybookjs/storybook/pull/25086), thanks [@shilman](https://github.com/shilman)!\n- Docs: Use encodeURIComponent to encode story name - [#25062](https://github.com/storybookjs/storybook/pull/25062), thanks [@xyy94813](https://github.com/xyy94813)!\n- Init: Allow users to generate a new project in empty directory - [#24997](https://github.com/storybookjs/storybook/pull/24997), thanks [@Integrayshaun](https://github.com/Integrayshaun)!\n- Svelte: Support v5 prereleases - [#24889](https://github.com/storybookjs/storybook/pull/24889), thanks [@allozaur](https://github.com/allozaur)!\n- Vue: Remove deprecated vue packages from next - [#25108](https://github.com/storybookjs/storybook/pull/25108), thanks [@kasperpeulen](https://github.com/kasperpeulen)!\n- Vue: Remove unused preset-vue-webpack - [#25151](https://github.com/storybookjs/storybook/pull/25151), thanks [@shilman](https://github.com/shilman)!"}} +{"version":"8.0.0-alpha.3","info":{"plain":"- Addon-docs: Fix storybook MDX check - [#24696](https://github.com/storybookjs/storybook/pull/24696), thanks [@shilman](https://github.com/shilman)!\n- Addons: Remove unused postinstall package - [#25150](https://github.com/storybookjs/storybook/pull/25150), thanks [@shilman](https://github.com/shilman)!\n- Angular: Update Angular cli templates - [#25152](https://github.com/storybookjs/storybook/pull/25152), thanks [@Marklb](https://github.com/Marklb)!\n- Blocks: Fix Subtitle block for unattached docs pages - [#25157](https://github.com/storybookjs/storybook/pull/25157), thanks [@kripod](https://github.com/kripod)!\n- Ember: Fix @storybook/ember - [#23435](https://github.com/storybookjs/storybook/pull/23435), thanks [@francois2metz](https://github.com/francois2metz)!\n- Maintenance: Set engines field to Node.js >= 18 for packages - [#25105](https://github.com/storybookjs/storybook/pull/25105), thanks [@valentinpalkovic](https://github.com/valentinpalkovic)!"}} diff --git a/scripts/sandbox/generate.ts b/scripts/sandbox/generate.ts index 0ad2860b536f..f6260ada4875 100755 --- a/scripts/sandbox/generate.ts +++ b/scripts/sandbox/generate.ts @@ -64,7 +64,7 @@ const withLocalRegistry = async (packageManager: JsPackageManager, action: () => const addStorybook = async ({ baseDir, localRegistry, - flags, + flags = [], debug, env = {}, }: { @@ -82,7 +82,7 @@ const addStorybook = async ({ try { await copy(beforeDir, tmpDir); - const packageManager = JsPackageManagerFactory.getPackageManager({}, tmpDir); + const packageManager = JsPackageManagerFactory.getPackageManager({ force: 'yarn1' }, tmpDir); if (localRegistry) { await withLocalRegistry(packageManager, async () => { await packageManager.addPackageResolutions({ @@ -91,10 +91,10 @@ const addStorybook = async ({ jackspeak: '2.1.1', }); - await sbInit(tmpDir, env, flags, debug); + await sbInit(tmpDir, env, [...flags, '--package-manager=yarn1'], debug); }); } else { - await sbInit(tmpDir, env, flags, debug); + await sbInit(tmpDir, env, [...flags, '--package-manager=yarn1'], debug); } } catch (e) { await remove(tmpDir); diff --git a/scripts/verdaccio.yaml b/scripts/verdaccio.yaml index 89bb067a5d39..e0139f305f0b 100644 --- a/scripts/verdaccio.yaml +++ b/scripts/verdaccio.yaml @@ -120,6 +120,10 @@ packages: access: $all publish: $all proxy: npmjs + '@storybook/ember-cli-storybook': + access: $all + publish: $all + proxy: npmjs # storybook packages are NOT proxied to global registry # allowing us to republish any version during tests diff --git a/test-storybooks/ember-cli/package.json b/test-storybooks/ember-cli/package.json index e2f454ef9587..985e3b82f034 100644 --- a/test-storybooks/ember-cli/package.json +++ b/test-storybooks/ember-cli/package.json @@ -49,7 +49,6 @@ "@storybook/manager": "portal:../../code/ui/manager", "@storybook/nextjs": "portal:../../code/frameworks/nextjs", "@storybook/node-logger": "portal:../../code/lib/node-logger", - "@storybook/postinstall": "portal:../../code/lib/postinstall", "@storybook/preact": "portal:../../code/renderers/preact", "@storybook/preact-webpack5": "portal:../../code/frameworks/preact-webpack5", "@storybook/preset-html-webpack": "portal:../../code/presets/html-webpack", diff --git a/test-storybooks/external-docs/package.json b/test-storybooks/external-docs/package.json index 368f160a40cd..a5d118ec0b4c 100644 --- a/test-storybooks/external-docs/package.json +++ b/test-storybooks/external-docs/package.json @@ -50,7 +50,6 @@ "@storybook/manager-api": "portal:../../code/lib/manager-api", "@storybook/nextjs": "portal:../../code/frameworks/nextjs", "@storybook/node-logger": "portal:../../code/lib/node-logger", - "@storybook/postinstall": "portal:../../code/lib/postinstall", "@storybook/preact": "portal:../../code/renderers/preact", "@storybook/preact-webpack5": "portal:../../code/frameworks/preact-webpack5", "@storybook/preset-html-webpack": "portal:../../code/presets/html-webpack", diff --git a/test-storybooks/server-kitchen-sink/package.json b/test-storybooks/server-kitchen-sink/package.json index b663db093309..7ed22443414b 100644 --- a/test-storybooks/server-kitchen-sink/package.json +++ b/test-storybooks/server-kitchen-sink/package.json @@ -52,7 +52,6 @@ "@storybook/manager": "portal:../../code/ui/manager", "@storybook/nextjs": "portal:../../code/frameworks/nextjs", "@storybook/node-logger": "portal:../../code/lib/node-logger", - "@storybook/postinstall": "portal:../../code/lib/postinstall", "@storybook/preact": "portal:../../code/renderers/preact", "@storybook/preact-webpack5": "portal:../../code/frameworks/preact-webpack5", "@storybook/preset-html-webpack": "portal:../../code/presets/html-webpack", diff --git a/test-storybooks/standalone-preview/package.json b/test-storybooks/standalone-preview/package.json index 41a52bd14f4c..f4b5d69080cd 100644 --- a/test-storybooks/standalone-preview/package.json +++ b/test-storybooks/standalone-preview/package.json @@ -45,7 +45,6 @@ "@storybook/manager": "portal:../../code/ui/manager", "@storybook/nextjs": "portal:../../code/frameworks/nextjs", "@storybook/node-logger": "portal:../../code/lib/node-logger", - "@storybook/postinstall": "portal:../../code/lib/postinstall", "@storybook/preact": "portal:../../code/renderers/preact", "@storybook/preact-webpack5": "portal:../../code/frameworks/preact-webpack5", "@storybook/preset-html-webpack": "portal:../../code/presets/html-webpack",