@storybook/addon-vitest 9.0.1 → 9.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -75,7 +75,7 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
75
75
  https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}#install-and-set-up
76
76
 
77
77
  Do you want to migrate?
78
- `,initial:!0})).migrateToNextjsVite&&(await packageManager.addDependencies({installAsDevDependencies:!0},[`@storybook/nextjs-vite@${common.versions["@storybook/nextjs-vite"]}`]),await packageManager.removeDependencies({},["@storybook/nextjs"]),babel.traverse(config._ast,{StringLiteral(path6){path6.node.value==="@storybook/nextjs"&&(path6.node.value="@storybook/nextjs-vite");}}),await csfTools.writeConfig(config,mainJsPath),info2.frameworkPackageName="@storybook/nextjs-vite",info2.builderPackageName="@storybook/builder-vite",await common.scanAndTransformFiles({promptMessage:"Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",force:options.yes,dryRun:!1,transformFn:(files,options2,dryRun)=>common.transformImportFiles(files,options2,dryRun),transformOptions:{"@storybook/nextjs":"@storybook/nextjs-vite"}}));let annotationsImport=SUPPORTED_FRAMEWORKS.includes(info2.frameworkPackageName)?info2.frameworkPackageName==="@storybook/nextjs"?"@storybook/nextjs-vite":info2.frameworkPackageName:null,isRendererSupported=!!annotationsImport,result=await(async()=>{let reasons=[];hasCustomWebpackConfig&&reasons.push("\u2022 The addon can not be used with a custom Webpack configuration."),info2.frameworkPackageName!=="@storybook/nextjs"&&info2.builderPackageName!=="@storybook/builder-vite"&&reasons.push("\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."),isRendererSupported||reasons.push(tsDedent.dedent`
78
+ `,initial:!0})).migrateToNextjsVite&&(await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall:options.skipInstall},[`@storybook/nextjs-vite@${common.versions["@storybook/nextjs-vite"]}`]),await packageManager.removeDependencies({},["@storybook/nextjs"]),babel.traverse(config._ast,{StringLiteral(path6){path6.node.value==="@storybook/nextjs"&&(path6.node.value="@storybook/nextjs-vite");}}),await csfTools.writeConfig(config,mainJsPath),info2.frameworkPackageName="@storybook/nextjs-vite",info2.builderPackageName="@storybook/builder-vite",await common.scanAndTransformFiles({promptMessage:"Enter a glob to scan for all @storybook/nextjs imports to substitute with @storybook/nextjs-vite:",force:options.yes,dryRun:!1,transformFn:(files,options2,dryRun)=>common.transformImportFiles(files,options2,dryRun),transformOptions:{"@storybook/nextjs":"@storybook/nextjs-vite"}}));let annotationsImport=SUPPORTED_FRAMEWORKS.includes(info2.frameworkPackageName)?info2.frameworkPackageName==="@storybook/nextjs"?"@storybook/nextjs-vite":info2.frameworkPackageName:null,isRendererSupported=!!annotationsImport,result=await(async()=>{let reasons=[];hasCustomWebpackConfig&&reasons.push("\u2022 The addon can not be used with a custom Webpack configuration."),info2.frameworkPackageName!=="@storybook/nextjs"&&info2.builderPackageName!=="@storybook/builder-vite"&&reasons.push("\u2022 The addon can only be used with a Vite-based Storybook framework or Next.js."),isRendererSupported||reasons.push(tsDedent.dedent`
79
79
  • The addon cannot yet be used with ${import_picocolors.default.bold(nodeLogger.colors.pink(info2.frameworkPackageName))}
80
80
  `),coercedVitestVersion&&!(0, import_semver.satisfies)(coercedVitestVersion,">=3.0.0")&&reasons.push(tsDedent.dedent`
81
81
  • The addon requires Vitest 3.0.0 or higher. You are currently using ${import_picocolors.default.bold(vitestVersionSpecifier)}.
@@ -108,7 +108,7 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
108
108
 
109
109
  Adding ${import_picocolors.default.bold(nodeLogger.colors.pink("@vitest/coverage-v8"))} to enable coverage reporting.
110
110
  Read more about Vitest coverage providers at ${import_picocolors.default.cyan("https://vitest.dev/guide/coverage.html#coverage-providers")}
