diff --git a/code/.storybook/main.ts b/code/.storybook/main.ts index e3f8e6b53f34..a4cedde66608 100644 --- a/code/.storybook/main.ts +++ b/code/.storybook/main.ts @@ -91,7 +91,7 @@ const config: StorybookConfig = { '@storybook/addon-interactions', '@storybook/addon-storysource', '@storybook/addon-designs', - '@storybook/experimental-addon-vitest', + '@storybook/experimental-addon-test', '@storybook/addon-a11y', '@chromatic-com/storybook', ], diff --git a/code/.storybook/vitest.config.ts b/code/.storybook/vitest.config.ts index 4e7c8fdd87d2..a6120deed897 100644 --- a/code/.storybook/vitest.config.ts +++ b/code/.storybook/vitest.config.ts @@ -21,7 +21,7 @@ export default mergeConfig( vitestCommonConfig, defineProject({ plugins: [ - import('@storybook/experimental-addon-vitest/plugin').then(({ storybookTest }) => + import('@storybook/experimental-addon-test/vite-plugin').then(({ storybookTest }) => storybookTest({ configDir: process.cwd(), }) diff --git a/code/addons/vitest/README.md b/code/addons/test/README.md similarity index 100% rename from code/addons/vitest/README.md rename to code/addons/test/README.md diff --git a/code/addons/vitest/package.json b/code/addons/test/package.json similarity index 96% rename from code/addons/vitest/package.json rename to code/addons/test/package.json index efad1c346f50..e3a601080035 100644 --- a/code/addons/vitest/package.json +++ b/code/addons/test/package.json @@ -1,10 +1,10 @@ { - "name": "@storybook/experimental-addon-vitest", + "name": "@storybook/experimental-addon-test", "version": "8.3.0-beta.1", "description": "Integrate Vitest with Storybook", "keywords": [ "storybook-addons", - "addon-vitest", + "addon-test", "vitest", "testing" ], @@ -29,7 +29,7 @@ "import": "./dist/index.js", "require": "./dist/index.cjs" }, - "./plugin": { + "./vite-plugin": { "types": "./dist/plugin/index.d.ts", "import": "./dist/plugin/index.js", "require": "./dist/plugin/index.cjs" diff --git a/code/addons/vitest/postinstall.cjs b/code/addons/test/postinstall.cjs similarity index 100% rename from code/addons/vitest/postinstall.cjs rename to code/addons/test/postinstall.cjs diff --git a/code/addons/vitest/preset.cjs b/code/addons/test/preset.cjs similarity index 100% rename from code/addons/vitest/preset.cjs rename to code/addons/test/preset.cjs diff --git a/code/addons/vitest/project.json b/code/addons/test/project.json similarity index 83% rename from code/addons/vitest/project.json rename to code/addons/test/project.json index 71cca948ed01..f9278931287c 100644 --- a/code/addons/vitest/project.json +++ b/code/addons/test/project.json @@ -1,8 +1,8 @@ { - "name": "vitest", + "name": "addon-test", "$schema": "../../node_modules/nx/schemas/project-schema.json", "projectType": "library", "targets": { "build": {} } -} +} \ No newline at end of file diff --git a/code/addons/vitest/src/constants.ts b/code/addons/test/src/constants.ts similarity index 100% rename from code/addons/vitest/src/constants.ts rename to code/addons/test/src/constants.ts diff --git a/code/addons/test/src/index.ts b/code/addons/test/src/index.ts new file mode 100644 index 000000000000..9a3583d228c5 --- /dev/null +++ b/code/addons/test/src/index.ts @@ -0,0 +1,9 @@ +import type { storybookTest as storybookTestImport } from './plugin'; + +// make it work with --isolatedModules +export default {}; + +// @ts-expect-error - this is a hack to make the module's sub-path augmentable +declare module '@storybook/experimental-addon-test/vite-plugin' { + export const storybookTest: typeof storybookTestImport; +} diff --git a/code/addons/vitest/src/manager.tsx b/code/addons/test/src/manager.tsx similarity index 100% rename from code/addons/vitest/src/manager.tsx rename to code/addons/test/src/manager.tsx diff --git a/code/addons/vitest/src/plugin/global-setup.ts b/code/addons/test/src/plugin/global-setup.ts similarity index 100% rename from code/addons/vitest/src/plugin/global-setup.ts rename to code/addons/test/src/plugin/global-setup.ts diff --git a/code/addons/vitest/src/plugin/index.ts b/code/addons/test/src/plugin/index.ts similarity index 98% rename from code/addons/vitest/src/plugin/index.ts rename to code/addons/test/src/plugin/index.ts index 322e1d5bb74b..e71b54cefe81 100644 --- a/code/addons/vitest/src/plugin/index.ts +++ b/code/addons/test/src/plugin/index.ts @@ -113,7 +113,7 @@ export const storybookTest = (options?: UserOptions): Plugin => { if (typeof config.test.setupFiles === 'string') { config.test.setupFiles = [config.test.setupFiles]; } - config.test.setupFiles.push('@storybook/experimental-addon-vitest/internal/setup-file'); + config.test.setupFiles.push('@storybook/experimental-addon-test/internal/setup-file'); // when a Storybook script is provided, we spawn Storybook for the user when in watch mode if (finalOptions.storybookScript) { @@ -121,14 +121,14 @@ export const storybookTest = (options?: UserOptions): Plugin => { if (typeof config.test.globalSetup === 'string') { config.test.globalSetup = [config.test.globalSetup]; } - config.test.globalSetup.push('@storybook/experimental-addon-vitest/internal/global-setup'); + config.test.globalSetup.push('@storybook/experimental-addon-test/internal/global-setup'); } config.test.server ??= {}; config.test.server.deps ??= {}; config.test.server.deps.inline ??= []; if (Array.isArray(config.test.server.deps.inline)) { - config.test.server.deps.inline.push('@storybook/experimental-addon-vitest'); + config.test.server.deps.inline.push('@storybook/experimental-addon-test'); } }, async transform(code, id) { diff --git a/code/addons/vitest/src/plugin/setup-file.test.ts b/code/addons/test/src/plugin/setup-file.test.ts similarity index 100% rename from code/addons/vitest/src/plugin/setup-file.test.ts rename to code/addons/test/src/plugin/setup-file.test.ts diff --git a/code/addons/vitest/src/plugin/setup-file.ts b/code/addons/test/src/plugin/setup-file.ts similarity index 100% rename from code/addons/vitest/src/plugin/setup-file.ts rename to code/addons/test/src/plugin/setup-file.ts diff --git a/code/addons/vitest/src/plugin/test-utils.ts b/code/addons/test/src/plugin/test-utils.ts similarity index 100% rename from code/addons/vitest/src/plugin/test-utils.ts rename to code/addons/test/src/plugin/test-utils.ts diff --git a/code/addons/vitest/src/plugin/types.ts b/code/addons/test/src/plugin/types.ts similarity index 100% rename from code/addons/vitest/src/plugin/types.ts rename to code/addons/test/src/plugin/types.ts diff --git a/code/addons/vitest/src/plugin/viewports.test.ts b/code/addons/test/src/plugin/viewports.test.ts similarity index 100% rename from code/addons/vitest/src/plugin/viewports.test.ts rename to code/addons/test/src/plugin/viewports.test.ts diff --git a/code/addons/vitest/src/plugin/viewports.ts b/code/addons/test/src/plugin/viewports.ts similarity index 100% rename from code/addons/vitest/src/plugin/viewports.ts rename to code/addons/test/src/plugin/viewports.ts diff --git a/code/addons/vitest/src/postinstall.ts b/code/addons/test/src/postinstall.ts similarity index 99% rename from code/addons/vitest/src/postinstall.ts rename to code/addons/test/src/postinstall.ts index 5d7d3c86e943..3ecbff0432da 100644 --- a/code/addons/vitest/src/postinstall.ts +++ b/code/addons/test/src/postinstall.ts @@ -132,7 +132,7 @@ export default async function postInstall(options: PostinstallOptions) { browserWorkspaceFile, dedent` import { defineWorkspace } from 'vitest/config'; - import { storybookTest } from '@storybook/experimental-addon-vitest/plugin'; + import { storybookTest } from '@storybook/experimental-addon-test/vite-plugin'; ${vitestInfo.frameworkPluginImport ? vitestInfo.frameworkPluginImport + '\n' : ''} export default defineWorkspace([ '${relative(dirname(browserWorkspaceFile), rootConfig)}', @@ -163,7 +163,7 @@ export default async function postInstall(options: PostinstallOptions) { resolve('vitest.config.ts'), dedent` import { defineConfig } from "vitest/config"; - import { storybookTest } from "@storybook/experimental-addon-vitest/plugin"; + import { storybookTest } from "@storybook/experimental-addon-test/vite-plugin"; ${vitestInfo.frameworkPluginImport ? vitestInfo.frameworkPluginImport + '\n' : ''} export default defineConfig({ plugins: [ diff --git a/code/addons/vitest/src/preset.ts b/code/addons/test/src/preset.ts similarity index 100% rename from code/addons/vitest/src/preset.ts rename to code/addons/test/src/preset.ts diff --git a/code/addons/vitest/tsconfig.json b/code/addons/test/tsconfig.json similarity index 100% rename from code/addons/vitest/tsconfig.json rename to code/addons/test/tsconfig.json diff --git a/code/addons/vitest/typings.d.ts b/code/addons/test/typings.d.ts similarity index 100% rename from code/addons/vitest/typings.d.ts rename to code/addons/test/typings.d.ts diff --git a/code/addons/vitest/vitest.config.ts b/code/addons/test/vitest.config.ts similarity index 100% rename from code/addons/vitest/vitest.config.ts rename to code/addons/test/vitest.config.ts diff --git a/code/addons/vitest/src/index.ts b/code/addons/vitest/src/index.ts deleted file mode 100644 index dafa948eda6c..000000000000 --- a/code/addons/vitest/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -// make it work with --isolatedModules -export default {}; diff --git a/code/core/src/common/versions.ts b/code/core/src/common/versions.ts index 672aeb1089ae..32af6bec2a1d 100644 --- a/code/core/src/common/versions.ts +++ b/code/core/src/common/versions.ts @@ -18,7 +18,7 @@ export default { '@storybook/addon-themes': '8.3.0-beta.1', '@storybook/addon-toolbars': '8.3.0-beta.1', '@storybook/addon-viewport': '8.3.0-beta.1', - '@storybook/experimental-addon-vitest': '8.3.0-beta.1', + '@storybook/experimental-addon-test': '8.3.0-beta.1', '@storybook/builder-vite': '8.3.0-beta.1', '@storybook/builder-webpack5': '8.3.0-beta.1', '@storybook/core': '8.3.0-beta.1', diff --git a/code/core/src/csf-tools/vitest-plugin/transformer.test.ts b/code/core/src/csf-tools/vitest-plugin/transformer.test.ts index a96833accaf4..72a1d05ab403 100644 --- a/code/core/src/csf-tools/vitest-plugin/transformer.test.ts +++ b/code/core/src/csf-tools/vitest-plugin/transformer.test.ts @@ -73,7 +73,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { component: Button, title: "automatic/calculated/title" @@ -102,7 +102,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title", component: Button @@ -132,7 +132,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const meta = { component: Button, title: "automatic/calculated/title" @@ -163,7 +163,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const meta = { title: "automatic/calculated/title", component: Button @@ -195,7 +195,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { component: Button, title: "automatic/calculated/title" @@ -229,7 +229,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title" }; @@ -264,7 +264,7 @@ describe('transformer', () => { const result = await transform({ code }); expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title" }; @@ -299,7 +299,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title", component: Button, @@ -356,7 +356,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title" }; @@ -387,7 +387,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title" }; @@ -416,7 +416,7 @@ describe('transformer', () => { expect(result.code).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const _meta = { title: "automatic/calculated/title" }; @@ -449,7 +449,7 @@ describe('transformer', () => { expect(transformedCode).toMatchInlineSnapshot(` import { test as _test, expect as _expect } from "vitest"; - import { testStory as _testStory } from "@storybook/experimental-addon-vitest/internal/test-utils"; + import { testStory as _testStory } from "@storybook/experimental-addon-test/internal/test-utils"; const meta = { title: "automatic/calculated/title", component: Button diff --git a/code/core/src/csf-tools/vitest-plugin/transformer.ts b/code/core/src/csf-tools/vitest-plugin/transformer.ts index b2c66693b228..51ea1169f6c3 100644 --- a/code/core/src/csf-tools/vitest-plugin/transformer.ts +++ b/code/core/src/csf-tools/vitest-plugin/transformer.ts @@ -260,7 +260,7 @@ export async function vitestTransform({ ), t.importDeclaration( [t.importSpecifier(testStoryId, t.identifier('testStory'))], - t.stringLiteral('@storybook/experimental-addon-vitest/internal/test-utils') + t.stringLiteral('@storybook/experimental-addon-test/internal/test-utils') ), ]; diff --git a/code/package.json b/code/package.json index 426a5cb0850f..b47aef2163e1 100644 --- a/code/package.json +++ b/code/package.json @@ -126,7 +126,7 @@ "@storybook/csf-plugin": "workspace:*", "@storybook/ember": "workspace:*", "@storybook/eslint-config-storybook": "^4.0.0", - "@storybook/experimental-addon-vitest": "workspace:*", + "@storybook/experimental-addon-test": "workspace:*", "@storybook/global": "^5.0.0", "@storybook/html": "workspace:*", "@storybook/html-vite": "workspace:*", diff --git a/code/yarn.lock b/code/yarn.lock index 9b8a426f6016..9b31926f1155 100644 --- a/code/yarn.lock +++ b/code/yarn.lock @@ -6126,9 +6126,9 @@ __metadata: languageName: node linkType: hard -"@storybook/experimental-addon-vitest@workspace:*, @storybook/experimental-addon-vitest@workspace:addons/vitest": +"@storybook/experimental-addon-test@workspace:*, @storybook/experimental-addon-test@workspace:addons/test": version: 0.0.0-use.local - resolution: "@storybook/experimental-addon-vitest@workspace:addons/vitest" + resolution: "@storybook/experimental-addon-test@workspace:addons/test" dependencies: "@storybook/csf": "npm:^0.1.11" "@vitest/browser": "npm:^2.0.0" @@ -6719,7 +6719,7 @@ __metadata: "@storybook/csf-plugin": "workspace:*" "@storybook/ember": "workspace:*" "@storybook/eslint-config-storybook": "npm:^4.0.0" - "@storybook/experimental-addon-vitest": "workspace:*" + "@storybook/experimental-addon-test": "workspace:*" "@storybook/global": "npm:^5.0.0" "@storybook/html": "workspace:*" "@storybook/html-vite": "workspace:*" diff --git a/scripts/tasks/sandbox-parts.ts b/scripts/tasks/sandbox-parts.ts index 6cf2655f6524..10a61d8dcec6 100644 --- a/scripts/tasks/sandbox-parts.ts +++ b/scripts/tasks/sandbox-parts.ts @@ -437,7 +437,7 @@ export async function setupVitest(details: TemplateDetails, options: PassedOptio join(sandboxDir, 'vitest.workspace.ts'), dedent` import { defineWorkspace, defaultExclude } from "vitest/config"; - import { storybookTest } from "@storybook/experimental-addon-vitest/plugin"; + import { storybookTest } from "@storybook/experimental-addon-test/vite-plugin"; ${frameworkPluginImport} export default defineWorkspace([ @@ -515,7 +515,7 @@ export async function setupVitest(details: TemplateDetails, options: PassedOptio const vitestAddonPath = relative(sandboxDir, join(CODE_DIRECTORY, 'addons', 'vitest')); packageJson.resolutions = { ...packageJson.resolutions, - '@storybook/experimental-addon-vitest': `file:${vitestAddonPath}`, + '@storybook/experimental-addon-test': `file:${vitestAddonPath}`, }; } diff --git a/scripts/tasks/sandbox.ts b/scripts/tasks/sandbox.ts index ae175fe3c13c..93d5cf823c93 100644 --- a/scripts/tasks/sandbox.ts +++ b/scripts/tasks/sandbox.ts @@ -94,7 +94,7 @@ export const sandbox: Task = { 'vitest', 'playwright', '@vitest/browser', - '@storybook/experimental-addon-vitest' + '@storybook/experimental-addon-test' ); if (details.template.expected.framework.includes('nextjs')) {