@storybook/addon-vitest 0.0.0-pr-31819-sha-a55d003d → 0.0.0-pr-32047-sha-3b23261a

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.
Files changed (46) hide show
  1. package/dist/chunk-55WZLVGN.mjs +11 -0
  2. package/dist/chunk-JKRQGT2U.mjs +10 -0
  3. package/dist/index.js +6 -9
  4. package/dist/index.mjs +5 -0
  5. package/dist/manager.js +8 -5571
  6. package/dist/node/coverage-reporter.d.ts +184 -0
  7. package/dist/node/coverage-reporter.js +4 -1395
  8. package/dist/node/coverage-reporter.mjs +12 -0
  9. package/dist/node/vitest.d.ts +2 -0
  10. package/dist/node/vitest.js +17 -564
  11. package/dist/node/vitest.mjs +19 -0
  12. package/dist/postinstall.js +93 -1170
  13. package/dist/preset.js +27 -268
  14. package/dist/vitest-plugin/global-setup.d.ts +6 -0
  15. package/dist/vitest-plugin/global-setup.js +6 -146
  16. package/dist/vitest-plugin/global-setup.mjs +13 -0
  17. package/dist/vitest-plugin/index.d.ts +6 -0
  18. package/dist/vitest-plugin/index.js +43 -2589
  19. package/dist/vitest-plugin/index.mjs +28 -0
  20. package/dist/vitest-plugin/playwright-utils.d.ts +42649 -0
  21. package/dist/vitest-plugin/playwright-utils.js +34 -0
  22. package/dist/vitest-plugin/playwright-utils.mjs +29 -0
  23. package/dist/vitest-plugin/setup-file.d.ts +14 -0
  24. package/dist/vitest-plugin/setup-file.js +9 -28
  25. package/dist/vitest-plugin/setup-file.mjs +9 -0
  26. package/dist/vitest-plugin/test-utils.d.ts +20 -0
  27. package/dist/vitest-plugin/test-utils.js +8 -68
  28. package/dist/vitest-plugin/test-utils.mjs +8 -0
  29. package/manager.js +1 -1
  30. package/manager.mjs +1 -0
  31. package/package.json +95 -17
  32. package/postinstall.js +1 -0
  33. package/postinstall.mjs +1 -0
  34. package/preset.js +1 -1
  35. package/preset.mjs +1 -0
  36. package/dist/_browser-chunks/chunk-A47P2DCZ.js +0 -11
  37. package/dist/_browser-chunks/chunk-VMSW5DPM.js +0 -60
  38. package/dist/_node-chunks/chunk-C4NXJJA3.js +0 -324
  39. package/dist/_node-chunks/chunk-CIKGVIS6.js +0 -223
  40. package/dist/_node-chunks/chunk-FMQIQP6D.js +0 -96
  41. package/dist/_node-chunks/chunk-KVKHJ5OL.js +0 -46
  42. package/dist/_node-chunks/chunk-N3OFRDD3.js +0 -80
  43. package/dist/_node-chunks/chunk-VFT2PRGV.js +0 -5002
  44. package/dist/_node-chunks/chunk-W26ZMSD3.js +0 -143
  45. package/dist/_node-chunks/chunk-XWQZZ2C3.js +0 -1586
  46. package/static/coverage-reporter.cjs +0 -10
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ var convertToFilePath=url=>url.replace(/^file:\/\//,"").replace(/^\/+([a-zA-Z]:)/,"$1").replace(/%20/g," ");async function prepareScript(page){await page.goto("http://localhost:6006/iframe.html",{waitUntil:"load"}).catch(err=>{if(err.message?.includes("ERR_CONNECTION_REFUSED")){let errorMessage=`Could not access the Storybook instance at http://localhost:6006. Are you sure it's running?
4
+
5
+ ${err.message}`;throw new Error(errorMessage)}throw err}),await page.exposeBinding("logToPage",(_,message)=>console.log(message));}async function setupPageScript(page){await page.evaluate(async()=>{let TEST_RUNNER_STORYBOOK_URL="http://localhost:6006",TEST_RUNNER_VERSION="1.0.0",TEST_RUNNER_RENDERED_EVENT="storyFinished",TEST_RUNNER_VIEW_MODE="story",TEST_RUNNER_LOG_LEVEL="verbose",bold=message=>`\x1B[1m${message}\x1B[22m`,magenta=message=>`\x1B[35m${message}\x1B[39m`,blue=message=>`\x1B[34m${message}\x1B[39m`,red=message=>`\x1B[31m${message}\x1B[39m`,yellow=message=>`\x1B[33m${message}\x1B[39m`,grey=message=>`\x1B[90m${message}\x1B[39m`,LIMIT_REPLACE_NODE="[...]",CIRCULAR_REPLACE_NODE="[Circular]",arr=[],replacerStack=[];function defaultOptions(){return {depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function stringify(obj,replacer,spacer,options){typeof options>"u"&&(options=defaultOptions()),decirc(obj,"",0,[],void 0,0,options);let res;try{replacerStack.length===0?res=JSON.stringify(obj,replacer,spacer):res=JSON.stringify(obj,replaceGetterValues(replacer),spacer);}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;arr.length!==0;){let part=arr.pop();part&&part.length===4?Object.defineProperty(part[0],part[1],part[3]):part&&(part[0][part[1]]=part[2]);}}return res}function decirc(val,k,edgeIndex,stack,parent,depth,options){depth+=1;let i;if(typeof val=="object"&&val!==null){for(i=0;i<stack.length;i++)if(stack[i]===val){setReplace(CIRCULAR_REPLACE_NODE,val,k,parent);return}if(depth>options.depthLimit||edgeIndex+1>options.edgesLimit){setReplace(LIMIT_REPLACE_NODE,val,k,parent);return}if(stack.push(val),Array.isArray(val))for(i=0;i<val.length;i++)decirc(val[i],i.toString(),i,stack,val,depth,options);else {let keys=Object.keys(val);for(i=0;i<keys.length;i++){let key=keys[i];decirc(val[key],key,i,stack,val,depth,options);}}stack.pop();}}function setReplace(replace,val,k,parent){if(!parent)return;let propertyDescriptor=Object.getOwnPropertyDescriptor(parent,k);propertyDescriptor&&propertyDescriptor.get!==void 0?propertyDescriptor.configurable?(Object.defineProperty(parent,k,{value:replace}),arr.push([parent,k,val,propertyDescriptor])):replacerStack.push([val,k,replace]):(parent[k]=replace,arr.push([parent,k,val]));}function replaceGetterValues(replacer){let effectiveReplacer=replacer??((_k,v)=>v);return function(key,val){if(replacerStack.length>0)for(let i=0;i<replacerStack.length;i++){let part=replacerStack[i];if(part[1]===key&&part[0]===val){val=part[2],replacerStack.splice(i,1);break}}return effectiveReplacer.call(this,key,val)}}function composeMessage(args){return args instanceof Error?`${args.name}: ${args.message}
6
+ ${args.stack}`:typeof args>"u"?"undefined":typeof args=="string"?args:stringify(args,null,null,{depthLimit:5,edgesLimit:100})}function truncate(input,limit){return input.length>limit?input.substring(0,limit)+"\u2026":input}function addToUserAgent(extra){let originalUserAgent=globalThis.navigator.userAgent;originalUserAgent.includes(extra)||Object.defineProperty(globalThis.navigator,"userAgent",{get:function(){return [originalUserAgent,extra].join(" ")},configurable:!0});}function getStory(){let currentRender=globalThis.__STORYBOOK_PREVIEW__.currentRender;return currentRender&&"story"in currentRender?currentRender.story:{}}class StorybookTestRunnerError extends Error{constructor(params){let{storyId,errorMessage,logs=[],isMessageFormatted=!1}=params,message=isMessageFormatted?errorMessage:StorybookTestRunnerError.buildErrorMessage({storyId,errorMessage,logs});super(message),this.name="StorybookTestRunnerError";}static buildErrorMessage(params){let{storyId,errorMessage,logs=[],panel,errorMessagePrefix=""}=params,storyUrl=`${TEST_RUNNER_STORYBOOK_URL}?path=/story/${storyId}`,finalStoryUrl=panel?`${storyUrl}&addonPanel=${panel}`:storyUrl,separator=`
7
+
8
+ --------------------------------------------------`,finalLogs=logs.filter(err=>!err.includes(errorMessage)),extraLogs=finalLogs.length>0?separator+`
9
+
10
+ Browser logs:
11
+
12
+ `+finalLogs.join(`
13
+
14
+ `):"",linkPrefix=blue(`
15
+ Click to debug the error directly in Storybook:
16
+ ${finalStoryUrl}
17
+
18
+ `);return `${errorMessagePrefix}${linkPrefix}Message:
19
+ ${truncate(errorMessage,1e3)}
20
+ ${extraLogs}`}}async function __waitForStorybook(){return new Promise((resolve,reject)=>{let timeout=setTimeout(()=>{reject();},1e4);if(document.querySelector("#root")||document.querySelector("#storybook-root"))return clearTimeout(timeout),resolve();let observer=new MutationObserver(()=>{(document.querySelector("#root")||document.querySelector("#storybook-root"))&&(clearTimeout(timeout),resolve(),observer.disconnect());});observer.observe(document.body,{childList:!0,subtree:!0});})}function isServerComponentError(error){return typeof error=="string"&&(error.includes("Only Server Components can be async at the moment.")||error.includes("A component was suspended by an uncached promise.")||error.includes("async/await is not yet supported in Client Components"))}function expectToHaveNoViolations(results){let violations=filterViolations(results.violations,results.toolOptions?.impactLevels??[]);function reporter(violations2){if(violations2.length===0)return null;let lineBreak=`
21
+
22
+ `;return violations2.map(violation=>violation.nodes.map(node=>{let selector=node.target.join(", ");return red(`Expected the HTML found at $('${selector}') to have no violations:`)+lineBreak+grey(node.html)+lineBreak+red("Received:")+lineBreak+red(`"${violation.help} (${violation.id})"`)+lineBreak+yellow(node.failureSummary)+lineBreak+(violation.helpUrl?red("You can find more information on this issue here:")+`
23
+ ${blue(violation.helpUrl)}`:"")}).join(lineBreak)).join(lineBreak+"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"+lineBreak)}return {long:reporter(violations),short:`Found ${violations.length} a11y violations, run the test with 'a11y: { test: 'error' }' parameter to see the full report or debug it directly in Storybook.`}}function filterViolations(violations,impactLevels){return impactLevels&&impactLevels.length>0?violations.filter(v=>impactLevels.includes(v.impact)):violations}async function __getContext(storyId){return globalThis.__STORYBOOK_PREVIEW__.storyStore.loadStory({storyId})}async function __test(storyId){try{await __waitForStorybook();}catch{let message=`Timed out waiting for Storybook to load after 10 seconds. Are you sure the Storybook is running correctly in that URL? Is the Storybook private (e.g. under authentication layers)?
24
+
25
+
26
+ HTML: ${document.body.innerHTML}`;throw new StorybookTestRunnerError({storyId,errorMessage:message})}let channel=globalThis.__STORYBOOK_ADDONS_CHANNEL__;if(!channel)throw new StorybookTestRunnerError({storyId,errorMessage:"The test runner could not access the Storybook channel. Are you sure the Storybook is running correctly in that URL?"});addToUserAgent(`(StorybookTestRunner@${TEST_RUNNER_VERSION})`);let logs=[],hasErrors=!1,logLevelMapping={log:["info","verbose"],warn:["info","warn","verbose"],error:["info","warn","error","verbose"],info:["verbose"],trace:["verbose"],debug:["verbose"],group:["verbose"],groupCollapsed:["verbose"],table:["verbose"],dir:["verbose"]},spyOnConsole=(method,name)=>{let originalFn=console[method].bind(console);console[method]=function(...args){if(method==="error"&&isServerComponentError(args[0]))return;let shouldCollectError=method==="error";shouldCollectError&&(hasErrors=!0);let message=args.map(composeMessage).join(", ");if(method==="trace"){let stackTrace=new Error().stack;message+=`
27
+ ${stackTrace}
28
+ `;}if(logLevelMapping[method].includes(TEST_RUNNER_LOG_LEVEL)||shouldCollectError){let prefix=`${bold(name)}: `;logs.push(prefix+message);}originalFn(...args);};};Object.entries({log:blue,info:blue,warn:yellow,error:red,dir:magenta,trace:magenta,group:magenta,groupCollapsed:magenta,table:magenta,debug:magenta}).forEach(([method,color])=>{spyOnConsole(method,color(method));});let cleanup=_listeners=>{Object.entries(_listeners).forEach(([eventName,listener])=>{channel.off(eventName,listener);});};return new Promise((resolve,reject)=>{let rejectWithFormattedError=(storyId2,message,panel)=>{let errorMessage=StorybookTestRunnerError.buildErrorMessage({storyId:storyId2,errorMessage:message,logs,panel});reject(new StorybookTestRunnerError({storyId:storyId2,errorMessage,logs,isMessageFormatted:!0}));},INTERACTIONS_PANEL="storybook/interactions/panel",A11Y_PANEL="storybook/a11y/panel",listeners={[TEST_RUNNER_RENDERED_EVENT]:data=>{if(cleanup(listeners),hasErrors){rejectWithFormattedError(storyId,"Browser console errors");return}else if(data?.reporters){let story=getStory(),a11yGlobals=story.globals?.a11y,a11yParameter=story.parameters?.a11y,a11yTestParameter=a11yParameter?.test,a11yReport=data.reporters.find(reporter=>reporter.type==="a11y");if(a11yParameter?.disable!==!0&&a11yParameter?.test!=="off"&&a11yGlobals?.manual!==!0&&a11yReport?.result?.violations?.length>0){let violations=expectToHaveNoViolations(a11yReport.result);if(violations&&a11yTestParameter==="error"){rejectWithFormattedError(storyId,violations.long,A11Y_PANEL);return}else if(violations&&a11yTestParameter==="todo"){let warningMessage=StorybookTestRunnerError.buildErrorMessage({storyId,errorMessagePrefix:`--------------------------
29
+ ${story.title} > ${story.name}`,errorMessage:yellow(violations.short),logs,panel:A11Y_PANEL});logToPage(warningMessage);}}}resolve(document.getElementById("root"));},storyUnchanged:()=>{cleanup(listeners),resolve(document.getElementById("root"));},storyErrored:({description})=>{cleanup(listeners),rejectWithFormattedError(storyId,description,INTERACTIONS_PANEL);},storyThrewException:error=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},playFunctionThrewException:error=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},unhandledErrorsWhilePlaying:([error])=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},storyMissing:id=>{cleanup(listeners),id===storyId&&rejectWithFormattedError(storyId,"The story was missing when trying to access it.");}};Object.entries(listeners).forEach(([eventName,listener])=>{channel.on(eventName,listener);}),channel.emit("setCurrentStory",{storyId,viewMode:TEST_RUNNER_VIEW_MODE});})}globalThis.__test=__test,globalThis.__getContext=__getContext;});}async function testStory(storyId,page,context,playwrightFn){let _task=context.task;if(_task.meta.storyId=storyId,await page.evaluate(async storyId2=>await globalThis.__test(storyId2),storyId),playwrightFn){let storyContext=await page.evaluate(storyId2=>globalThis.__getContext(storyId2),storyId);await playwrightFn({page,context:storyContext});}}
30
+
31
+ exports.convertToFilePath = convertToFilePath;
32
+ exports.prepareScript = prepareScript;
33
+ exports.setupPageScript = setupPageScript;
34
+ exports.testStory = testStory;
@@ -0,0 +1,29 @@
1
+ var convertToFilePath=url=>url.replace(/^file:\/\//,"").replace(/^\/+([a-zA-Z]:)/,"$1").replace(/%20/g," ");async function prepareScript(page){await page.goto("http://localhost:6006/iframe.html",{waitUntil:"load"}).catch(err=>{if(err.message?.includes("ERR_CONNECTION_REFUSED")){let errorMessage=`Could not access the Storybook instance at http://localhost:6006. Are you sure it's running?
2
+
3
+ ${err.message}`;throw new Error(errorMessage)}throw err}),await page.exposeBinding("logToPage",(_,message)=>console.log(message));}async function setupPageScript(page){await page.evaluate(async()=>{let TEST_RUNNER_STORYBOOK_URL="http://localhost:6006",TEST_RUNNER_VERSION="1.0.0",TEST_RUNNER_RENDERED_EVENT="storyFinished",TEST_RUNNER_VIEW_MODE="story",TEST_RUNNER_LOG_LEVEL="verbose",bold=message=>`\x1B[1m${message}\x1B[22m`,magenta=message=>`\x1B[35m${message}\x1B[39m`,blue=message=>`\x1B[34m${message}\x1B[39m`,red=message=>`\x1B[31m${message}\x1B[39m`,yellow=message=>`\x1B[33m${message}\x1B[39m`,grey=message=>`\x1B[90m${message}\x1B[39m`,LIMIT_REPLACE_NODE="[...]",CIRCULAR_REPLACE_NODE="[Circular]",arr=[],replacerStack=[];function defaultOptions(){return {depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function stringify(obj,replacer,spacer,options){typeof options>"u"&&(options=defaultOptions()),decirc(obj,"",0,[],void 0,0,options);let res;try{replacerStack.length===0?res=JSON.stringify(obj,replacer,spacer):res=JSON.stringify(obj,replaceGetterValues(replacer),spacer);}catch{return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;arr.length!==0;){let part=arr.pop();part&&part.length===4?Object.defineProperty(part[0],part[1],part[3]):part&&(part[0][part[1]]=part[2]);}}return res}function decirc(val,k,edgeIndex,stack,parent,depth,options){depth+=1;let i;if(typeof val=="object"&&val!==null){for(i=0;i<stack.length;i++)if(stack[i]===val){setReplace(CIRCULAR_REPLACE_NODE,val,k,parent);return}if(depth>options.depthLimit||edgeIndex+1>options.edgesLimit){setReplace(LIMIT_REPLACE_NODE,val,k,parent);return}if(stack.push(val),Array.isArray(val))for(i=0;i<val.length;i++)decirc(val[i],i.toString(),i,stack,val,depth,options);else {let keys=Object.keys(val);for(i=0;i<keys.length;i++){let key=keys[i];decirc(val[key],key,i,stack,val,depth,options);}}stack.pop();}}function setReplace(replace,val,k,parent){if(!parent)return;let propertyDescriptor=Object.getOwnPropertyDescriptor(parent,k);propertyDescriptor&&propertyDescriptor.get!==void 0?propertyDescriptor.configurable?(Object.defineProperty(parent,k,{value:replace}),arr.push([parent,k,val,propertyDescriptor])):replacerStack.push([val,k,replace]):(parent[k]=replace,arr.push([parent,k,val]));}function replaceGetterValues(replacer){let effectiveReplacer=replacer??((_k,v)=>v);return function(key,val){if(replacerStack.length>0)for(let i=0;i<replacerStack.length;i++){let part=replacerStack[i];if(part[1]===key&&part[0]===val){val=part[2],replacerStack.splice(i,1);break}}return effectiveReplacer.call(this,key,val)}}function composeMessage(args){return args instanceof Error?`${args.name}: ${args.message}
4
+ ${args.stack}`:typeof args>"u"?"undefined":typeof args=="string"?args:stringify(args,null,null,{depthLimit:5,edgesLimit:100})}function truncate(input,limit){return input.length>limit?input.substring(0,limit)+"\u2026":input}function addToUserAgent(extra){let originalUserAgent=globalThis.navigator.userAgent;originalUserAgent.includes(extra)||Object.defineProperty(globalThis.navigator,"userAgent",{get:function(){return [originalUserAgent,extra].join(" ")},configurable:!0});}function getStory(){let currentRender=globalThis.__STORYBOOK_PREVIEW__.currentRender;return currentRender&&"story"in currentRender?currentRender.story:{}}class StorybookTestRunnerError extends Error{constructor(params){let{storyId,errorMessage,logs=[],isMessageFormatted=!1}=params,message=isMessageFormatted?errorMessage:StorybookTestRunnerError.buildErrorMessage({storyId,errorMessage,logs});super(message),this.name="StorybookTestRunnerError";}static buildErrorMessage(params){let{storyId,errorMessage,logs=[],panel,errorMessagePrefix=""}=params,storyUrl=`${TEST_RUNNER_STORYBOOK_URL}?path=/story/${storyId}`,finalStoryUrl=panel?`${storyUrl}&addonPanel=${panel}`:storyUrl,separator=`
5
+
6
+ --------------------------------------------------`,finalLogs=logs.filter(err=>!err.includes(errorMessage)),extraLogs=finalLogs.length>0?separator+`
7
+
8
+ Browser logs:
9
+
10
+ `+finalLogs.join(`
11
+
12
+ `):"",linkPrefix=blue(`
13
+ Click to debug the error directly in Storybook:
14
+ ${finalStoryUrl}
15
+
16
+ `);return `${errorMessagePrefix}${linkPrefix}Message:
17
+ ${truncate(errorMessage,1e3)}
18
+ ${extraLogs}`}}async function __waitForStorybook(){return new Promise((resolve,reject)=>{let timeout=setTimeout(()=>{reject();},1e4);if(document.querySelector("#root")||document.querySelector("#storybook-root"))return clearTimeout(timeout),resolve();let observer=new MutationObserver(()=>{(document.querySelector("#root")||document.querySelector("#storybook-root"))&&(clearTimeout(timeout),resolve(),observer.disconnect());});observer.observe(document.body,{childList:!0,subtree:!0});})}function isServerComponentError(error){return typeof error=="string"&&(error.includes("Only Server Components can be async at the moment.")||error.includes("A component was suspended by an uncached promise.")||error.includes("async/await is not yet supported in Client Components"))}function expectToHaveNoViolations(results){let violations=filterViolations(results.violations,results.toolOptions?.impactLevels??[]);function reporter(violations2){if(violations2.length===0)return null;let lineBreak=`
19
+
20
+ `;return violations2.map(violation=>violation.nodes.map(node=>{let selector=node.target.join(", ");return red(`Expected the HTML found at $('${selector}') to have no violations:`)+lineBreak+grey(node.html)+lineBreak+red("Received:")+lineBreak+red(`"${violation.help} (${violation.id})"`)+lineBreak+yellow(node.failureSummary)+lineBreak+(violation.helpUrl?red("You can find more information on this issue here:")+`
21
+ ${blue(violation.helpUrl)}`:"")}).join(lineBreak)).join(lineBreak+"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"+lineBreak)}return {long:reporter(violations),short:`Found ${violations.length} a11y violations, run the test with 'a11y: { test: 'error' }' parameter to see the full report or debug it directly in Storybook.`}}function filterViolations(violations,impactLevels){return impactLevels&&impactLevels.length>0?violations.filter(v=>impactLevels.includes(v.impact)):violations}async function __getContext(storyId){return globalThis.__STORYBOOK_PREVIEW__.storyStore.loadStory({storyId})}async function __test(storyId){try{await __waitForStorybook();}catch{let message=`Timed out waiting for Storybook to load after 10 seconds. Are you sure the Storybook is running correctly in that URL? Is the Storybook private (e.g. under authentication layers)?
22
+
23
+
24
+ HTML: ${document.body.innerHTML}`;throw new StorybookTestRunnerError({storyId,errorMessage:message})}let channel=globalThis.__STORYBOOK_ADDONS_CHANNEL__;if(!channel)throw new StorybookTestRunnerError({storyId,errorMessage:"The test runner could not access the Storybook channel. Are you sure the Storybook is running correctly in that URL?"});addToUserAgent(`(StorybookTestRunner@${TEST_RUNNER_VERSION})`);let logs=[],hasErrors=!1,logLevelMapping={log:["info","verbose"],warn:["info","warn","verbose"],error:["info","warn","error","verbose"],info:["verbose"],trace:["verbose"],debug:["verbose"],group:["verbose"],groupCollapsed:["verbose"],table:["verbose"],dir:["verbose"]},spyOnConsole=(method,name)=>{let originalFn=console[method].bind(console);console[method]=function(...args){if(method==="error"&&isServerComponentError(args[0]))return;let shouldCollectError=method==="error";shouldCollectError&&(hasErrors=!0);let message=args.map(composeMessage).join(", ");if(method==="trace"){let stackTrace=new Error().stack;message+=`
25
+ ${stackTrace}
26
+ `;}if(logLevelMapping[method].includes(TEST_RUNNER_LOG_LEVEL)||shouldCollectError){let prefix=`${bold(name)}: `;logs.push(prefix+message);}originalFn(...args);};};Object.entries({log:blue,info:blue,warn:yellow,error:red,dir:magenta,trace:magenta,group:magenta,groupCollapsed:magenta,table:magenta,debug:magenta}).forEach(([method,color])=>{spyOnConsole(method,color(method));});let cleanup=_listeners=>{Object.entries(_listeners).forEach(([eventName,listener])=>{channel.off(eventName,listener);});};return new Promise((resolve,reject)=>{let rejectWithFormattedError=(storyId2,message,panel)=>{let errorMessage=StorybookTestRunnerError.buildErrorMessage({storyId:storyId2,errorMessage:message,logs,panel});reject(new StorybookTestRunnerError({storyId:storyId2,errorMessage,logs,isMessageFormatted:!0}));},INTERACTIONS_PANEL="storybook/interactions/panel",A11Y_PANEL="storybook/a11y/panel",listeners={[TEST_RUNNER_RENDERED_EVENT]:data=>{if(cleanup(listeners),hasErrors){rejectWithFormattedError(storyId,"Browser console errors");return}else if(data?.reporters){let story=getStory(),a11yGlobals=story.globals?.a11y,a11yParameter=story.parameters?.a11y,a11yTestParameter=a11yParameter?.test,a11yReport=data.reporters.find(reporter=>reporter.type==="a11y");if(a11yParameter?.disable!==!0&&a11yParameter?.test!=="off"&&a11yGlobals?.manual!==!0&&a11yReport?.result?.violations?.length>0){let violations=expectToHaveNoViolations(a11yReport.result);if(violations&&a11yTestParameter==="error"){rejectWithFormattedError(storyId,violations.long,A11Y_PANEL);return}else if(violations&&a11yTestParameter==="todo"){let warningMessage=StorybookTestRunnerError.buildErrorMessage({storyId,errorMessagePrefix:`--------------------------
27
+ ${story.title} > ${story.name}`,errorMessage:yellow(violations.short),logs,panel:A11Y_PANEL});logToPage(warningMessage);}}}resolve(document.getElementById("root"));},storyUnchanged:()=>{cleanup(listeners),resolve(document.getElementById("root"));},storyErrored:({description})=>{cleanup(listeners),rejectWithFormattedError(storyId,description,INTERACTIONS_PANEL);},storyThrewException:error=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},playFunctionThrewException:error=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},unhandledErrorsWhilePlaying:([error])=>{cleanup(listeners),rejectWithFormattedError(storyId,error.message,INTERACTIONS_PANEL);},storyMissing:id=>{cleanup(listeners),id===storyId&&rejectWithFormattedError(storyId,"The story was missing when trying to access it.");}};Object.entries(listeners).forEach(([eventName,listener])=>{channel.on(eventName,listener);}),channel.emit("setCurrentStory",{storyId,viewMode:TEST_RUNNER_VIEW_MODE});})}globalThis.__test=__test,globalThis.__getContext=__getContext;});}async function testStory(storyId,page,context,playwrightFn){let _task=context.task;if(_task.meta.storyId=storyId,await page.evaluate(async storyId2=>await globalThis.__test(storyId2),storyId),playwrightFn){let storyContext=await page.evaluate(storyId2=>globalThis.__getContext(storyId2),storyId);await playwrightFn({page,context:storyContext});}}
28
+
29
+ export { convertToFilePath, prepareScript, setupPageScript, testStory };
@@ -0,0 +1,14 @@
1
+ import { RunnerTask } from 'vitest';
2
+ import { Channel } from 'storybook/internal/channels';
3
+
4
+ declare global {
5
+ var __STORYBOOK_ADDONS_CHANNEL__: Channel;
6
+ }
7
+ type Task = Partial<RunnerTask> & {
8
+ meta: Record<string, any>;
9
+ };
10
+ declare const modifyErrorMessage: ({ task }: {
11
+ task: Task;
12
+ }) => void;
13
+
14
+ export { Task, modifyErrorMessage };
@@ -1,30 +1,11 @@
1
- import {
2
- a as n
3
- } from "../_browser-chunks/chunk-VMSW5DPM.js";
4
- import {
5
- a as e
6
- } from "../_browser-chunks/chunk-A47P2DCZ.js";
1
+ 'use strict';
7
2
 
8
- // src/vitest-plugin/setup-file.ts
9
- import { afterEach as l, beforeAll as i, vi as s } from "vitest";
10
- import { Channel as _ } from "storybook/internal/channels";
11
- var m = { setHandler: s.fn(), send: s.fn() };
12
- globalThis.__STORYBOOK_ADDONS_CHANNEL__ ??= new _({ transport: m });
13
- var c = /* @__PURE__ */ e(({ task: r }) => {
14
- let o = r.meta;
15
- if (r.type === "test" && r.result?.state === "fail" && o.storyId && r.result.errors?.[0]) {
16
- let t = r.result.errors[0], a = `${import.meta.env.__STORYBOOK_URL__}/?path=/story/${o.storyId}&addonPanel=${n}`;
17
- t.message = `
18
- \x1B[34mClick to debug the error directly in Storybook: ${a}\x1B[39m
3
+ var vitest = require('vitest');
4
+ var channels = require('storybook/internal/channels');
19
5
 
20
- ${t.message}`;
21
- }
22
- }, "modifyErrorMessage");
23
- i(() => {
24
- if (globalThis.globalProjectAnnotations)
25
- return globalThis.globalProjectAnnotations.beforeAll();
26
- });
27
- l(c);
28
- export {
29
- c as modifyErrorMessage
30
- };
6
+ var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;var transport={setHandler:vitest.vi.fn(),send:vitest.vi.fn()};globalThis.__STORYBOOK_ADDONS_CHANNEL__??=new channels.Channel({transport});var modifyErrorMessage=({task})=>{let meta=task.meta;if(task.type==="test"&&task.result?.state==="fail"&&meta.storyId&&task.result.errors?.[0]){let currentError=task.result.errors[0],storyUrl=`${undefined.__STORYBOOK_URL__}/?path=/story/${meta.storyId}&addonPanel=${PANEL_ID}`;currentError.message=`
7
+ \x1B[34mClick to debug the error directly in Storybook: ${storyUrl}\x1B[39m
8
+
9
+ ${currentError.message}`;}};vitest.beforeAll(()=>{if(globalThis.globalProjectAnnotations)return globalThis.globalProjectAnnotations.beforeAll()});vitest.afterEach(modifyErrorMessage);
10
+
11
+ exports.modifyErrorMessage = modifyErrorMessage;
@@ -0,0 +1,9 @@
1
+ import { vi, beforeAll, afterEach } from 'vitest';
2
+ import { Channel } from 'storybook/internal/channels';
3
+
4
+ var ADDON_ID="storybook/interactions",PANEL_ID=`${ADDON_ID}/panel`;var transport={setHandler:vi.fn(),send:vi.fn()};globalThis.__STORYBOOK_ADDONS_CHANNEL__??=new Channel({transport});var modifyErrorMessage=({task})=>{let meta=task.meta;if(task.type==="test"&&task.result?.state==="fail"&&meta.storyId&&task.result.errors?.[0]){let currentError=task.result.errors[0],storyUrl=`${import.meta.env.__STORYBOOK_URL__}/?path=/story/${meta.storyId}&addonPanel=${PANEL_ID}`;currentError.message=`
5
+ \x1B[34mClick to debug the error directly in Storybook: ${storyUrl}\x1B[39m
6
+
7
+ ${currentError.message}`;}};beforeAll(()=>{if(globalThis.globalProjectAnnotations)return globalThis.globalProjectAnnotations.beforeAll()});afterEach(modifyErrorMessage);
8
+
9
+ export { modifyErrorMessage };
@@ -0,0 +1,20 @@
1
+ import { TestContext } from 'vitest';
2
+ import { ComposedStoryFn, ComponentAnnotations } from 'storybook/internal/types';
3
+
4
+ declare module '@vitest/browser/context' {
5
+ interface BrowserCommands {
6
+ getInitialGlobals: () => Promise<Record<string, any>>;
7
+ }
8
+ }
9
+ /**
10
+ * Converts a file URL to a file path, handling URL encoding
11
+ *
12
+ * @param url The file URL to convert (e.g. file:///path/to/file.js)
13
+ * @returns The decoded file path
14
+ */
15
+ declare const convertToFilePath: (url: string) => string;
16
+ declare const testStory: (exportName: string, story: ComposedStoryFn, meta: ComponentAnnotations, skipTags: string[]) => (context: TestContext & {
17
+ story: ComposedStoryFn;
18
+ }) => Promise<void>;
19
+
20
+ export { convertToFilePath, testStory };
@@ -1,71 +1,11 @@
1
- import {
2
- a as n
3
- } from "../_browser-chunks/chunk-A47P2DCZ.js";
1
+ 'use strict';
4
2
 
5
- // src/vitest-plugin/test-utils.ts
6
- import { server as I } from "@vitest/browser/context";
7
- import { composeStory as T, getCsfFactoryAnnotations as M } from "storybook/preview-api";
3
+ var context = require('@vitest/browser/context');
4
+ var previewApi = require('storybook/preview-api');
5
+ var previewErrors = require('storybook/internal/preview-errors');
6
+ var viewport = require('storybook/viewport');
8
7
 
9
- // src/vitest-plugin/viewports.ts
10
- import { UnsupportedViewportDimensionError as f } from "storybook/internal/preview-errors";
11
- import { MINIMAL_VIEWPORTS as y } from "storybook/viewport";
12
- var l = {
13
- width: 1200,
14
- height: 900
15
- }, u = /^\d+(px)?$/, V = /^(\d+(\.\d+)?%)$/, v = /^(\d+(\.\d+)?vw)$/, P = /^(\d+(\.\d+)?vh)$/, _ = /^(\d+)(em|rem)$/, w = /* @__PURE__ */ n((t, r) => {
16
- if (u.test(t))
17
- return Number.parseInt(t, 10);
18
- if (V.test(t)) {
19
- let e = parseFloat(t) / 100;
20
- return Math.round(l[r] * e);
21
- } else if (v.test(t)) {
22
- let e = parseFloat(t) / 100;
23
- return Math.round(l.width * e);
24
- } else if (P.test(t)) {
25
- let e = parseFloat(t) / 100;
26
- return Math.round(l.height * e);
27
- } else {
28
- if (_.test(t))
29
- return Number.parseInt(t, 10) * 16;
30
- throw new f({ dimension: r, value: t });
31
- }
32
- }, "parseDimension"), h = /* @__PURE__ */ n(async (t = {}, r = {}) => {
33
- let e, s = t.viewport ?? {}, i = r.viewport ?? {}, a = s.disable || s.disabled;
34
- i.value && !a ? e = i.value : a || (e = s.defaultViewport);
35
- let { page: o } = await import("@vitest/browser/context").catch(() => ({
36
- page: null
37
- }));
38
- if (!o || !globalThis.__vitest_browser__)
39
- return;
40
- let p = {
41
- ...y,
42
- ...s.viewports,
43
- ...s.options
44
- }, m = l.width, d = l.height;
45
- if (e && e in p) {
46
- let c = p[e].styles;
47
- if (c?.width && c?.height) {
48
- let { width: b, height: g } = c;
49
- m = w(b, "width"), d = w(g, "height");
50
- }
51
- }
52
- await o.viewport(m, d);
53
- }, "setViewport");
8
+ var DEFAULT_VIEWPORT_DIMENSIONS={width:1200,height:900},validPixelOrNumber=/^\d+(px)?$/,percentagePattern=/^(\d+(\.\d+)?%)$/,vwPattern=/^(\d+(\.\d+)?vw)$/,vhPattern=/^(\d+(\.\d+)?vh)$/,emRemPattern=/^(\d+)(em|rem)$/,parseDimension=(value,dimension)=>{if(validPixelOrNumber.test(value))return Number.parseInt(value,10);if(percentagePattern.test(value)){let percentageValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS[dimension]*percentageValue)}else if(vwPattern.test(value)){let vwValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.width*vwValue)}else if(vhPattern.test(value)){let vhValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.height*vhValue)}else {if(emRemPattern.test(value))return Number.parseInt(value,10)*16;throw new previewErrors.UnsupportedViewportDimensionError({dimension,value})}},setViewport=async(parameters={},globals={},pwPage)=>{let defaultViewport,viewportsParam=parameters.viewport??{},viewportsGlobal=globals.viewport??{},isDisabled=viewportsParam.disable||viewportsParam.disabled;viewportsGlobal.value&&!isDisabled?defaultViewport=viewportsGlobal.value:isDisabled||(defaultViewport=viewportsParam.defaultViewport);let page=pwPage;if(page||(page=(await import('@vitest/browser/context').catch(()=>({page:null}))).page),!page||!globalThis.__vitest_browser__)return;let viewports={...viewport.MINIMAL_VIEWPORTS,...viewportsParam.viewports,...viewportsParam.options},viewportWidth=DEFAULT_VIEWPORT_DIMENSIONS.width,viewportHeight=DEFAULT_VIEWPORT_DIMENSIONS.height;if(defaultViewport&&defaultViewport in viewports){let styles=viewports[defaultViewport].styles;if(styles?.width&&styles?.height){let{width,height}=styles;viewportWidth=parseDimension(width,"width"),viewportHeight=parseDimension(height,"height");}}await page.viewport(viewportWidth,viewportHeight);};var {getInitialGlobals}=context.server.commands,convertToFilePath=url=>url.replace(/^file:\/\//,"").replace(/^\/+([a-zA-Z]:)/,"$1").replace(/%20/g," "),testStory=(exportName,story,meta,skipTags)=>async context=>{let annotations=previewApi.getCsfFactoryAnnotations(story,meta),composedStory=previewApi.composeStory(annotations.story,annotations.meta,{initialGlobals:await getInitialGlobals?.()??{}},annotations.preview??globalThis.globalProjectAnnotations,exportName);(composedStory===void 0||skipTags?.some(tag=>composedStory.tags.includes(tag)))&&context.skip(),context.story=composedStory;let _task=context.task;_task.meta.storyId=composedStory.id,await setViewport(composedStory.parameters,composedStory.globals),await composedStory.run(),_task.meta.reports=composedStory.reporting.reports;};
54
9
 
55
- // src/vitest-plugin/test-utils.ts
56
- var { getInitialGlobals: S } = I.commands, N = /* @__PURE__ */ n((t) => t.replace(/^file:\/\//, "").replace(/^\/+([a-zA-Z]:)/, "$1").replace(/%20/g, " "), "convertToFilePath"), $ = /* @__PURE__ */ n((t, r, e, s) => async (i) => {
57
- let a = M(r, e), o = T(
58
- a.story,
59
- a.meta,
60
- { initialGlobals: await S?.() ?? {} },
61
- a.preview ?? globalThis.globalProjectAnnotations,
62
- t
63
- );
64
- (o === void 0 || s?.some((m) => o.tags.includes(m))) && i.skip(), i.story = o;
65
- let p = i.task;
66
- p.meta.storyId = o.id, await h(o.parameters, o.globals), await o.run(), p.meta.reports = o.reporting.reports;
67
- }, "testStory");
68
- export {
69
- N as convertToFilePath,
70
- $ as testStory
71
- };
10
+ exports.convertToFilePath = convertToFilePath;
11
+ exports.testStory = testStory;
@@ -0,0 +1,8 @@
1
+ import { server } from '@vitest/browser/context';
2
+ import { getCsfFactoryAnnotations, composeStory } from 'storybook/preview-api';
3
+ import { UnsupportedViewportDimensionError } from 'storybook/internal/preview-errors';
4
+ import { MINIMAL_VIEWPORTS } from 'storybook/viewport';
5
+
6
+ var DEFAULT_VIEWPORT_DIMENSIONS={width:1200,height:900},validPixelOrNumber=/^\d+(px)?$/,percentagePattern=/^(\d+(\.\d+)?%)$/,vwPattern=/^(\d+(\.\d+)?vw)$/,vhPattern=/^(\d+(\.\d+)?vh)$/,emRemPattern=/^(\d+)(em|rem)$/,parseDimension=(value,dimension)=>{if(validPixelOrNumber.test(value))return Number.parseInt(value,10);if(percentagePattern.test(value)){let percentageValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS[dimension]*percentageValue)}else if(vwPattern.test(value)){let vwValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.width*vwValue)}else if(vhPattern.test(value)){let vhValue=parseFloat(value)/100;return Math.round(DEFAULT_VIEWPORT_DIMENSIONS.height*vhValue)}else {if(emRemPattern.test(value))return Number.parseInt(value,10)*16;throw new UnsupportedViewportDimensionError({dimension,value})}},setViewport=async(parameters={},globals={},pwPage)=>{let defaultViewport,viewportsParam=parameters.viewport??{},viewportsGlobal=globals.viewport??{},isDisabled=viewportsParam.disable||viewportsParam.disabled;viewportsGlobal.value&&!isDisabled?defaultViewport=viewportsGlobal.value:isDisabled||(defaultViewport=viewportsParam.defaultViewport);let page=pwPage;if(page||(page=(await import('@vitest/browser/context').catch(()=>({page:null}))).page),!page||!globalThis.__vitest_browser__)return;let viewports={...MINIMAL_VIEWPORTS,...viewportsParam.viewports,...viewportsParam.options},viewportWidth=DEFAULT_VIEWPORT_DIMENSIONS.width,viewportHeight=DEFAULT_VIEWPORT_DIMENSIONS.height;if(defaultViewport&&defaultViewport in viewports){let styles=viewports[defaultViewport].styles;if(styles?.width&&styles?.height){let{width,height}=styles;viewportWidth=parseDimension(width,"width"),viewportHeight=parseDimension(height,"height");}}await page.viewport(viewportWidth,viewportHeight);};var {getInitialGlobals}=server.commands,convertToFilePath=url=>url.replace(/^file:\/\//,"").replace(/^\/+([a-zA-Z]:)/,"$1").replace(/%20/g," "),testStory=(exportName,story,meta,skipTags)=>async context=>{let annotations=getCsfFactoryAnnotations(story,meta),composedStory=composeStory(annotations.story,annotations.meta,{initialGlobals:await getInitialGlobals?.()??{}},annotations.preview??globalThis.globalProjectAnnotations,exportName);(composedStory===void 0||skipTags?.some(tag=>composedStory.tags.includes(tag)))&&context.skip(),context.story=composedStory;let _task=context.task;_task.meta.storyId=composedStory.id,await setViewport(composedStory.parameters,composedStory.globals),await composedStory.run(),_task.meta.reports=composedStory.reporting.reports;};
7
+
8
+ export { convertToFilePath, testStory };
package/manager.js CHANGED
@@ -1 +1 @@
1
- export * from './dist/manager.js';
1
+ require('./dist/manager');
package/manager.mjs ADDED
@@ -0,0 +1 @@
1
+ import './dist/manager';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-vitest",
3
- "version": "0.0.0-pr-31819-sha-a55d003d",
3
+ "version": "0.0.0-pr-32047-sha-3b23261a",
4
4
  "description": "Storybook addon for testing components",
5
5
  "keywords": [
6
6
  "storybook-addons",
@@ -23,7 +23,6 @@
23
23
  "url": "https://opencollective.com/storybook"
24
24
  },
25
25
  "license": "MIT",
26
- "type": "module",
27
26
  "imports": {
28
27
  "#manager-store": {
29
28
  "storybook": "./src/manager-store.mock.ts",
@@ -33,21 +32,51 @@
33
32
  "exports": {
34
33
  ".": {
35
34
  "types": "./dist/index.d.ts",
36
- "default": "./dist/index.js"
35
+ "import": "./dist/index.mjs",
36
+ "require": "./dist/index.js"
37
37
  },
38
- "./internal/coverage-reporter": "./dist/node/coverage-reporter.js",
39
- "./internal/global-setup": "./dist/vitest-plugin/global-setup.js",
40
- "./internal/setup-file": "./dist/vitest-plugin/setup-file.js",
41
- "./internal/test-utils": "./dist/vitest-plugin/test-utils.js",
42
- "./manager": "./dist/manager.js",
43
- "./package.json": "./package.json",
44
- "./postinstall": "./dist/postinstall.js",
45
- "./preset": "./dist/preset.js",
46
- "./static/coverage-reporter.cjs": "./static/coverage-reporter.cjs",
47
- "./vitest": "./dist/node/vitest.js",
48
38
  "./vitest-plugin": {
49
39
  "types": "./dist/vitest-plugin/index.d.ts",
50
- "default": "./dist/vitest-plugin/index.js"
40
+ "import": "./dist/vitest-plugin/index.mjs",
41
+ "require": "./dist/vitest-plugin/index.js"
42
+ },
43
+ "./internal/global-setup": {
44
+ "types": "./dist/vitest-plugin/global-setup.d.ts",
45
+ "import": "./dist/vitest-plugin/global-setup.mjs",
46
+ "require": "./dist/vitest-plugin/global-setup.js"
47
+ },
48
+ "./internal/setup-file": {
49
+ "types": "./dist/vitest-plugin/setup-file.d.ts",
50
+ "import": "./dist/vitest-plugin/setup-file.mjs"
51
+ },
52
+ "./internal/test-utils": {
53
+ "types": "./dist/vitest-plugin/test-utils.d.ts",
54
+ "import": "./dist/vitest-plugin/test-utils.mjs",
55
+ "require": "./dist/vitest-plugin/test-utils.js"
56
+ },
57
+ "./internal/playwright-utils": {
58
+ "types": "./dist/vitest-plugin/playwright-utils.d.ts",
59
+ "import": "./dist/vitest-plugin/playwright-utils.mjs",
60
+ "require": "./dist/vitest-plugin/playwright-utils.js"
61
+ },
62
+ "./internal/coverage-reporter": {
63
+ "types": "./dist/node/coverage-reporter.d.ts",
64
+ "import": "./dist/node/coverage-reporter.mjs",
65
+ "require": "./dist/node/coverage-reporter.js"
66
+ },
67
+ "./manager": "./dist/manager.js",
68
+ "./preset": "./dist/preset.js",
69
+ "./postinstall": "./dist/postinstall.js",
70
+ "./package.json": "./package.json"
71
+ },
72
+ "main": "dist/index.js",
73
+ "module": "dist/index.mjs",
74
+ "types": "dist/index.d.ts",
75
+ "typesVersions": {
76
+ "*": {
77
+ "*": [
78
+ "dist/index.d.ts"
79
+ ]
51
80
  }
52
81
  },
53
82
  "files": [
@@ -62,8 +91,8 @@
62
91
  "!src/**/*"
63
92
  ],
64
93
  "scripts": {
65
- "check": "jiti ../../../scripts/check/check-package.ts",
66
- "prep": "jiti ../../../scripts/build/build-package.ts"
94
+ "check": "jiti ../../../scripts/prepare/check.ts",
95
+ "prep": "jiti ../../../scripts/prepare/addon-bundle.ts"
67
96
  },
68
97
  "dependencies": {
69
98
  "@storybook/global": "^5.0.0",
@@ -100,7 +129,7 @@
100
129
  "peerDependencies": {
101
130
  "@vitest/browser": "^3.0.0",
102
131
  "@vitest/runner": "^3.0.0",
103
- "storybook": "^0.0.0-pr-31819-sha-a55d003d",
132
+ "storybook": "^0.0.0-pr-32047-sha-3b23261a",
104
133
  "vitest": "^3.0.0"
105
134
  },
106
135
  "peerDependenciesMeta": {
@@ -117,6 +146,55 @@
117
146
  "publishConfig": {
118
147
  "access": "public"
119
148
  },
149
+ "bundler": {
150
+ "exportEntries": [
151
+ "./src/index.ts",
152
+ "./src/vitest-plugin/test-utils.ts",
153
+ "./src/vitest-plugin/playwright-utils.ts",
154
+ "./src/vitest-plugin/setup-file.ts"
155
+ ],
156
+ "managerEntries": [
157
+ "./src/manager.tsx"
158
+ ],
159
+ "nodeEntries": [
160
+ "./src/preset.ts",
161
+ "./src/postinstall.ts",
162
+ {
163
+ "file": "./src/dummy.ts",
164
+ "formats": [
165
+ "esm"
166
+ ]
167
+ },
168
+ {
169
+ "file": "./src/node/vitest.ts",
170
+ "formats": [
171
+ "esm",
172
+ "cjs"
173
+ ]
174
+ },
175
+ {
176
+ "file": "./src/node/coverage-reporter.ts",
177
+ "formats": [
178
+ "esm",
179
+ "cjs"
180
+ ]
181
+ },
182
+ {
183
+ "file": "./src/vitest-plugin/index.ts",
184
+ "formats": [
185
+ "cjs",
186
+ "esm"
187
+ ]
188
+ },
189
+ {
190
+ "file": "./src/vitest-plugin/global-setup.ts",
191
+ "formats": [
192
+ "cjs",
193
+ "esm"
194
+ ]
195
+ }
196
+ ]
197
+ },
120
198
  "storybook": {
121
199
  "displayName": "Test",
122
200
  "unsupportedFrameworks": [
package/postinstall.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/postinstall');
@@ -0,0 +1 @@
1
+ export * from './dist/postinstall.mjs';
package/preset.js CHANGED
@@ -1 +1 @@
1
- export * from './dist/preset.js';
1
+ module.exports = require('./dist/preset');
package/preset.mjs ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/preset.mjs';
@@ -1,11 +0,0 @@
1
- var d = Object.defineProperty;
2
- var e = (b, a) => d(b, "name", { value: a, configurable: !0 });
3
- var f = (b, a) => {
4
- for (var c in a)
5
- d(b, c, { get: a[c], enumerable: !0 });
6
- };
7
-
8
- export {
9
- e as a,
10
- f as b
11
- };
@@ -1,60 +0,0 @@
1
- // ../../core/src/component-testing/constants.ts
2
- var e = "storybook/interactions", s = `${e}/panel`, n = "writing-tests/integrations/vitest-addon", N = `${n}#what-happens-when-there-are-different-test-results-in-multiple-environments`;
3
-
4
- // ../a11y/src/constants.ts
5
- var t = "storybook/a11y", r = `${t}/panel`;
6
- var a = `${t}/result`, c = `${t}/request`, p = `${t}/running`, A = `${t}/error`, O = `${t}/manual`, I = `${t}/select`, i = "writing-tests/accessibility-testing", D = `${i}#why-are-my-tests-failing-in-different-environments`;
7
-
8
- // src/constants.ts
9
- var o = "storybook/test", R = `${o}/test-provider`;
10
- var _ = "writing-tests/integrations/vitest-addon", y = `${_}#what-happens-if-vitest-itself-has-an-error`;
11
- var E = {
12
- id: o,
13
- initialState: {
14
- config: {
15
- coverage: !1,
16
- a11y: !1
17
- },
18
- watching: !1,
19
- cancelling: !1,
20
- fatalError: void 0,
21
- indexUrl: void 0,
22
- previewAnnotations: [],
23
- currentRun: {
24
- triggeredBy: void 0,
25
- config: {
26
- coverage: !1,
27
- a11y: !1
28
- },
29
- componentTestCount: {
30
- success: 0,
31
- error: 0
32
- },
33
- a11yCount: {
34
- success: 0,
35
- warning: 0,
36
- error: 0
37
- },
38
- storyIds: void 0,
39
- totalTestCount: void 0,
40
- startedAt: void 0,
41
- finishedAt: void 0,
42
- unhandledErrors: [],
43
- coverageSummary: void 0
44
- }
45
- }
46
- }, d = ["global", "run-all"], l = `UNIVERSAL_STORE:${E.id}`;
47
- var x = "storybook/component-test", L = "storybook/a11y";
48
-
49
- export {
50
- s as a,
51
- t as b,
52
- r as c,
53
- o as d,
54
- R as e,
55
- y as f,
56
- E as g,
57
- d as h,
58
- x as i,
59
- L as j
60
- };