111
- `),dependencies.push("@vitest/coverage-v8"));let versionedDependencies=dependencies.map(p=>p.includes("vitest")?`${p}@${vitestVersionToInstall??"latest"}`:p);versionedDependencies.length>0&&(nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Installing dependencies:`),nodeLogger.logger.plain(nodeLogger.colors.gray(" "+versionedDependencies.join(", "))),await packageManager.addDependencies({installAsDevDependencies:!0},versionedDependencies)),nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Configuring Playwright with Chromium (this might take some time):`),nodeLogger.logger.plain(nodeLogger.colors.gray(" npx playwright install chromium --with-deps")),await packageManager.executeCommand({command:"npx",args:["playwright","install","chromium","--with-deps"]});let fileExtension=allDeps.typescript||await findFile("tsconfig",[...EXTENSIONS,".json"])?"ts":"js",vitestSetupFile=resolve(options.configDir,`vitest.setup.${fileExtension}`);if(fs.existsSync(vitestSetupFile)){printError("\u{1F6A8} Oh no!",tsDedent.dedent`
111
+ `),dependencies.push("@vitest/coverage-v8"));let versionedDependencies=dependencies.map(p=>p.includes("vitest")?`${p}@${vitestVersionToInstall??"latest"}`:p);versionedDependencies.length>0&&(nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Installing dependencies:`),nodeLogger.logger.plain(nodeLogger.colors.gray(" "+versionedDependencies.join(", "))),await packageManager.addDependencies({installAsDevDependencies:!0,skipInstall:options.skipInstall},versionedDependencies)),nodeLogger.logger.line(1),options.skipInstall?(nodeLogger.logger.plain("Skipping Playwright installation, please run this command manually:"),nodeLogger.logger.plain(nodeLogger.colors.gray(" npx playwright install chromium --with-deps"))):(nodeLogger.logger.plain(`${step} Configuring Playwright with Chromium (this might take some time):`),nodeLogger.logger.plain(nodeLogger.colors.gray(" npx playwright install chromium --with-deps")),await packageManager.executeCommand({command:"npx",args:["playwright","install","chromium","--with-deps"]}));let fileExtension=allDeps.typescript||await findFile("tsconfig",[...EXTENSIONS,".json"])?"ts":"js",vitestSetupFile=resolve(options.configDir,`vitest.setup.${fileExtension}`);if(fs.existsSync(vitestSetupFile)){printError("\u{1F6A8} Oh no!",tsDedent.dedent`
112
112
  Found an existing Vitest setup file:
113
113
  ${nodeLogger.colors.gray(vitestSetupFile)}
114
114
 
@@ -145,7 +145,7 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
145
145
 
146
146
  Please refer to the Vitest documentation to learn about the workspace file:
147
147
  ${import_picocolors.default.cyan("https://vitest.dev/guide/workspace.html")}
148
- `);let extension=extname(rootConfig).includes("ts")?".ts":".js",newWorkspaceFile=resolve(dirname(rootConfig),`vitest.workspace${extension}`),workspaceTemplate=await loadTemplate("vitest.workspace.template.ts",{ROOT_CONFIG:relative(dirname(newWorkspaceFile),rootConfig),EXTENDS_WORKSPACE:viteConfigFile?relative(dirname(newWorkspaceFile),viteConfigFile):"",CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(newWorkspaceFile),vitestSetupFile)}).then(t=>t.replace(/\s+extends: '',/,""));nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest workspace file:`),nodeLogger.logger.plain(nodeLogger.colors.gray(` ${newWorkspaceFile}`));let formattedContent=await common.formatFileContent(newWorkspaceFile,workspaceTemplate);await fs4.writeFile(newWorkspaceFile,formattedContent);}}else {let newConfigFile=resolve(`vitest.config.${fileExtension}`),configTemplate=await loadTemplate("vitest.config.template.ts",{CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(newConfigFile),vitestSetupFile)});nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest config file:`),nodeLogger.logger.plain(nodeLogger.colors.gray(` ${newConfigFile}`));let formattedContent=await common.formatFileContent(newConfigFile,configTemplate);await fs4.writeFile(newConfigFile,formattedContent);}if(info2.addons.find(addon=>addon.includes(addonA11yName)))try{nodeLogger.logger.plain(`${step} Setting up ${addonA11yName} for @storybook/addon-vitest:`);let command=["automigrate","addonA11yAddonTest"];options.yes&&command.push("--yes"),options.packageManager&&command.push("--package-manager",options.packageManager),options.configDir!==".storybook"&&command.push("--config-dir",options.configDir),await execa("storybook",command,{stdio:"inherit"});}catch(e){printError("\u{1F6A8} Oh no!",tsDedent.dedent`
148
+ `);let extension=extname(rootConfig).includes("ts")?".ts":".js",newWorkspaceFile=resolve(dirname(rootConfig),`vitest.workspace${extension}`),workspaceTemplate=await loadTemplate("vitest.workspace.template.ts",{ROOT_CONFIG:relative(dirname(newWorkspaceFile),rootConfig),EXTENDS_WORKSPACE:viteConfigFile?relative(dirname(newWorkspaceFile),viteConfigFile):"",CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(newWorkspaceFile),vitestSetupFile)}).then(t=>t.replace(/\s+extends: '',/,""));nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest workspace file:`),nodeLogger.logger.plain(nodeLogger.colors.gray(` ${newWorkspaceFile}`));let formattedContent=await common.formatFileContent(newWorkspaceFile,workspaceTemplate);await fs4.writeFile(newWorkspaceFile,formattedContent);}}else {let newConfigFile=resolve(`vitest.config.${fileExtension}`),configTemplate=await loadTemplate("vitest.config.template.ts",{CONFIG_DIR:options.configDir,BROWSER_CONFIG:browserConfig,SETUP_FILE:relative(dirname(newConfigFile),vitestSetupFile)});nodeLogger.logger.line(1),nodeLogger.logger.plain(`${step} Creating a Vitest config file:`),nodeLogger.logger.plain(nodeLogger.colors.gray(` ${newConfigFile}`));let formattedContent=await common.formatFileContent(newConfigFile,configTemplate);await fs4.writeFile(newConfigFile,formattedContent);}if(info2.addons.find(addon=>addon.includes(addonA11yName)))try{nodeLogger.logger.plain(`${step} Setting up ${addonA11yName} for @storybook/addon-vitest:`);let command=["automigrate","addonA11yAddonTest"];options.yes&&command.push("--yes"),options.packageManager&&command.push("--package-manager",options.packageManager),options.skipInstall&&command.push("--skip-install"),options.configDir!==".storybook"&&command.push("--config-dir",options.configDir),await execa("storybook",command,{stdio:"inherit"});}catch(e){printError("\u{1F6A8} Oh no!",tsDedent.dedent`
149
149
  We have detected that you have ${addonA11yName} installed but could not automatically set it up for @storybook/addon-vitest:
