@storybook/core-common 7.0.0-alpha.45 → 7.0.0-alpha.46

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.
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
- "use strict";var Ve=Object.create;var w=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var er=(e,r)=>{for(var t in r)w(e,t,{get:r[t],enumerable:!0})},te=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xe(r))!Qe.call(e,n)&&n!==t&&w(e,n,{get:()=>r[n],enumerable:!(o=Ge(r,n))||o.enumerable});return e};var f=(e,r,t)=>(t=e!=null?Ve(Ze(e)):{},te(r||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),rr=e=>te(w({},"__esModule",{value:!0}),e);var zr={};er(zr,{boost:()=>O,cache:()=>cr,checkAddonOrder:()=>mr,createFileSystemCache:()=>j,filterPresetsConfig:()=>le,findDistEsm:()=>yr,getAutoRefs:()=>je,getDirectoryFromWorkingDir:()=>Ue,getFrameworkName:()=>V,getInterpretedFile:()=>g,getInterpretedFileWithExt:()=>H,getPresets:()=>he,getPreviewBodyTemplate:()=>Dr,getPreviewHeadTemplate:()=>Lr,getPreviewMainTemplate:()=>Mr,getProjectRoot:()=>pr,getRefs:()=>Or,getRendererName:()=>hr,getStorybookConfiguration:()=>G,getStorybookInfo:()=>Pr,globToRegexp:()=>Q,handlebars:()=>Rr,interopRequireDefault:()=>R,interpolate:()=>Er,isPreservingSymlinks:()=>Tr,loadAllPresets:()=>ar,loadCustomPresets:()=>U,loadEnvs:()=>lr,loadMainConfig:()=>$r,loadManagerOrAddonsFile:()=>Sr,loadPreset:()=>ge,loadPreviewOrConfigFile:()=>jr,logConfig:()=>Ar,nodePathsToArray:()=>W,normalizeStories:()=>Ir,normalizeStoriesEntry:()=>ze,normalizeStoryPath:()=>Y,readTemplate:()=>Nr,resolveAddonName:()=>ue,resolvePathInStorybookCache:()=>z,satisfies:()=>Ur,serverRequire:()=>h,serverResolve:()=>E,stringifyEnvs:()=>ur,stringifyProcessEnvs:()=>gr,useProgressReporting:()=>Fr,validateConfigurationFiles:()=>v,validateFrameworkName:()=>Jr});module.exports=rr(zr);var pe=require("ts-dedent"),b=require("@storybook/node-logger"),de=require("path");var $=f(require("path"));var M=f(require("fs")),O=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function tr(){return[...Array.from(O)]}var oe=tr();function g(e){return oe.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>M.default.existsSync(r))}function H(e){return oe.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>M.default.existsSync(r.path))}var ne=!1;function R(e){if(ne===!1){let{register:o}=require("esbuild-register/dist/node");ne=!0,o({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!1,tsconfigRaw:`{
1
+ "use strict";var Ve=Object.create;var w=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var er=(e,r)=>{for(var t in r)w(e,t,{get:r[t],enumerable:!0})},te=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xe(r))!Qe.call(e,n)&&n!==t&&w(e,n,{get:()=>r[n],enumerable:!(o=Ge(r,n))||o.enumerable});return e};var f=(e,r,t)=>(t=e!=null?Ve(Ze(e)):{},te(r||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),rr=e=>te(w({},"__esModule",{value:!0}),e);var zr={};er(zr,{boost:()=>O,cache:()=>cr,checkAddonOrder:()=>mr,createFileSystemCache:()=>j,filterPresetsConfig:()=>le,findDistEsm:()=>yr,getAutoRefs:()=>je,getDirectoryFromWorkingDir:()=>Ue,getFrameworkName:()=>V,getInterpretedFile:()=>g,getInterpretedFileWithExt:()=>H,getPresets:()=>be,getPreviewBodyTemplate:()=>Dr,getPreviewHeadTemplate:()=>Lr,getPreviewMainTemplate:()=>Mr,getProjectRoot:()=>pr,getRefs:()=>Or,getRendererName:()=>br,getStorybookConfiguration:()=>G,getStorybookInfo:()=>Pr,globToRegexp:()=>Q,handlebars:()=>Rr,interopRequireDefault:()=>R,interpolate:()=>Er,isPreservingSymlinks:()=>Tr,loadAllPresets:()=>ar,loadCustomPresets:()=>U,loadEnvs:()=>lr,loadMainConfig:()=>$r,loadManagerOrAddonsFile:()=>Sr,loadPreset:()=>ge,loadPreviewOrConfigFile:()=>jr,logConfig:()=>Ar,nodePathsToArray:()=>W,normalizeStories:()=>Ir,normalizeStoriesEntry:()=>ze,normalizeStoryPath:()=>Y,readTemplate:()=>Nr,resolveAddonName:()=>ue,resolvePathInStorybookCache:()=>z,satisfies:()=>Ur,serverRequire:()=>b,serverResolve:()=>E,stringifyEnvs:()=>ur,stringifyProcessEnvs:()=>gr,useProgressReporting:()=>Fr,validateConfigurationFiles:()=>v,validateFrameworkName:()=>Jr});module.exports=rr(zr);var pe=require("ts-dedent"),h=require("@storybook/node-logger"),de=require("path");var $=f(require("path"));var M=f(require("fs")),O=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function tr(){return[...Array.from(O)]}var oe=tr();function g(e){return oe.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>M.default.existsSync(r))}function H(e){return oe.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>M.default.existsSync(r.path))}var ne=!1;function R(e){if(ne===!1){let{register:o}=require("esbuild-register/dist/node");ne=!0,o({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!1,tsconfigRaw:`{
2
2
  "compilerOptions": {
3
3
  "strict": false,
4
4
  "skipLibCheck": true,
5
5
  },
6
- }`})}let r=require(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function or(e){for(let r=0;r<e.length;r+=1){let t=H(e[r]);if(t)return t}}function h(e){let r=E(e);return r?R(r):null}function E(e){let r=Array.isArray(e)?e:[e],t=or(r);return t?t.path:null}var se=require("ts-dedent"),ie=f(require("glob")),J=f(require("path"));function v(e){let r=`{${Array.from(O).join(",")}}`;if(!(n=>!!ie.default.sync(J.default.resolve(e,`${n}${r}`)).length)("main"))throw new Error(se.dedent`
6
+ }`})}let r=require(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function or(e){for(let r=0;r<e.length;r+=1){let t=H(e[r]);if(t)return t}}function b(e){let r=E(e);return r?R(r):null}function E(e){let r=Array.isArray(e)?e:[e],t=or(r);return t?t.path:null}var se=require("ts-dedent"),ie=f(require("glob")),J=f(require("path"));function v(e){let r=`{${Array.from(O).join(",")}}`;if(!(n=>!!ie.default.sync(J.default.resolve(e,`${n}${r}`)).length)("main"))throw new Error(se.dedent`
7
7
  No configuration files have been found in your configDir (${J.default.resolve(e)}).
8
8
  Storybook needs either a "main" or "config" file.
9
- `)}function U({configDir:e}){v(e);let r=h($.default.resolve(e,"presets"));if(h($.default.resolve(e,"main"))){let o=E($.default.resolve(e,"main"));if(o)return[o]}return r||[]}var ae=f(require("resolve-from")),ce=(e,r)=>{try{return(0,ae.default)(e,r)}catch{return}},fe=e=>{try{return require.resolve(e)}catch{return}};var C=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,nr=e=>typeof e=="function";function le(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function me(e,r,t){return nr(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var ue=(e,r,t)=>{let o=r.startsWith("/")?fe:ce.bind(null,e),n=o(r);if(n){if(r.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:r,managerEntries:[n]};if(r.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:n}}let s=n&&o(`${r}/package.json`),p=s&&(0,de.dirname)(s),a=u=>{if(o(`${r}${u}`))return`${p}${u}`},m=r,c=a("/manager"),i=a("/register")||a("/register-panel"),l=a("/preview"),d=o(`${m}/preset`);if(!(c||l)&&d)return{type:"presets",name:d};if(c||i||l||d){let u=[];return c&&u.push(c),!c&&i&&!d&&u.push(i),{type:"virtual",name:m,...u.length?{managerEntries:u}:{},...l?{previewAnnotations:[l]}:{},...d?{presets:[{name:d,options:t}]}:{}}}if(n)return{type:"presets",name:n}},sr=({configDir:e})=>r=>{let t=C(r)&&r.options||void 0,o=C(r)?r.name:r;try{let n=ue(e,o,t);return{...t?{options:t}:{},...n}}catch{b.logger.error(`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/react/addons/writing-presets/
9
+ `)}function U({configDir:e}){v(e);let r=b($.default.resolve(e,"presets"));if(b($.default.resolve(e,"main"))){let o=E($.default.resolve(e,"main"));if(o)return[o]}return r||[]}var ae=f(require("resolve-from")),ce=(e,r)=>{try{return(0,ae.default)(e,r)}catch{return}},fe=e=>{try{return require.resolve(e)}catch{return}};var C=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,nr=e=>typeof e=="function";function le(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function me(e,r,t){return nr(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var ue=(e,r,t)=>{let o=r.startsWith("/")?fe:ce.bind(null,e),n=o(r);if(n){if(r.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:r,managerEntries:[n]};if(r.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:n}}let s=n&&o(`${r}/package.json`),p=s&&(0,de.dirname)(s),a=u=>{if(o(`${r}${u}`))return`${p}${u}`},m=r,c=a("/manager"),i=a("/register")||a("/register-panel"),l=a("/preview"),d=o(`${m}/preset`);if(!(c||l)&&d)return{type:"presets",name:d};if(c||i||l||d){let u=[];return c&&u.push(c),!c&&i&&!d&&u.push(i),{type:"virtual",name:m,...u.length?{managerEntries:u}:{},...l?{previewAnnotations:[l]}:{},...d?{presets:[{name:d,options:t}]}:{}}}if(n)return{type:"presets",name:n}},sr=({configDir:e})=>r=>{let t=C(r)&&r.options||void 0,o=C(r)?r.name:r;try{let n=ue(e,o,t);return{...t?{options:t}:{},...n}}catch{h.logger.error(`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/react/addons/writing-presets/
10
10
  ${r}`)}};async function ir(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return R(r)}async function ge(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await ir(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return await S(s,r+1,t);if(C(s)){let{addons:p,presets:a,...m}=s,c=me(a,n,t),i=me(p,n,t);return[...await S([...c],r+1,t),...await S([...i.map(sr(t))].filter(Boolean),r+1,t),{name:o,preset:m,options:n}]}throw new Error(pe.dedent`
11
11
  ${e} is not a valid preset
12
- `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return b.logger.warn(n),b.logger.error(o),[]}}async function S(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||b.logger.info("=> Loading presets"),(await Promise.all(e.map(async o=>ge(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function ye(e,r,t,o,n){let s=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:a,options:m})=>{let c=a[r];if(!c)return p;if(typeof c=="function"){let i=c,l={preset:a,combinedOptions:{...n,...o,...m,presetsList:e,presets:{apply:async(d,u,k={})=>ye(e,d,u,k,n)}}};return p.then(d=>i.call(l.preset,d,l.combinedOptions))}return p.then(i=>Array.isArray(i)&&Array.isArray(c)?[...i,...c]:C(i)&&C(c)?{...i,...c}:c)},s):s}async function he(e,r){let t=await S(e,0,r);return{apply:async(o,n,s={})=>ye(t,o,n,s,r)}}async function ar(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...U(e),...t],s=le(n);return s.length<n.length&&b.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),he(s,o)}var be=f(require("file-system-cache"));function j(e){return(0,be.default)(e)}var A=f(require("path")),xe=f(require("pkg-dir"));function z(e){let r=process.cwd(),t=xe.default.sync(r),o;return t?o=A.default.resolve(t,"node_modules/.cache/storybook"):o=A.default.resolve(r,".cache/storybook"),A.default.join(o,e)}var cr=j({basePath:z("dev-server"),ns:"storybook"});var _=require("@storybook/node-logger"),B=e=>r=>{let t=r.name||r;return t&&t.includes(e)},fr=(e,r,t)=>{let o=e.findIndex(B("@storybook/addon-essentials")),n=e.findIndex(B(r.name)),s=e.findIndex(B(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},mr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!(n!=null&&n.addons)){_.logger.warn("Unable to find 'addons' config in main Storybook config");return}if(!fr(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?s:""}`,a=`'${r.name}'${r.inEssentials?s:""}`;_.logger.warn(`Expected ${p} to be listed before ${a} in main Storybook config.`)}}catch{_.logger.warn(`Unable to load config file: ${t}`)}};var ve=require("lazy-universal-dotenv");var P=f(require("path")),q=f(require("find-up")),pr=()=>{let e;try{let r=q.default.sync(".git",{type:"directory"});r&&(e=e||P.default.join(r,".."))}catch{}try{let r=q.default.sync(".svn",{type:"directory"});r&&(e=e||P.default.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},W=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>P.default.resolve("./",r)),dr=/^\.{1,2}([/\\]|$)/;function Y(e){return dr.test(e)?e:`.${P.default.sep}${e}`}function lr(e={}){let r=e.production?"production":"development",t={NODE_ENV:process.env.NODE_ENV||r,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(a=>/^STORYBOOK_/.test(a)).forEach(a=>{t[a]=process.env[a]});let o=Object.entries(t).reduce((a,[m,c])=>Object.assign(a,{[m]:JSON.stringify(c)}),{}),{stringified:n,raw:s}=(0,ve.getEnvironment)({nodeEnv:t.NODE_ENV}),p={...t,...s};return p.NODE_PATH=W(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var ur=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),gr=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});var K=f(require("path")),Ce=require("find-up"),yr=(e,r)=>{let t=(0,Ce.sync)("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=K.default.dirname(t);return K.default.join(o,"dist","esm",r)};var Pe=require("ts-dedent");async function V(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Pe.dedent`
12
+ `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return h.logger.warn(n),h.logger.error(o),[]}}async function S(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||h.logger.info("=> Loading presets"),(await Promise.all(e.map(async o=>ge(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function ye(e,r,t,o,n){let s=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:a,options:m})=>{let c=a[r];if(!c)return p;if(typeof c=="function"){let i=c,l={preset:a,combinedOptions:{...n,...o,...m,presetsList:e,presets:{apply:async(d,u,k={})=>ye(e,d,u,k,n)}}};return p.then(d=>i.call(l.preset,d,l.combinedOptions))}return p.then(i=>Array.isArray(i)&&Array.isArray(c)?[...i,...c]:C(i)&&C(c)?{...i,...c}:c)},s):s}async function be(e,r){let t=await S(e,0,r);return{apply:async(o,n,s={})=>ye(t,o,n,s,r)}}async function ar(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...U(e),...t],s=le(n);return s.length<n.length&&h.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),be(s,o)}var he=f(require("file-system-cache"));function j(e){return(0,he.default)(e)}var A=f(require("path")),xe=f(require("pkg-dir"));function z(e){let r=process.cwd(),t=xe.default.sync(r),o;return t?o=A.default.resolve(t,"node_modules/.cache/storybook"):o=A.default.resolve(r,".cache/storybook"),A.default.join(o,e)}var cr=j({basePath:z("dev-server"),ns:"storybook"});var _=require("@storybook/node-logger"),B=e=>r=>{let t=r.name||r;return t&&t.includes(e)},fr=(e,r,t)=>{let o=e.findIndex(B("@storybook/addon-essentials")),n=e.findIndex(B(r.name)),s=e.findIndex(B(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},mr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!(n!=null&&n.addons)){_.logger.warn("Unable to find 'addons' config in main Storybook config");return}if(!fr(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?s:""}`,a=`'${r.name}'${r.inEssentials?s:""}`;_.logger.warn(`Expected ${p} to be listed before ${a} in main Storybook config.`)}}catch{_.logger.warn(`Unable to load config file: ${t}`)}};var ve=require("lazy-universal-dotenv");var P=f(require("path")),q=f(require("find-up")),pr=()=>{let e;try{let r=q.default.sync(".git",{type:"directory"});r&&(e=e||P.default.join(r,".."))}catch{}try{let r=q.default.sync(".svn",{type:"directory"});r&&(e=e||P.default.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},W=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>P.default.resolve("./",r)),dr=/^\.{1,2}([/\\]|$)/;function Y(e){return dr.test(e)?e:`.${P.default.sep}${e}`}function lr(e={}){let r=e.production?"production":"development",t={NODE_ENV:process.env.NODE_ENV||r,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(a=>/^STORYBOOK_/.test(a)).forEach(a=>{t[a]=process.env[a]});let o=Object.entries(t).reduce((a,[m,c])=>Object.assign(a,{[m]:JSON.stringify(c)}),{}),{stringified:n,raw:s}=(0,ve.getEnvironment)({nodeEnv:t.NODE_ENV}),p={...t,...s};return p.NODE_PATH=W(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var ur=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),gr=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});var K=f(require("path")),Ce=require("find-up"),yr=(e,r)=>{let t=(0,Ce.sync)("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=K.default.dirname(t);return K.default.join(o,"dist","esm",r)};var Pe=require("ts-dedent");async function V(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Pe.dedent`
13
13
  You must specify a framework in '.storybook/main.js' config.
14
14
 
15
15
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
16
- `);return typeof r=="object"?r.name:r}async function hr(e){let{renderer:r}=await e.presets.apply("core",{},e);return r||V(e)}function G(e,r,t){if(!e)return null;let o=e.split(/[\s='"]+/),n=o.indexOf(t);return n===-1&&(n=o.indexOf(r)),n===-1?null:o[n+1]}var Oe=f(require("path")),Re=f(require("fs-extra"));var ke={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},we=console,br=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],xr=e=>{let[r,t,o]=br(e,([a])=>ke[a]),[n,s]=r||t||o||[],p=n?ke[n]:void 0;return r&&t&&r[0]===t[0]&&we.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&we.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},vr=["ts","js","tsx","jsx","mjs","cjs"],X=(e,r)=>{let t=Oe.default.join(r,e),o=vr.find(n=>Re.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Cr=e=>{var o;let r=".storybook",t=(o=e.scripts)==null?void 0:o.storybook;if(t){let n=G(t,"-c","--config-dir");n&&(r=n)}return{configDir:r,mainConfig:X("main",r),previewConfig:X("preview",r),managerConfig:X("manager",r)}},Pr=e=>{let r=xr(e),t=Cr(e);return{...r,...t}};var Z=require("fs-extra"),I=require("path"),Ee=f(require("find-up")),$e=f(require("resolve-from")),Se=require("@storybook/node-logger"),je=async e=>{let r=await(0,Ee.default)("package.json",{cwd:e.configDir});if(!r)return{};let t=(0,I.dirname)(r),{dependencies:o=[],devDependencies:n=[]}=await(0,Z.readJSON)(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async a=>{try{let m=(0,$e.default)(t,(0,I.join)(a,"package.json")),{storybook:c,name:i,version:l}=await(0,Z.readJSON)(m)||{};if(c!=null&&c.url)return{id:i,...c,version:l}}catch(m){if(m.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;Se.logger.warn(`unable to find package.json for ${a}`);return}}))).filter(Boolean).reduce((a,m)=>({...a,[m.id]:{id:m.id.toLowerCase(),url:Ae(m.url),title:m.title,version:m.version}}),{})},kr=e=>fetch(`${e}/iframe.html`).then(async({ok:r,status:t})=>{if(r){if(t!==200)return!1;let o=await fetch(`${e}/iframe.html`,{headers:{Accept:"application/json"}});if(o.ok&&(await o.json().catch(n=>({}))).loginUrl)return!1}return r},()=>!1),Ae=e=>e.replace(/\/$/,""),wr=e=>{let r=e.replace(/[A-Z]/g,t=>` ${t}`).replace(/[-_][A-Z]/gi,t=>` ${t.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${r.substring(0,1).toUpperCase()}${r.substring(1)}`.trim()};async function Or(e){let r=await e.presets.apply("refs",await je(e));return Object.entries(r).forEach(([t,o])=>{if(o.disable){delete r[t];return}r[t.toLowerCase()]={...o,id:t.toLowerCase(),title:o.title||wr(o.id||t),url:Ae(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await kr(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}var _e=require("picomatch");function Q(e){let r=(0,_e.makeRe)(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!r.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${r}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",r.source.substring(1)].join("")):r}var Ie=f(require("handlebars"));function Rr(e,r){return Ie.default.compile(e)(r)}var Er=(e,r)=>Object.entries(r).reduce((t,[o,n])=>{let s=n.replace(/\\/g,"/").replace(/\$/g,"$$$");return t.replace(new RegExp(`{{${o}}}`,"g"),s)},e);var Fe=f(require("path"));function $r({configDir:e}){return v(e),h(Fe.default.resolve(e,"main"))}var F=f(require("path")),Ne=require("@storybook/node-logger"),Te=require("ts-dedent");function Sr({configDir:e}){let r=g(F.default.resolve(e,"addons")),t=g(F.default.resolve(e,"manager"));if((r||t)&&Ne.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Te.dedent`
16
+ `);return typeof r=="object"?r.name:r}async function br(e){let{renderer:r}=await e.presets.apply("core",{},e);return r||V(e)}function G(e,r,t){if(!e)return null;let o=e.split(/[\s='"]+/),n=o.indexOf(t);return n===-1&&(n=o.indexOf(r)),n===-1?null:o[n+1]}var Oe=f(require("path")),Re=f(require("fs-extra"));var ke={"@storybook/react":"react","@storybook/vue":"vue","@storybook/vue3":"vue3","@storybook/angular":"angular","@storybook/html":"html","@storybook/web-components":"web-components","@storybook/polymer":"polymer","@storybook/ember":"ember","@storybook/marko":"marko","@storybook/mithril":"mithril","@storybook/riot":"riot","@storybook/svelte":"svelte","@storybook/preact":"preact","@storybook/rax":"rax","@storybook/server":"server"},we=console,hr=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],xr=e=>{let[r,t,o]=hr(e,([a])=>ke[a]),[n,s]=r||t||o||[],p=n?ke[n]:void 0;return r&&t&&r[0]===t[0]&&we.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&we.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},vr=["ts","js","tsx","jsx","mjs","cjs"],X=(e,r)=>{let t=Oe.default.join(r,e),o=vr.find(n=>Re.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Cr=e=>{var o;let r=".storybook",t=(o=e.scripts)==null?void 0:o.storybook;if(t){let n=G(t,"-c","--config-dir");n&&(r=n)}return{configDir:r,mainConfig:X("main",r),previewConfig:X("preview",r),managerConfig:X("manager",r)}},Pr=e=>{let r=xr(e),t=Cr(e);return{...r,...t}};var Z=require("fs-extra"),I=require("path"),Ee=f(require("find-up")),$e=f(require("resolve-from")),Se=require("@storybook/node-logger"),je=async e=>{let r=await(0,Ee.default)("package.json",{cwd:e.configDir});if(!r)return{};let t=(0,I.dirname)(r),{dependencies:o=[],devDependencies:n=[]}=await(0,Z.readJSON)(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async a=>{try{let m=(0,$e.default)(t,(0,I.join)(a,"package.json")),{storybook:c,name:i,version:l}=await(0,Z.readJSON)(m)||{};if(c!=null&&c.url)return{id:i,...c,version:l}}catch(m){if(m.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;Se.logger.warn(`unable to find package.json for ${a}`);return}}))).filter(Boolean).reduce((a,m)=>({...a,[m.id]:{id:m.id.toLowerCase(),url:Ae(m.url),title:m.title,version:m.version}}),{})},kr=e=>fetch(`${e}/iframe.html`).then(async({ok:r,status:t})=>{if(r){if(t!==200)return!1;let o=await fetch(`${e}/iframe.html`,{headers:{Accept:"application/json"}});if(o.ok&&(await o.json().catch(n=>({}))).loginUrl)return!1}return r},()=>!1),Ae=e=>e.replace(/\/$/,""),wr=e=>{let r=e.replace(/[A-Z]/g,t=>` ${t}`).replace(/[-_][A-Z]/gi,t=>` ${t.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${r.substring(0,1).toUpperCase()}${r.substring(1)}`.trim()};async function Or(e){let r=await e.presets.apply("refs",await je(e));return Object.entries(r).forEach(([t,o])=>{if(o.disable){delete r[t];return}r[t.toLowerCase()]={...o,id:t.toLowerCase(),title:o.title||wr(o.id||t),url:Ae(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await kr(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}var _e=require("picomatch");function Q(e){let r=(0,_e.makeRe)(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!r.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${r}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",r.source.substring(1)].join("")):r}var Ie=f(require("handlebars"));function Rr(e,r){return Ie.default.compile(e)(r)}var Er=(e,r)=>Object.entries(r).reduce((t,[o,n])=>{let s=n.replace(/\\/g,"/").replace(/\$/g,"$$$");return t.replace(new RegExp(`{{${o}}}`,"g"),s)},e);var Fe=f(require("path"));function $r({configDir:e}){return v(e),b(Fe.default.resolve(e,"main"))}var F=f(require("path")),Ne=require("@storybook/node-logger"),Te=require("ts-dedent");function Sr({configDir:e}){let r=g(F.default.resolve(e,"addons")),t=g(F.default.resolve(e,"manager"));if((r||t)&&Ne.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Te.dedent`
17
17
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${F.default.resolve(e,"addons")})`);return t||r}var N=f(require("path")),De=require("ts-dedent");function jr({configDir:e}){let r=g(N.default.resolve(e,"config")),t=g(N.default.resolve(e,"preview"));if(r&&t)throw new Error(De.dedent`
18
18
  You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${N.default.resolve(e,"config")})`);return t||r}var Le=f(require("chalk"));function Ar(e,r){console.log(Le.default.cyan(e)),console.dir(r,{depth:null})}var He=f(require("fs")),x=f(require("path")),Je=require("picomatch"),ee=f(require("slash"));var T="",Me="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",_r=(e,r)=>{try{return He.default.lstatSync(x.default.resolve(e,r)).isDirectory()}catch{return!1}},Ue=({configDir:e,workingDir:r,directory:t})=>{let o=x.default.resolve(e,t),n=x.default.relative(r,o);return Y(n)},ze=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let m=(0,Je.scan)(e);if(m.isGlob){let c=m.prefix+m.base,i=m.glob;o={titlePrefix:T,directory:c,files:i}}else _r(r,e)?o={titlePrefix:T,directory:e,files:Me}:o={titlePrefix:T,directory:x.default.dirname(e),files:x.default.basename(e)}}else o={titlePrefix:T,files:Me,...e};let n=(0,ee.default)(o.files),{directory:s}=o,p=(0,ee.default)(Ue({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),a=Q(`${p}/${n}`);return{...o,directory:p,importPathMatcher:a}},Ir=(e,r)=>e.map(t=>ze(t,r));var Be=f(require("pretty-hrtime")),qe=e=>(0,Be.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Fr=async(e,r,t)=>{var m;let o=0,n,s=()=>{};e.get("/progress",(c,i)=>{let l=!1,d=()=>{l=!0,i.end()};i.on("close",d),!(l||i.writableEnded)&&(i.setHeader("Cache-Control","no-cache"),i.setHeader("Content-Type","text/event-stream"),i.setHeader("Connection","keep-alive"),i.flushHeaders(),s=u=>{l||i.writableEnded||(i.write(`data: ${JSON.stringify(u)}
19
19
 
package/dist/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- var b=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(r,t)=>(typeof require!="undefined"?require:r)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var i={};import{dedent as be}from"ts-dedent";import{logger as v}from"@storybook/node-logger";import{dirname as xe}from"path";import j from"path";import M from"fs";var R=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function le(){return[...Array.from(R)]}var H=le();function g(e){return H.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>M.existsSync(r))}function J(e){return H.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>M.existsSync(r.path))}var U=!1;function S(e){if(U===!1){let{register:o}=b("esbuild-register/dist/node");U=!0,o({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!1,tsconfigRaw:`{
1
+ var h=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(r,t)=>(typeof require!="undefined"?require:r)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var i={};import{dedent as he}from"ts-dedent";import{logger as v}from"@storybook/node-logger";import{dirname as xe}from"path";import j from"path";import M from"fs";var R=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function le(){return[...Array.from(R)]}var H=le();function g(e){return H.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>M.existsSync(r))}function J(e){return H.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>M.existsSync(r.path))}var U=!1;function S(e){if(U===!1){let{register:o}=h("esbuild-register/dist/node");U=!0,o({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!1,tsconfigRaw:`{
2
2
  "compilerOptions": {
3
3
  "strict": false,
4
4
  "skipLibCheck": true,
5
5
  },
6
- }`})}let r=b(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function ue(e){for(let r=0;r<e.length;r+=1){let t=J(e[r]);if(t)return t}}function x(e){let r=$(e);return r?S(r):null}function $(e){let r=Array.isArray(e)?e:[e],t=ue(r);return t?t.path:null}import{dedent as ge}from"ts-dedent";import ye from"glob";import z from"path";function k(e){let r=`{${Array.from(R).join(",")}}`;if(!(n=>!!ye.sync(z.resolve(e,`${n}${r}`)).length)("main"))throw new Error(ge`
6
+ }`})}let r=h(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function ue(e){for(let r=0;r<e.length;r+=1){let t=J(e[r]);if(t)return t}}function x(e){let r=$(e);return r?S(r):null}function $(e){let r=Array.isArray(e)?e:[e],t=ue(r);return t?t.path:null}import{dedent as ge}from"ts-dedent";import ye from"glob";import z from"path";function k(e){let r=`{${Array.from(R).join(",")}}`;if(!(n=>!!ye.sync(z.resolve(e,`${n}${r}`)).length)("main"))throw new Error(ge`
7
7
  No configuration files have been found in your configDir (${z.resolve(e)}).
8
8
  Storybook needs either a "main" or "config" file.
9
- `)}function B({configDir:e}){k(e);let r=x(j.resolve(e,"presets"));if(x(j.resolve(e,"main"))){let o=$(j.resolve(e,"main"));if(o)return[o]}return r||[]}import he from"resolve-from";var q=(e,r)=>{try{return he(e,r)}catch{return}},W=e=>{try{return b.resolve(e)}catch{return}};var C=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,ve=e=>typeof e=="function";function Ce(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function Y(e,r,t){return ve(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var Pe=(e,r,t)=>{let o=r.startsWith("/")?W:q.bind(null,e),n=o(r);if(n){if(r.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:r,managerEntries:[n]};if(r.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:n}}let s=n&&o(`${r}/package.json`),m=s&&xe(s),c=u=>{if(o(`${r}${u}`))return`${m}${u}`},f=r,a=c("/manager"),p=c("/register")||c("/register-panel"),d=c("/preview"),l=o(`${f}/preset`);if(!(a||d)&&l)return{type:"presets",name:l};if(a||p||d||l){let u=[];return a&&u.push(a),!a&&p&&!l&&u.push(p),{type:"virtual",name:f,...u.length?{managerEntries:u}:{},...d?{previewAnnotations:[d]}:{},...l?{presets:[{name:l,options:t}]}:{}}}if(n)return{type:"presets",name:n}},ke=({configDir:e})=>r=>{let t=C(r)&&r.options||void 0,o=C(r)?r.name:r;try{let n=Pe(e,o,t);return{...t?{options:t}:{},...n}}catch{v.error(`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/react/addons/writing-presets/
10
- ${r}`)}};async function we(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return S(r)}async function Oe(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await we(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return await w(s,r+1,t);if(C(s)){let{addons:m,presets:c,...f}=s,a=Y(c,n,t),p=Y(m,n,t);return[...await w([...a],r+1,t),...await w([...p.map(ke(t))].filter(Boolean),r+1,t),{name:o,preset:f,options:n}]}throw new Error(be`
9
+ `)}function B({configDir:e}){k(e);let r=x(j.resolve(e,"presets"));if(x(j.resolve(e,"main"))){let o=$(j.resolve(e,"main"));if(o)return[o]}return r||[]}import be from"resolve-from";var q=(e,r)=>{try{return be(e,r)}catch{return}},W=e=>{try{return h.resolve(e)}catch{return}};var C=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,ve=e=>typeof e=="function";function Ce(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function Y(e,r,t){return ve(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var Pe=(e,r,t)=>{let o=r.startsWith("/")?W:q.bind(null,e),n=o(r);if(n){if(r.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:r,managerEntries:[n]};if(r.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:n}}let s=n&&o(`${r}/package.json`),m=s&&xe(s),c=u=>{if(o(`${r}${u}`))return`${m}${u}`},f=r,a=c("/manager"),p=c("/register")||c("/register-panel"),d=c("/preview"),l=o(`${f}/preset`);if(!(a||d)&&l)return{type:"presets",name:l};if(a||p||d||l){let u=[];return a&&u.push(a),!a&&p&&!l&&u.push(p),{type:"virtual",name:f,...u.length?{managerEntries:u}:{},...d?{previewAnnotations:[d]}:{},...l?{presets:[{name:l,options:t}]}:{}}}if(n)return{type:"presets",name:n}},ke=({configDir:e})=>r=>{let t=C(r)&&r.options||void 0,o=C(r)?r.name:r;try{let n=Pe(e,o,t);return{...t?{options:t}:{},...n}}catch{v.error(`Addon value should end in /manager or /preview or /register OR it should be a valid preset https://storybook.js.org/docs/react/addons/writing-presets/
10
+ ${r}`)}};async function we(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return S(r)}async function Oe(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await we(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return await w(s,r+1,t);if(C(s)){let{addons:m,presets:c,...f}=s,a=Y(c,n,t),p=Y(m,n,t);return[...await w([...a],r+1,t),...await w([...p.map(ke(t))].filter(Boolean),r+1,t),{name:o,preset:f,options:n}]}throw new Error(he`
11
11
  ${e} is not a valid preset
12
- `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return v.warn(n),v.error(o),[]}}async function w(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||v.info("=> Loading presets"),(await Promise.all(e.map(async o=>Oe(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function K(e,r,t,o,n){let s=new Promise(m=>m(t));return e.length?e.reduce((m,{preset:c,options:f})=>{let a=c[r];if(!a)return m;if(typeof a=="function"){let p=a,d={preset:c,combinedOptions:{...n,...o,...f,presetsList:e,presets:{apply:async(l,u,h={})=>K(e,l,u,h,n)}}};return m.then(l=>p.call(d.preset,l,d.combinedOptions))}return m.then(p=>Array.isArray(p)&&Array.isArray(a)?[...p,...a]:C(p)&&C(a)?{...p,...a}:a)},s):s}async function Ee(e,r){let t=await w(e,0,r);return{apply:async(o,n,s={})=>K(t,o,n,s,r)}}async function Ir(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...B(e),...t],s=Ce(n);return s.length<n.length&&v.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ee(s,o)}import Re from"file-system-cache";function A(e){return Re(e)}import _ from"path";import Se from"pkg-dir";function V(e){let r=process.cwd(),t=Se.sync(r),o;return t?o=_.resolve(t,"node_modules/.cache/storybook"):o=_.resolve(r,".cache/storybook"),_.join(o,e)}var Ur=A({basePath:V("dev-server"),ns:"storybook"});import{logger as I}from"@storybook/node-logger";var N=e=>r=>{let t=r.name||r;return t&&t.includes(e)},$e=(e,r,t)=>{let o=e.findIndex(N("@storybook/addon-essentials")),n=e.findIndex(N(r.name)),s=e.findIndex(N(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},qr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){I.warn("Unable to find 'addons' config in main Storybook config");return}if(!$e(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",m=`'${e.name}'${e.inEssentials?s:""}`,c=`'${r.name}'${r.inEssentials?s:""}`;I.warn(`Expected ${m} to be listed before ${c} in main Storybook config.`)}}catch{I.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as Ae}from"lazy-universal-dotenv";import O from"path";import G from"find-up";var Vr=()=>{let e;try{let r=G.sync(".git",{type:"directory"});r&&(e=e||O.join(r,".."))}catch{}try{let r=G.sync(".svn",{type:"directory"});r&&(e=e||O.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},X=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>O.resolve("./",r)),je=/^\.{1,2}([/\\]|$)/;function Z(e){return je.test(e)?e:`.${O.sep}${e}`}function Qr(e={}){let r=e.production?"production":"development",t={NODE_ENV:"production",NODE_PATH:i.NODE_PATH||"",STORYBOOK:i.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(i).filter(c=>/^STORYBOOK_/.test(c)).forEach(c=>{t[c]=i[c]});let o=Object.entries(t).reduce((c,[f,a])=>Object.assign(c,{[f]:JSON.stringify(a)}),{}),{stringified:n,raw:s}=Ae({nodeEnv:t.NODE_ENV}),m={...t,...s};return m.NODE_PATH=X(m.NODE_PATH||""),{stringified:{...o,...n},raw:m}}var et=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),rt=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});import Q from"path";import{sync as _e}from"find-up";var st=(e,r)=>{let t=_e("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=Q.dirname(t);return Q.join(o,"dist","esm",r)};import{dedent as Ie}from"ts-dedent";async function ee(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Ie`
12
+ `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return v.warn(n),v.error(o),[]}}async function w(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||v.info("=> Loading presets"),(await Promise.all(e.map(async o=>Oe(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function K(e,r,t,o,n){let s=new Promise(m=>m(t));return e.length?e.reduce((m,{preset:c,options:f})=>{let a=c[r];if(!a)return m;if(typeof a=="function"){let p=a,d={preset:c,combinedOptions:{...n,...o,...f,presetsList:e,presets:{apply:async(l,u,b={})=>K(e,l,u,b,n)}}};return m.then(l=>p.call(d.preset,l,d.combinedOptions))}return m.then(p=>Array.isArray(p)&&Array.isArray(a)?[...p,...a]:C(p)&&C(a)?{...p,...a}:a)},s):s}async function Ee(e,r){let t=await w(e,0,r);return{apply:async(o,n,s={})=>K(t,o,n,s,r)}}async function Ir(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...B(e),...t],s=Ce(n);return s.length<n.length&&v.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ee(s,o)}import Re from"file-system-cache";function A(e){return Re(e)}import _ from"path";import Se from"pkg-dir";function V(e){let r=process.cwd(),t=Se.sync(r),o;return t?o=_.resolve(t,"node_modules/.cache/storybook"):o=_.resolve(r,".cache/storybook"),_.join(o,e)}var Ur=A({basePath:V("dev-server"),ns:"storybook"});import{logger as I}from"@storybook/node-logger";var N=e=>r=>{let t=r.name||r;return t&&t.includes(e)},$e=(e,r,t)=>{let o=e.findIndex(N("@storybook/addon-essentials")),n=e.findIndex(N(r.name)),s=e.findIndex(N(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},qr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){I.warn("Unable to find 'addons' config in main Storybook config");return}if(!$e(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",m=`'${e.name}'${e.inEssentials?s:""}`,c=`'${r.name}'${r.inEssentials?s:""}`;I.warn(`Expected ${m} to be listed before ${c} in main Storybook config.`)}}catch{I.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as Ae}from"lazy-universal-dotenv";import O from"path";import G from"find-up";var Vr=()=>{let e;try{let r=G.sync(".git",{type:"directory"});r&&(e=e||O.join(r,".."))}catch{}try{let r=G.sync(".svn",{type:"directory"});r&&(e=e||O.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},X=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>O.resolve("./",r)),je=/^\.{1,2}([/\\]|$)/;function Z(e){return je.test(e)?e:`.${O.sep}${e}`}function Qr(e={}){let r=e.production?"production":"development",t={NODE_ENV:"production",NODE_PATH:i.NODE_PATH||"",STORYBOOK:i.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(i).filter(c=>/^STORYBOOK_/.test(c)).forEach(c=>{t[c]=i[c]});let o=Object.entries(t).reduce((c,[f,a])=>Object.assign(c,{[f]:JSON.stringify(a)}),{}),{stringified:n,raw:s}=Ae({nodeEnv:t.NODE_ENV}),m={...t,...s};return m.NODE_PATH=X(m.NODE_PATH||""),{stringified:{...o,...n},raw:m}}var et=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),rt=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});import Q from"path";import{sync as _e}from"find-up";var st=(e,r)=>{let t=_e("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=Q.dirname(t);return Q.join(o,"dist","esm",r)};import{dedent as Ie}from"ts-dedent";async function ee(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Ie`
13
13
  You must specify a framework in '.storybook/main.js' config.
14
14
 
15
15
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
@@ -17,7 +17,7 @@ ${r}`)}};async function we(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;r
17
17
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${T.resolve(e,"addons")})`);return t||r}import D from"path";import{dedent as Qe}from"ts-dedent";function Wt({configDir:e}){let r=g(D.resolve(e,"config")),t=g(D.resolve(e,"preview"));if(r&&t)throw new Error(Qe`
18
18
  You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${D.resolve(e,"config")})`);return t||r}import er from"chalk";function Vt(e,r){console.log(er.cyan(e)),console.dir(r,{depth:null})}import rr from"fs";import P from"path";import{scan as tr}from"picomatch";import ae from"slash";var E="",ce="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",or=(e,r)=>{try{return rr.lstatSync(P.resolve(e,r)).isDirectory()}catch{return!1}},nr=({configDir:e,workingDir:r,directory:t})=>{let o=P.resolve(e,t),n=P.relative(r,o);return Z(n)},sr=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let f=tr(e);if(f.isGlob){let a=f.prefix+f.base,p=f.glob;o={titlePrefix:E,directory:a,files:p}}else or(r,e)?o={titlePrefix:E,directory:e,files:ce}:o={titlePrefix:E,directory:P.dirname(e),files:P.basename(e)}}else o={titlePrefix:E,files:ce,...e};let n=ae(o.files),{directory:s}=o,m=ae(nr({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),c=ie(`${m}/${n}`);return{...o,directory:m,importPathMatcher:c}},oo=(e,r)=>e.map(t=>sr(t,r));import ir from"pretty-hrtime";var fe=e=>ir(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var co=async(e,r,t)=>{let o=0,n,s=()=>{};e.get("/progress",(f,a)=>{let p=!1,d=()=>{p=!0,a.end()};a.on("close",d),!(p||a.writableEnded)&&(a.setHeader("Cache-Control","no-cache"),a.setHeader("Content-Type","text/event-stream"),a.setHeader("Connection","keep-alive"),a.flushHeaders(),s=l=>{p||a.writableEnded||(a.write(`data: ${JSON.stringify(l)}
19
19
 
20
- `),a.flush(),l.value===1&&d())})});let m=(f,a,p)=>{o=Math.max(f,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let l=p&&p.match(/(\d+)\/(\d+)/)||[],u=parseInt(l[1],10),h=parseInt(l[2],10);!Number.isNaN(u)&&!Number.isNaN(h)&&(d.modules={complete:u,total:h},n=h)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${fe(r)}.`)),s(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:m,modulesCount:c}};import ar from"fs-extra";async function po(e){return ar.readFile(e,{encoding:"utf8"})}function uo(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=i;return!!r||e?.includes("--preserve-symlinks")}import me from"path";import{sync as L}from"pkg-dir";import y from"fs";var pe=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function xo(e,r){let t=y.readFileSync(`${L(__dirname)}/templates/base-preview-body.html`,"utf8"),o=me.resolve(e,"preview-body.html"),n=t;return y.existsSync(o)&&(n=y.readFileSync(o,"utf8")+n),pe(n,r)}function vo(e,r){let t=y.readFileSync(`${L(__dirname)}/templates/base-preview-head.html`,"utf8"),o=me.resolve(e,"preview-head.html"),n=t;return y.existsSync(o)&&(n+=y.readFileSync(o,"utf8")),pe(n,r)}function Co(){return`${L(__dirname)}/templates/preview.ejs`}import{dedent as cr}from"ts-dedent";var fr=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function wo(e){if(fr.includes(e))throw new Error(cr`
20
+ `),a.flush(),l.value===1&&d())})});let m=(f,a,p)=>{o=Math.max(f,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let l=p&&p.match(/(\d+)\/(\d+)/)||[],u=parseInt(l[1],10),b=parseInt(l[2],10);!Number.isNaN(u)&&!Number.isNaN(b)&&(d.modules={complete:u,total:b},n=b)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${fe(r)}.`)),s(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:m,modulesCount:c}};import ar from"fs-extra";async function po(e){return ar.readFile(e,{encoding:"utf8"})}function uo(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=i;return!!r||e?.includes("--preserve-symlinks")}import me from"path";import{sync as L}from"pkg-dir";import y from"fs";var pe=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function xo(e,r){let t=y.readFileSync(`${L(__dirname)}/templates/base-preview-body.html`,"utf8"),o=me.resolve(e,"preview-body.html"),n=t;return y.existsSync(o)&&(n=y.readFileSync(o,"utf8")+n),pe(n,r)}function vo(e,r){let t=y.readFileSync(`${L(__dirname)}/templates/base-preview-head.html`,"utf8"),o=me.resolve(e,"preview-head.html"),n=t;return y.existsSync(o)&&(n+=y.readFileSync(o,"utf8")),pe(n,r)}function Co(){return`${L(__dirname)}/templates/preview.ejs`}import{dedent as cr}from"ts-dedent";var fr=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function wo(e){if(fr.includes(e))throw new Error(cr`
21
21
  Invalid value of ${e} in the 'framework' field of Storybook config.
22
22
 
23
23
  Please run 'npx sb@next automigrate'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/core-common",
3
- "version": "7.0.0-alpha.45",
3
+ "version": "7.0.0-alpha.46",
4
4
  "description": "Storybook framework-agnostic API",
5
5
  "keywords": [
6
6
  "storybook"
@@ -47,8 +47,8 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@babel/core": "^7.12.10",
50
- "@storybook/node-logger": "7.0.0-alpha.45",
51
- "@storybook/types": "7.0.0-alpha.45",
50
+ "@storybook/node-logger": "7.0.0-alpha.46",
51
+ "@storybook/types": "7.0.0-alpha.46",
52
52
  "@types/babel__core": "^7.0.0",
53
53
  "@types/express": "^4.7.0",
54
54
  "@types/node": "^16.0.0",
@@ -97,5 +97,5 @@
97
97
  ],
98
98
  "platform": "node"
99
99
  },
100
- "gitHead": "3ef14366115c56c1d45c0359ff681cc47ed50532"
100
+ "gitHead": "c64b5be851ed2affac56e1daaac3f453fbe6f230"
101
101
  }