@storybook/addon-vitest 0.0.0-pr-31553-sha-6436065b → 0.0.0-pr-31556-sha-5f0bee85

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.
@@ -70,12 +70,12 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
70
70
  I'm the installation helper for ${nodeLogger.colors.pink(ADDON_NAME)}
71
71
 
72
72
  Hold on for a moment while I look at your project and get it set up...
73
- `);let packageManager=common.JsPackageManagerFactory.getPackageManager({force:options.packageManager}),info2=await getStorybookInfo(options),allDeps=packageManager.getAllDependencies(),dependencies=["vitest","@vitest/browser","playwright"].filter(p=>!allDeps[p]),vitestVersionSpecifier=await packageManager.getInstalledVersion("vitest"),coercedVitestVersion=vitestVersionSpecifier?(0, import_semver.coerce)(vitestVersionSpecifier):null,vitestVersionToInstall=vitestVersionSpecifier??"latest",mainJsPath=common.serverResolve(resolve(options.configDir,"main")),config=await csfTools.readConfig(mainJsPath),hasCustomWebpackConfig=!!config.getFieldNode(["webpackFinal"]),isInteractive=process.stdout.isTTY&&!process.env.CI;info2.frameworkPackageName==="@storybook/nextjs"&&!hasCustomWebpackConfig&&(options.yes||!isInteractive?{migrateToNextjsVite:!!options.yes}:await prompts__default.default({type:"confirm",name:"migrateToNextjsVite",message:tsDedent.dedent`
73
+ `);let packageManager=common.JsPackageManagerFactory.getPackageManager({force:options.packageManager}),info2=await getStorybookInfo(options),allDeps=await packageManager.getAllDependencies(),dependencies=["vitest","@vitest/browser","playwright"].filter(p=>!allDeps[p]),vitestVersionSpecifier=await packageManager.getInstalledVersion("vitest"),coercedVitestVersion=vitestVersionSpecifier?(0, import_semver.coerce)(vitestVersionSpecifier):null,vitestVersionToInstall=vitestVersionSpecifier??"latest",mainJsPath=common.serverResolve(resolve(options.configDir,"main")),config=await csfTools.readConfig(mainJsPath),hasCustomWebpackConfig=!!config.getFieldNode(["webpackFinal"]),isInteractive=process.stdout.isTTY&&!process.env.CI;info2.frameworkPackageName==="@storybook/nextjs"&&!hasCustomWebpackConfig&&(options.yes||!isInteractive?{migrateToNextjsVite:!!options.yes}:await prompts__default.default({type:"confirm",name:"migrateToNextjsVite",message:tsDedent.dedent`
74
74
  The addon requires the use of @storybook/nextjs-vite to work with Next.js.
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},[`@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,skipInstall:!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},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`
112
112
  Found an existing Vitest setup file:
113
113
  ${nodeLogger.colors.gray(vitestSetupFile)}
114
114
 
@@ -152,7 +152,7 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
152
152
 
153
153
  Please refer to the documentation to complete the setup manually:
154
154
  ${import_picocolors.default.cyan("https://storybook.js.org/docs/writing-tests/accessibility-testing#test-addon-integration")}
155
- `);}await packageManager.installDependencies();let runCommand=rootConfig?"npx vitest --project=storybook":"npx vitest";printSuccess("\u{1F389} All done!",tsDedent.dedent`
155
+ `);}let runCommand=rootConfig?"npx vitest --project=storybook":"npx vitest";printSuccess("\u{1F389} All done!",tsDedent.dedent`
156
156
  @storybook/addon-vitest is now configured and you're ready to run your tests!
157
157
 
158
158
  Here are a couple of tips to get you started:
@@ -161,6 +161,6 @@ ${error2.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Bool
161
161
 
162
162
  Check the documentation for more information about its features and options at:
163
163
  ${import_picocolors.default.cyan(`https://storybook.js.org/docs/next/${DOCUMENTATION_LINK2}`)}
164
- `),nodeLogger.logger.line(1);}async function getStorybookInfo({configDir,packageManager:pkgMgr}){let packageManager=common.JsPackageManagerFactory.getPackageManager({force:pkgMgr,configDir}),{packageJson}=packageManager.primaryPackageJson,config=await common.loadMainConfig({configDir,noCache:!0}),{framework}=config,frameworkName=typeof framework=="string"?framework:framework?.name;common.validateFrameworkName(frameworkName);let frameworkPackageName=common.extractProperFrameworkName(frameworkName),core=await(await common.loadAllPresets({corePresets:[join(frameworkName,"preset")],overridePresets:[__require.resolve("storybook/internal/core-server/presets/common-override-preset")],packageJson,configDir,isCritical:!0})).apply("core",{}),{builder,renderer}=core;if(!builder)throw new Error("Could not detect your Storybook builder.");let builderPackageJson=await fs4__namespace.readFile(__require.resolve(join(typeof builder=="string"?builder:builder.name,"package.json")),"utf8"),builderPackageName=JSON.parse(builderPackageJson).name,rendererPackageName;if(renderer){let rendererPackageJson=await fs4__namespace.readFile(__require.resolve(join(renderer,"package.json")),"utf8");rendererPackageName=JSON.parse(rendererPackageJson).name;}return {frameworkPackageName,builderPackageName,rendererPackageName,addons:getAddonNames(config)}}
164
+ `),nodeLogger.logger.line(1);}async function getStorybookInfo({configDir,packageManager:pkgMgr}){let packageJson=await common.JsPackageManagerFactory.getPackageManager({force:pkgMgr}).retrievePackageJson(),config=await common.loadMainConfig({configDir,noCache:!0}),{framework}=config,frameworkName=typeof framework=="string"?framework:framework?.name;common.validateFrameworkName(frameworkName);let frameworkPackageName=common.extractProperFrameworkName(frameworkName),core=await(await common.loadAllPresets({corePresets:[join(frameworkName,"preset")],overridePresets:[__require.resolve("storybook/internal/core-server/presets/common-override-preset")],configDir,packageJson,isCritical:!0})).apply("core",{}),{builder,renderer}=core;if(!builder)throw new Error("Could not detect your Storybook builder.");let builderPackageJson=await fs4__namespace.readFile(__require.resolve(join(typeof builder=="string"?builder:builder.name,"package.json")),"utf8"),builderPackageName=JSON.parse(builderPackageJson).name,rendererPackageName;if(renderer){let rendererPackageJson=await fs4__namespace.readFile(__require.resolve(join(renderer,"package.json")),"utf8");rendererPackageName=JSON.parse(rendererPackageJson).name;}return {frameworkPackageName,builderPackageName,rendererPackageName,addons:getAddonNames(config)}}
165
165
 
166
166
  module.exports = postInstall;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-vitest",
3
- "version": "0.0.0-pr-31553-sha-6436065b",
3
+ "version": "0.0.0-pr-31556-sha-5f0bee85",
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": "^0.0.0-pr-31553-sha-6436065b",
127
+ "storybook": "^0.0.0-pr-31556-sha-5f0bee85",
128
128
  "vitest": "^3.0.0"
129
129
  },
130
130
  "peerDependenciesMeta": {