150
150
 
151
151
  ${e instanceof Error?e.message:String(e)}
@@ -42,7 +42,7 @@ var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropD
42
42
  The values you passed to "test.include" will be ignored, please remove them from your Vitest configuration where the Storybook plugin is applied.
43
43
 
44
44
  More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#addon-test-indexing-behavior-of-storybookaddon-test-is-changed
45
- `))),config$1},configureVitest(context){context.vitest.config.coverage.exclude.push("storybook-static");let disableTelemetryVar=process.env.STORYBOOK_DISABLE_TELEMETRY&&process.env.STORYBOOK_DISABLE_TELEMETRY!=="false";!core?.disableTelemetry&&!disableTelemetryVar&&telemetry.telemetry("test-run",{runner:"vitest",watch:context.vitest.config.watch,coverage:!!context.vitest.config.coverage?.enabled},{configDir:finalOptions.configDir});},async configureServer(server){if(staticDirs)for(let staticDir of staticDirs)try{let{staticPath,targetEndpoint}=mapStaticDir(staticDir,directories.configDir);server.middlewares.use(targetEndpoint,build_default(staticPath,{dev:!0,etag:!0,extensions:[]}));}catch(e){console.warn(e);}},async transform(code,id){if(process.env.VITEST!=="true")return code;let relativeId=relative(finalOptions.vitestRoot,id);if((0, import_micromatch.match)([relativeId],finalOptions.includeStories).length>0)return csfTools.vitestTransform({code,fileName:id,configDir:finalOptions.configDir,tagsFilter:finalOptions.tags,stories:storiesGlobs,previewLevelTags})}};if(plugins.push(storybookTestPlugin),process.env.VITEST_STORYBOOK){let projectName=join("storybook:",finalOptions.configDir);plugins.push({name:"storybook:workspace-name-override",config:{order:"pre",handler:config=>(config.test??={},config.test.name=projectName,config)}});}return plugins},vitest_plugin_default=storybookTest;
45
+ `))),config$1},configureVitest(context){context.vitest.config.coverage.exclude.push("storybook-static");let disableTelemetryVar=process.env.STORYBOOK_DISABLE_TELEMETRY&&process.env.STORYBOOK_DISABLE_TELEMETRY!=="false";!core?.disableTelemetry&&!disableTelemetryVar&&telemetry.telemetry("test-run",{runner:"vitest",watch:context.vitest.config.watch,coverage:!!context.vitest.config.coverage?.enabled},{configDir:finalOptions.configDir});},async configureServer(server){if(staticDirs)for(let staticDir of staticDirs)try{let{staticPath,targetEndpoint}=mapStaticDir(staticDir,directories.configDir);server.middlewares.use(targetEndpoint,build_default(staticPath,{dev:!0,etag:!0,extensions:[]}));}catch(e){console.warn(e);}},async transform(code,id){if(process.env.VITEST!=="true")return code;let relativeId=relative(finalOptions.vitestRoot,id);if((0, import_micromatch.match)([relativeId],finalOptions.includeStories).length>0)return csfTools.vitestTransform({code,fileName:id,configDir:finalOptions.configDir,tagsFilter:finalOptions.tags,stories:storiesGlobs,previewLevelTags})}};if(plugins.push(storybookTestPlugin),process.env.VITEST_STORYBOOK){let projectName=join("storybook:",finalOptions.configDir);plugins.push({name:"storybook:workspace-name-override",config:{order:"pre",handler:()=>({test:{name:projectName}})}});}return plugins},vitest_plugin_default=storybookTest;
46
46
 
47
47
  exports.default = vitest_plugin_default;
48
48
  exports.storybookTest = storybookTest;
@@ -23,6 +23,6 @@ var require_utils=__commonJS({"../../node_modules/braces/lib/utils.js"(exports){
23
23
  The values you passed to "test.include" will be ignored, please remove them from your Vitest configuration where the Storybook plugin is applied.
24
24
 
25
25
  More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#addon-test-indexing-behavior-of-storybookaddon-test-is-changed
26
- `))),config},configureVitest(context){context.vitest.config.coverage.exclude.push("storybook-static");let disableTelemetryVar=process.env.STORYBOOK_DISABLE_TELEMETRY&&process.env.STORYBOOK_DISABLE_TELEMETRY!=="false";!core?.disableTelemetry&&!disableTelemetryVar&&telemetry("test-run",{runner:"vitest",watch:context.vitest.config.watch,coverage:!!context.vitest.config.coverage?.enabled},{configDir:finalOptions.configDir});},async configureServer(server){if(staticDirs)for(let staticDir of staticDirs)try{let{staticPath,targetEndpoint}=mapStaticDir(staticDir,directories.configDir);server.middlewares.use(targetEndpoint,(0,import_sirv.default)(staticPath,{dev:!0,etag:!0,extensions:[]}));}catch(e){console.warn(e);}},async transform(code,id){if(process.env.VITEST!=="true")return code;let relativeId=relative(finalOptions.vitestRoot,id);if((0, import_micromatch.match)([relativeId],finalOptions.includeStories).length>0)return vitestTransform({code,fileName:id,configDir:finalOptions.configDir,tagsFilter:finalOptions.tags,stories:storiesGlobs,previewLevelTags})}};if(plugins.push(storybookTestPlugin),process.env.VITEST_STORYBOOK){let projectName=join$1("storybook:",finalOptions.configDir);plugins.push({name:"storybook:workspace-name-override",config:{order:"pre",handler:config=>(config.test??={},config.test.name=projectName,config)}});}return plugins},vitest_plugin_default=storybookTest;
26
+ `))),config},configureVitest(context){context.vitest.config.coverage.exclude.push("storybook-static");let disableTelemetryVar=process.env.STORYBOOK_DISABLE_TELEMETRY&&process.env.STORYBOOK_DISABLE_TELEMETRY!=="false";!core?.disableTelemetry&&!disableTelemetryVar&&telemetry("test-run",{runner:"vitest",watch:context.vitest.config.watch,coverage:!!context.vitest.config.coverage?.enabled},{configDir:finalOptions.configDir});},async configureServer(server){if(staticDirs)for(let staticDir of staticDirs)try{let{staticPath,targetEndpoint}=mapStaticDir(staticDir,directories.configDir);server.middlewares.use(targetEndpoint,(0,import_sirv.default)(staticPath,{dev:!0,etag:!0,extensions:[]}));}catch(e){console.warn(e);}},async transform(code,id){if(process.env.VITEST!=="true")return code;let relativeId=relative(finalOptions.vitestRoot,id);if((0, import_micromatch.match)([relativeId],finalOptions.includeStories).length>0)return vitestTransform({code,fileName:id,configDir:finalOptions.configDir,tagsFilter:finalOptions.tags,stories:storiesGlobs,previewLevelTags})}};if(plugins.push(storybookTestPlugin),process.env.VITEST_STORYBOOK){let projectName=join$1("storybook:",finalOptions.configDir);plugins.push({name:"storybook:workspace-name-override",config:{order:"pre",handler:()=>({test:{name:projectName}})}});}return plugins},vitest_plugin_default=storybookTest;
27
27
 
28
28
  export { vitest_plugin_default as default, storybookTest };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-vitest",
3
- "version": "9.0.1",
3
+ "version": "9.0.3",
4
4
  "description": "Storybook addon for testing components",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -124,7 +124,7 @@
124
124
  "peerDependencies": {
125
125
  "@vitest/browser": "^3.0.0",
126
126
  "@vitest/runner": "^3.0.0",
127
- "storybook": "^9.0.1",
127
+ "storybook": "^9.0.3",
128
128
  "vitest": "^3.0.0"
129
129
  },
130
130
  "peerDependenciesMeta": {