@storybook/core-common 7.0.0-alpha.34 → 7.0.0-alpha.37

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,32 +1,30 @@
1
- "use strict";var Xe=Object.create;var C=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var er=Object.getPrototypeOf,rr=Object.prototype.hasOwnProperty;var tr=(e,r)=>{for(var t in r)C(e,t,{get:r[t],enumerable:!0})},oe=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Qe(r))!rr.call(e,n)&&n!==t&&C(e,n,{get:()=>r[n],enumerable:!(o=Ze(r,n))||o.enumerable});return e};var f=(e,r,t)=>(t=e!=null?Xe(er(e)):{},oe(r||!e||!e.__esModule?C(t,"default",{value:e,enumerable:!0}):t,e)),or=e=>oe(C({},"__esModule",{value:!0}),e);var Hr={};tr(Hr,{boost:()=>E,cache:()=>Fr,checkAddonOrder:()=>mr,createFileSystemCache:()=>D,filterPresetsConfig:()=>ge,findDistEsm:()=>qr,getAutoRefs:()=>Se,getDirectoryFromWorkingDir:()=>We,getFrameworkName:()=>vr,getInterpretedFile:()=>u,getInterpretedFileWithExt:()=>J,getPresets:()=>be,getPreviewBodyTemplate:()=>Nr,getPreviewHeadTemplate:()=>Tr,getPreviewMainTemplate:()=>Dr,getProjectRoot:()=>lr,getRefs:()=>$r,getStorybookConfiguration:()=>V,getStorybookInfo:()=>Rr,globToRegexp:()=>ee,handlebars:()=>br,interopRequireDefault:()=>$,interpolate:()=>Lr,isPreservingSymlinks:()=>zr,loadAllPresets:()=>pr,loadCustomPresets:()=>q,loadEnvs:()=>ur,loadMainConfig:()=>xr,loadManagerOrAddonsFile:()=>jr,loadPreset:()=>ye,loadPreviewOrConfigFile:()=>Sr,logConfig:()=>Ar,nodePathsToArray:()=>W,normalizeStories:()=>Jr,normalizeStoriesEntry:()=>Ge,normalizeStoryPath:()=>G,readTemplate:()=>Ur,resolveAddonName:()=>ue,resolvePathInStorybookCache:()=>Z,serverRequire:()=>h,serverResolve:()=>j,stringifyEnvs:()=>yr,stringifyProcessEnvs:()=>hr,useProgressReporting:()=>Ir,validateConfigurationFiles:()=>w});module.exports=or(Hr);var me=require("ts-dedent"),x=require("@storybook/node-logger"),le=require("path");var S=f(require("path"));var B=f(require("fs")),E=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function nr(){return[...Array.from(E)]}var ne=nr();function u(e){return ne.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>B.default.existsSync(r))}function J(e){return ne.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>B.default.existsSync(r.path))}var se=!1;function $(e){if(se===!1){let{register:o}=require("esbuild-register/dist/node");se=!0,o({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!1,tsconfigRaw:`{
1
+ "use strict";var Ke=Object.create;var R=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)R(e,t,{get:r[t],enumerable:!0})},oe=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Xe(r))!Qe.call(e,n)&&n!==t&&R(e,n,{get:()=>r[n],enumerable:!(o=Ge(r,n))||o.enumerable});return e};var f=(e,r,t)=>(t=e!=null?Ke(Ze(e)):{},oe(r||!e||!e.__esModule?R(t,"default",{value:e,enumerable:!0}):t,e)),rr=e=>oe(R({},"__esModule",{value:!0}),e);var Ur={};er(Ur,{boost:()=>E,cache:()=>Ar,checkAddonOrder:()=>pr,createFileSystemCache:()=>D,filterPresetsConfig:()=>ge,findDistEsm:()=>Mr,getAutoRefs:()=>Se,getDirectoryFromWorkingDir:()=>He,getFrameworkName:()=>br,getInterpretedFile:()=>u,getInterpretedFileWithExt:()=>U,getPresets:()=>be,getPreviewBodyTemplate:()=>Ir,getPreviewHeadTemplate:()=>Fr,getPreviewMainTemplate:()=>Nr,getProjectRoot:()=>dr,getRefs:()=>Rr,getStorybookConfiguration:()=>K,getStorybookInfo:()=>kr,globToRegexp:()=>ee,handlebars:()=>yr,interopRequireDefault:()=>$,interpolate:()=>Tr,isPreservingSymlinks:()=>Jr,loadAllPresets:()=>cr,loadCustomPresets:()=>z,loadEnvs:()=>lr,loadMainConfig:()=>hr,loadManagerOrAddonsFile:()=>Er,loadPreset:()=>ye,loadPreviewOrConfigFile:()=>$r,logConfig:()=>jr,nodePathsToArray:()=>Y,normalizeStories:()=>Lr,normalizeStoriesEntry:()=>We,normalizeStoryPath:()=>V,readTemplate:()=>_r,resolveAddonName:()=>ue,resolvePathInStorybookCache:()=>Z,serverRequire:()=>h,serverResolve:()=>j,stringifyEnvs:()=>gr,stringifyProcessEnvs:()=>ur,useProgressReporting:()=>Sr,validateConfigurationFiles:()=>w});module.exports=rr(Ur);var me=require("ts-dedent"),x=require("@storybook/node-logger"),le=require("path");var S=f(require("path"));var J=f(require("fs")),E=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function tr(){return[...Array.from(E)]}var ne=tr();function u(e){return ne.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>J.default.existsSync(r))}function U(e){return ne.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>J.default.existsSync(r.path))}var se=!1;function $(e){if(se===!1){let{register:o}=require("esbuild-register/dist/node");se=!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 sr(e){for(let r=0;r<e.length;r+=1){let t=J(e[r]);if(t)return t}}function h(e){let r=j(e);return r?$(r):null}function j(e){let r=Array.isArray(e)?e:[e],t=sr(r);return t?t.path:null}var P=require("ts-dedent"),ie=f(require("util-deprecate")),ae=f(require("glob")),b=f(require("path"));var ir=(0,ie.default)(()=>{},P.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=U(e[r]);if(t)return t}}function h(e){let r=j(e);return r?$(r):null}function j(e){let r=Array.isArray(e)?e:[e],t=or(r);return t?t.path:null}var P=require("ts-dedent"),ie=f(require("util-deprecate")),ae=f(require("glob")),b=f(require("path"));var nr=(0,ie.default)(()=>{},P.dedent`
7
7
  Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0.
8
8
  Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
9
- `),U=(e,r,t)=>{let o=b.default.resolve(t,e),n=b.default.resolve(t,r);throw new Error(P.dedent`
9
+ `),q=(e,r,t)=>{let o=b.default.resolve(t,e),n=b.default.resolve(t,r);throw new Error(P.dedent`
10
10
  You have mixing configuration files:
11
11
  ${o}
12
12
  ${n}
13
13
  "${e}" and "${r}" cannot coexist.
14
14
  Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
15
- `)};function w(e){let r=`{${Array.from(E).join(",")}}`,t=i=>!!ae.default.sync(b.default.resolve(e,`${i}${r}`)).length,o=t("main"),n=t("config");if(!o&&!n)throw new Error(P.dedent`
15
+ `)};function w(e){let r=`{${Array.from(E).join(",")}}`,t=c=>!!ae.default.sync(b.default.resolve(e,`${c}${r}`)).length,o=t("main"),n=t("config");if(!o&&!n)throw new Error(P.dedent`
16
16
  No configuration files have been found in your configDir (${b.default.resolve(e)}).
17
17
  Storybook needs either a "main" or "config" file.
18
18
  `);if(o&&n)throw new Error(P.dedent`
19
- You have both a "main" and a "config". Please remove the "config" file from your configDir (${b.default.resolve(e,"config")})`);let s=t("presets");o&&s&&U("main","presets",e),t("preview")&&n&&U("preview","config",e);let a=t("addons");t("manager")&&a&&U("manager","addons",e),(s||n||a)&&ir()}function q({configDir:e}){w(e);let r=h(S.default.resolve(e,"presets"));if(h(S.default.resolve(e,"main"))){let o=j(S.default.resolve(e,"main"));if(o)return[o]}return r||[]}var ce=f(require("resolve-from")),fe=(e,r)=>{try{return(0,ce.default)(e,r)}catch{return}},pe=e=>{try{return require.resolve(e)}catch{return}};var k=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,ar=e=>typeof e=="function";function ge(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function de(e,r,t){return ar(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var ue=(e,r,t)=>{let o=r.startsWith("/")?pe:fe.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,le.dirname)(s),a=g=>{if(o(`${r}${g}`))return`${p}${g}`},d=r,i=a("/manager"),c=a("/register")||a("/register-panel"),m=a("/preview"),l=o(`${d}/preset`);if(!(i||m)&&l)return{type:"presets",name:l};if(i||c||m||l){let g=[];return i&&g.push(i),!i&&c&&!l&&g.push(c),{type:"virtual",name:d,...g.length?{managerEntries:g}:{},...m?{previewAnnotations:[m]}:{},...l?{presets:[{name:l,options:t}]}:{}}}if(n)return{type:"presets",name:n}},cr=({configDir:e})=>r=>{let t=k(r)&&r.options||void 0,o=k(r)?r.name:r;try{let n=ue(e,o,t);return{...t?{options:t}:{},...n}}catch{x.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/
20
- ${r}`)}};async function fr(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return $(r)}async function ye(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await fr(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return A(s,r+1,t);if(k(s)){let{addons:p,presets:a,...d}=s,i=de(a,n,t),c=de(p,n,t);return[...await A([...i],r+1,t),...await A([...c.map(cr(t))].filter(Boolean),r+1,t),{name:o,preset:d,options:n}]}throw new Error(me.dedent`
19
+ You have both a "main" and a "config". Please remove the "config" file from your configDir (${b.default.resolve(e,"config")})`);let s=t("presets");o&&s&&q("main","presets",e),t("preview")&&n&&q("preview","config",e);let i=t("addons");t("manager")&&i&&q("manager","addons",e),(s||n||i)&&nr()}function z({configDir:e}){w(e);let r=h(S.default.resolve(e,"presets"));if(h(S.default.resolve(e,"main"))){let o=j(S.default.resolve(e,"main"));if(o)return[o]}return r||[]}var ce=f(require("resolve-from")),fe=(e,r)=>{try{return(0,ce.default)(e,r)}catch{return}},pe=e=>{try{return require.resolve(e)}catch{return}};var k=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,sr=e=>typeof e=="function";function ge(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function de(e,r,t){return sr(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var ue=(e,r,t)=>{let o=r.startsWith("/")?pe:fe.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,le.dirname)(s),i=g=>{if(o(`${r}${g}`))return`${p}${g}`},d=r,c=i("/manager"),a=i("/register")||i("/register-panel"),l=i("/preview"),m=o(`${d}/preset`);if(!(c||l)&&m)return{type:"presets",name:m};if(c||a||l||m){let g=[];return c&&g.push(c),!c&&a&&!m&&g.push(a),{type:"virtual",name:d,...g.length?{managerEntries:g}:{},...l?{previewAnnotations:[l]}:{},...m?{presets:[{name:m,options:t}]}:{}}}if(n)return{type:"presets",name:n}},ir=({configDir:e})=>r=>{let t=k(r)&&r.options||void 0,o=k(r)?r.name:r;try{let n=ue(e,o,t);return{...t?{options:t}:{},...n}}catch{x.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/
20
+ ${r}`)}};async function ar(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return $(r)}async function ye(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await ar(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return A(s,r+1,t);if(k(s)){let{addons:p,presets:i,...d}=s,c=de(i,n,t),a=de(p,n,t);return[...await A([...c],r+1,t),...await A([...a.map(ir(t))].filter(Boolean),r+1,t),{name:o,preset:d,options:n}]}throw new Error(me.dedent`
21
21
  ${e} is not a valid preset
22
- `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return x.logger.warn(n),x.logger.error(o),[]}}async function A(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||x.logger.info("=> Loading presets"),(await Promise.all(e.map(async o=>ye(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function he(e,r,t,o,n){let s=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:a,options:d})=>{let i=a[r];if(!i)return p;if(typeof i=="function"){let c=i,m={preset:a,combinedOptions:{...n,...o,...d,presetsList:e,presets:{apply:async(l,g,R={})=>he(e,l,g,R,n)}}};return p.then(l=>c.call(m.preset,l,m.combinedOptions))}return p.then(c=>Array.isArray(c)&&Array.isArray(i)?[...c,...i]:k(c)&&k(i)?{...c,...i}:i)},s):s}async function be(e,r){let t=await A(e,0,r);return{apply:async(o,n,s={})=>he(t,o,n,s,r)}}async function pr(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...q(e),...t],s=ge(n);return s.length<n.length&&x.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),be(s,o)}var{logger:z}=require("@storybook/node-logger"),H=e=>r=>{let t=r.name||r;return t&&t.includes(e)},dr=(e,r,t)=>{let o=e.findIndex(H("@storybook/addon-essentials")),n=e.findIndex(H(r.name)),s=e.findIndex(H(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)){z.warn("Unable to find 'addons' config in main Storybook config");return}if(!dr(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?s:""}`,a=`'${r.name}'${r.inEssentials?s:""}`;z.warn(`Expected ${p} to be listed before ${a} in main Storybook config.`)}}catch{z.warn(`Unable to load config file: ${t}`)}};var xe=require("lazy-universal-dotenv");var O=f(require("path")),Y=f(require("find-up")),lr=()=>{let e;try{let r=Y.default.sync(".git",{type:"directory"});r&&(e=e||O.default.join(r,".."))}catch{}try{let r=Y.default.sync(".svn",{type:"directory"});r&&(e=e||O.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=>O.default.resolve("./",r)),gr=/^\.{1,2}([/\\]|$)/;function G(e){return gr.test(e)?e:`.${O.default.sep}${e}`}function ur(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,[d,i])=>Object.assign(a,{[d]:JSON.stringify(i)}),{}),{stringified:n,raw:s}=(0,xe.getEnvironment)({nodeEnv:t.NODE_ENV}),p={...t,...s};return p.NODE_PATH=W(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var yr=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),hr=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});var ve=f(require("handlebars"));function br(e,r){return ve.default.compile(e)(r)}var Pe=f(require("path"));function xr({configDir:e}){return w(e),h(Pe.default.resolve(e,"main"))}var we=require("ts-dedent");async function vr(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(we.dedent`
22
+ `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return x.logger.warn(n),x.logger.error(o),[]}}async function A(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||x.logger.info("=> Loading presets"),(await Promise.all(e.map(async o=>ye(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function he(e,r,t,o,n){let s=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:i,options:d})=>{let c=i[r];if(!c)return p;if(typeof c=="function"){let a=c,l={preset:i,combinedOptions:{...n,...o,...d,presetsList:e,presets:{apply:async(m,g,C={})=>he(e,m,g,C,n)}}};return p.then(m=>a.call(l.preset,m,l.combinedOptions))}return p.then(a=>Array.isArray(a)&&Array.isArray(c)?[...a,...c]:k(a)&&k(c)?{...a,...c}:c)},s):s}async function be(e,r){let t=await A(e,0,r);return{apply:async(o,n,s={})=>he(t,o,n,s,r)}}async function cr(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...z(e),...t],s=ge(n);return s.length<n.length&&x.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),be(s,o)}var{logger:B}=require("@storybook/node-logger"),H=e=>r=>{let t=r.name||r;return t&&t.includes(e)},fr=(e,r,t)=>{let o=e.findIndex(H("@storybook/addon-essentials")),n=e.findIndex(H(r.name)),s=e.findIndex(H(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},pr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!(n!=null&&n.addons)){B.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:""}`,i=`'${r.name}'${r.inEssentials?s:""}`;B.warn(`Expected ${p} to be listed before ${i} in main Storybook config.`)}}catch{B.warn(`Unable to load config file: ${t}`)}};var xe=require("lazy-universal-dotenv");var O=f(require("path")),W=f(require("find-up")),dr=()=>{let e;try{let r=W.default.sync(".git",{type:"directory"});r&&(e=e||O.default.join(r,".."))}catch{}try{let r=W.default.sync(".svn",{type:"directory"});r&&(e=e||O.default.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},Y=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>O.default.resolve("./",r)),mr=/^\.{1,2}([/\\]|$)/;function V(e){return mr.test(e)?e:`.${O.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(i=>/^STORYBOOK_/.test(i)).forEach(i=>{t[i]=process.env[i]});let o=Object.entries(t).reduce((i,[d,c])=>Object.assign(i,{[d]:JSON.stringify(c)}),{}),{stringified:n,raw:s}=(0,xe.getEnvironment)({nodeEnv:t.NODE_ENV}),p={...t,...s};return p.NODE_PATH=Y(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var gr=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),ur=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});var ve=f(require("handlebars"));function yr(e,r){return ve.default.compile(e)(r)}var Pe=f(require("path"));function hr({configDir:e}){return w(e),h(Pe.default.resolve(e,"main"))}var we=require("ts-dedent");async function br(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(we.dedent`
23
23
  You must specify a framework in '.storybook/main.js' config.
24
24
 
25
25
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
26
- `);return typeof r=="object"?r.name:r}function V(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 Re=f(require("path")),Ce=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"},Oe=console,Pr=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],wr=e=>{let[r,t,o]=Pr(e,([a])=>ke[a]),[n,s]=r||t||o||[],p=n?ke[n]:void 0;return r&&t&&r[0]===t[0]&&Oe.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&Oe.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},kr=["ts","js","tsx","jsx","mjs","cjs"],K=(e,r)=>{let t=Re.default.join(r,e),o=kr.find(n=>Ce.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Or=e=>{var o;let r=".storybook",t=(o=e.scripts)==null?void 0:o.storybook;if(t){let n=V(t,"-c","--config-dir");n&&(r=n)}return{configDir:r,mainConfig:K("main",r),previewConfig:K("preview",r),managerConfig:K("manager",r)}},Rr=e=>{let r=wr(e),t=Or(e);return{...r,...t}};var X=require("fs-extra"),I=require("path"),Ee=f(require("find-up")),$e=f(require("resolve-from")),je=require("@storybook/node-logger"),Se=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,X.readJSON)(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async a=>{try{let d=(0,$e.default)(t,(0,I.join)(a,"package.json")),{storybook:i,name:c,version:m}=await(0,X.readJSON)(d)||{};if(i!=null&&i.url)return{id:c,...i,version:m}}catch{je.logger.warn(`unable to find package.json for ${a}`);return}}))).filter(Boolean).reduce((a,d)=>({...a,[d.id]:{id:d.id.toLowerCase(),url:Ae(d.url),title:d.title,version:d.version}}),{})},Cr=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(/\/$/,""),Er=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 $r(e){let r=await e.presets.apply("refs",await Se(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||Er(o.id||t),url:Ae(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await Cr(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}var F=f(require("path")),Ie=require("@storybook/node-logger"),Fe=require("ts-dedent");function jr({configDir:e}){let r=u(F.default.resolve(e,"addons")),t=u(F.default.resolve(e,"manager"));if((r||t)&&Ie.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Fe.dedent`
27
- 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")),Ne=require("ts-dedent");function Sr({configDir:e}){let r=u(N.default.resolve(e,"config")),t=u(N.default.resolve(e,"preview"));if(r&&t)throw new Error(Ne.dedent`
28
- 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 Te=f(require("chalk"));function Ar(e,r){console.log(Te.default.cyan(e)),console.dir(r,{depth:null})}var De=f(require("pretty-hrtime")),Le=e=>(0,De.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Ir=async(e,r,t)=>{var d;let o=0,n,s=()=>{};e.get("/progress",(i,c)=>{let m=!1,l=()=>{m=!0,c.end()};c.on("close",l),!(m||c.writableEnded)&&(c.setHeader("Cache-Control","no-cache"),c.setHeader("Content-Type","text/event-stream"),c.setHeader("Connection","keep-alive"),c.flushHeaders(),s=g=>{m||c.writableEnded||(c.write(`data: ${JSON.stringify(g)}
26
+ `);return typeof r=="object"?r.name:r}function K(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 Ce=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"},Oe=console,xr=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],vr=e=>{let[r,t,o]=xr(e,([i])=>ke[i]),[n,s]=r||t||o||[],p=n?ke[n]:void 0;return r&&t&&r[0]===t[0]&&Oe.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&Oe.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},Pr=["ts","js","tsx","jsx","mjs","cjs"],G=(e,r)=>{let t=Ce.default.join(r,e),o=Pr.find(n=>Re.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},wr=e=>{var o;let r=".storybook",t=(o=e.scripts)==null?void 0:o.storybook;if(t){let n=K(t,"-c","--config-dir");n&&(r=n)}return{configDir:r,mainConfig:G("main",r),previewConfig:G("preview",r),managerConfig:G("manager",r)}},kr=e=>{let r=vr(e),t=wr(e);return{...r,...t}};var X=require("fs-extra"),I=require("path"),Ee=f(require("find-up")),$e=f(require("resolve-from")),je=require("@storybook/node-logger"),Se=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,X.readJSON)(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async i=>{try{let d=(0,$e.default)(t,(0,I.join)(i,"package.json")),{storybook:c,name:a,version:l}=await(0,X.readJSON)(d)||{};if(c!=null&&c.url)return{id:a,...c,version:l}}catch{je.logger.warn(`unable to find package.json for ${i}`);return}}))).filter(Boolean).reduce((i,d)=>({...i,[d.id]:{id:d.id.toLowerCase(),url:Ae(d.url),title:d.title,version:d.version}}),{})},Or=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(/\/$/,""),Cr=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 Rr(e){let r=await e.presets.apply("refs",await Se(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||Cr(o.id||t),url:Ae(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await Or(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}var F=f(require("path")),Ie=require("@storybook/node-logger"),Fe=require("ts-dedent");function Er({configDir:e}){let r=u(F.default.resolve(e,"addons")),t=u(F.default.resolve(e,"manager"));if((r||t)&&Ie.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Fe.dedent`
27
+ 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")),Ne=require("ts-dedent");function $r({configDir:e}){let r=u(N.default.resolve(e,"config")),t=u(N.default.resolve(e,"preview"));if(r&&t)throw new Error(Ne.dedent`
28
+ 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 Te=f(require("chalk"));function jr(e,r){console.log(Te.default.cyan(e)),console.dir(r,{depth:null})}var De=f(require("pretty-hrtime")),Le=e=>(0,De.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Sr=async(e,r,t)=>{var d;let o=0,n,s=()=>{};e.get("/progress",(c,a)=>{let l=!1,m=()=>{l=!0,a.end()};a.on("close",m),!(l||a.writableEnded)&&(a.setHeader("Cache-Control","no-cache"),a.setHeader("Content-Type","text/event-stream"),a.setHeader("Connection","keep-alive"),a.flushHeaders(),s=g=>{l||a.writableEnded||(a.write(`data: ${JSON.stringify(g)}
29
29
 
30
- `),c.flush(),g.value===1&&l())})});let p=(i,c,m)=>{o=Math.max(i,o);let l={value:o,message:c.charAt(0).toUpperCase()+c.slice(1)};if(c==="building"){let g=m&&m.match(/(\d+)\/(\d+)/)||[],R=parseInt(g[1],10),M=parseInt(g[2],10);!Number.isNaN(R)&&!Number.isNaN(M)&&(l.modules={complete:R,total:M},n=M)}o===1&&(t.cache&&t.cache.set("modulesCount",n),l.message||(l.message=`Completed in ${Le(r)}.`)),s(l)},a=await((d=t.cache)==null?void 0:d.get("modulesCount").catch(()=>{}))||1e3;return{handler:p,modulesCount:a}};var T=f(require("path")),_e=f(require("pkg-dir"));function Z(e){let r=process.cwd(),t=_e.default.sync(r),o;return t?o=T.default.resolve(t,"node_modules/.cache/storybook"):o=T.default.resolve(r,".cache/storybook"),T.default.join(o,e)}var Me=f(require("file-system-cache"));function D(e){return(0,Me.default)(e)}var Fr=D({basePath:Z("dev-server"),ns:"storybook"});var Q=f(require("path")),L=require("pkg-dir"),y=f(require("fs")),Be=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Nr(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=Q.default.resolve(e,"preview-body.html"),n=t;return y.default.existsSync(o)&&(n=y.default.readFileSync(o,"utf8")+n),Be(n,r)}function Tr(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=Q.default.resolve(e,"preview-head.html"),n=t;return y.default.existsSync(o)&&(n+=y.default.readFileSync(o,"utf8")),Be(n,r)}function Dr(){return`${(0,L.sync)(__dirname)}/templates/preview.ejs`}var Lr=(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 Je=require("picomatch");function ee(e){let r=(0,Je.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 qe=f(require("fs")),v=f(require("path")),ze=f(require("util-deprecate")),He=require("ts-dedent"),Ye=require("picomatch"),re=f(require("slash"));var _="",Ue="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",_r=(0,ze.default)(e=>e.input.replace(e[1],`@${e[1]}`),He.dedent`
31
- You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
32
- `),Mr=e=>{let r=e.match(/\.(\([^)]+\))/);return r?_r(r):e},Br=(e,r)=>{try{return qe.default.lstatSync(v.default.resolve(e,r)).isDirectory()}catch{return!1}},We=({configDir:e,workingDir:r,directory:t})=>{let o=v.default.resolve(e,t),n=v.default.relative(r,o);return G(n)},Ge=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let d=Mr(e),i=(0,Ye.scan)(d);if(i.isGlob){let c=i.prefix+i.base,m=i.glob;o={titlePrefix:_,directory:c,files:m}}else Br(r,e)?o={titlePrefix:_,directory:e,files:Ue}:o={titlePrefix:_,directory:v.default.dirname(e),files:v.default.basename(e)}}else o={titlePrefix:_,files:Ue,...e};let n=(0,re.default)(o.files),{directory:s}=o,p=(0,re.default)(We({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),a=ee(`${p}/${n}`);return{...o,directory:p,importPathMatcher:a}},Jr=(e,r)=>e.map(t=>Ge(t,r));var Ve=f(require("fs-extra"));async function Ur(e){return Ve.default.readFile(e,{encoding:"utf8"})}var te=f(require("path")),Ke=require("find-up"),qr=(e,r)=>{let t=(0,Ke.sync)("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=te.default.dirname(t);return te.default.join(o,"dist","esm",r)};function zr(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=process.env;return!!r||(e==null?void 0:e.includes("--preserve-symlinks"))}0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getAutoRefs,getDirectoryFromWorkingDir,getFrameworkName,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getRefs,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,isPreservingSymlinks,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles});
30
+ `),a.flush(),g.value===1&&m())})});let p=(c,a,l)=>{o=Math.max(c,o);let m={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let g=l&&l.match(/(\d+)\/(\d+)/)||[],C=parseInt(g[1],10),M=parseInt(g[2],10);!Number.isNaN(C)&&!Number.isNaN(M)&&(m.modules={complete:C,total:M},n=M)}o===1&&(t.cache&&t.cache.set("modulesCount",n),m.message||(m.message=`Completed in ${Le(r)}.`)),s(m)},i=await((d=t.cache)==null?void 0:d.get("modulesCount").catch(()=>{}))||1e3;return{handler:p,modulesCount:i}};var T=f(require("path")),_e=f(require("pkg-dir"));function Z(e){let r=process.cwd(),t=_e.default.sync(r),o;return t?o=T.default.resolve(t,"node_modules/.cache/storybook"):o=T.default.resolve(r,".cache/storybook"),T.default.join(o,e)}var Me=f(require("file-system-cache"));function D(e){return(0,Me.default)(e)}var Ar=D({basePath:Z("dev-server"),ns:"storybook"});var Q=f(require("path")),L=require("pkg-dir"),y=f(require("fs")),Je=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Ir(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=Q.default.resolve(e,"preview-body.html"),n=t;return y.default.existsSync(o)&&(n=y.default.readFileSync(o,"utf8")+n),Je(n,r)}function Fr(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=Q.default.resolve(e,"preview-head.html"),n=t;return y.default.existsSync(o)&&(n+=y.default.readFileSync(o,"utf8")),Je(n,r)}function Nr(){return`${(0,L.sync)(__dirname)}/templates/preview.ejs`}var Tr=(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 Ue=require("picomatch");function ee(e){let r=(0,Ue.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 ze=f(require("fs")),v=f(require("path")),Be=require("picomatch"),re=f(require("slash"));var _="",qe="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",Dr=(e,r)=>{try{return ze.default.lstatSync(v.default.resolve(e,r)).isDirectory()}catch{return!1}},He=({configDir:e,workingDir:r,directory:t})=>{let o=v.default.resolve(e,t),n=v.default.relative(r,o);return V(n)},We=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let d=(0,Be.scan)(e);if(d.isGlob){let c=d.prefix+d.base,a=d.glob;o={titlePrefix:_,directory:c,files:a}}else Dr(r,e)?o={titlePrefix:_,directory:e,files:qe}:o={titlePrefix:_,directory:v.default.dirname(e),files:v.default.basename(e)}}else o={titlePrefix:_,files:qe,...e};let n=(0,re.default)(o.files),{directory:s}=o,p=(0,re.default)(He({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),i=ee(`${p}/${n}`);return{...o,directory:p,importPathMatcher:i}},Lr=(e,r)=>e.map(t=>We(t,r));var Ye=f(require("fs-extra"));async function _r(e){return Ye.default.readFile(e,{encoding:"utf8"})}var te=f(require("path")),Ve=require("find-up"),Mr=(e,r)=>{let t=(0,Ve.sync)("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=te.default.dirname(t);return te.default.join(o,"dist","esm",r)};function Jr(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=process.env;return!!r||(e==null?void 0:e.includes("--preserve-symlinks"))}0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getAutoRefs,getDirectoryFromWorkingDir,getFrameworkName,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getRefs,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,isPreservingSymlinks,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles});
package/dist/index.mjs CHANGED
@@ -12,21 +12,19 @@ var u=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Prox
12
12
  ${n}
13
13
  "${e}" and "${r}" cannot coexist.
14
14
  Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
15
- `)};function S(e){let r=`{${Array.from(T).join(",")}}`,t=s=>!!be.sync(v.resolve(e,`${s}${r}`)).length,o=t("main"),n=t("config");if(!o&&!n)throw new Error(w`
15
+ `)};function S(e){let r=`{${Array.from(T).join(",")}}`,t=i=>!!be.sync(v.resolve(e,`${i}${r}`)).length,o=t("main"),n=t("config");if(!o&&!n)throw new Error(w`
16
16
  No configuration files have been found in your configDir (${v.resolve(e)}).
17
17
  Storybook needs either a "main" or "config" file.
18
18
  `);if(o&&n)throw new Error(w`
19
- You have both a "main" and a "config". Please remove the "config" file from your configDir (${v.resolve(e,"config")})`);let i=t("presets");o&&i&&I("main","presets",e),t("preview")&&n&&I("preview","config",e);let c=t("addons");t("manager")&&c&&I("manager","addons",e),(i||n||c)&&xe()}function H({configDir:e}){S(e);let r=h(A.resolve(e,"presets"));if(h(A.resolve(e,"main"))){let o=j(A.resolve(e,"main"));if(o)return[o]}return r||[]}import he from"resolve-from";var W=(e,r)=>{try{return he(e,r)}catch{return}},z=e=>{try{return u.resolve(e)}catch{return}};var k=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,ke=e=>typeof e=="function";function Oe(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 ke(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var we=(e,r,t)=>{let o=r.startsWith("/")?z:W.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 i=n&&o(`${r}/package.json`),p=i&&Pe(i),c=g=>{if(o(`${r}${g}`))return`${p}${g}`},l=r,s=c("/manager"),f=c("/register")||c("/register-panel"),d=c("/preview"),m=o(`${l}/preset`);if(!(s||d)&&m)return{type:"presets",name:m};if(s||f||d||m){let g=[];return s&&g.push(s),!s&&f&&!m&&g.push(f),{type:"virtual",name:l,...g.length?{managerEntries:g}:{},...d?{previewAnnotations:[d]}:{},...m?{presets:[{name:m,options:t}]}:{}}}if(n)return{type:"presets",name:n}},Se=({configDir:e})=>r=>{let t=k(r)&&r.options||void 0,o=k(r)?r.name:r;try{let n=we(e,o,t);return{...t?{options:t}:{},...n}}catch{P.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/
20
- ${r}`)}};async function Ce(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return $(r)}async function Re(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},i=await Ce(e);if(typeof i=="function"&&(i=i(t,n)),Array.isArray(i))return C(i,r+1,t);if(k(i)){let{addons:p,presets:c,...l}=i,s=Y(c,n,t),f=Y(p,n,t);return[...await C([...s],r+1,t),...await C([...f.map(Se(t))].filter(Boolean),r+1,t),{name:o,preset:l,options:n}]}throw new Error(ve`
19
+ You have both a "main" and a "config". Please remove the "config" file from your configDir (${v.resolve(e,"config")})`);let s=t("presets");o&&s&&I("main","presets",e),t("preview")&&n&&I("preview","config",e);let c=t("addons");t("manager")&&c&&I("manager","addons",e),(s||n||c)&&xe()}function H({configDir:e}){S(e);let r=h(A.resolve(e,"presets"));if(h(A.resolve(e,"main"))){let o=j(A.resolve(e,"main"));if(o)return[o]}return r||[]}import he from"resolve-from";var W=(e,r)=>{try{return he(e,r)}catch{return}},z=e=>{try{return u.resolve(e)}catch{return}};var k=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,ke=e=>typeof e=="function";function Oe(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 ke(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var we=(e,r,t)=>{let o=r.startsWith("/")?z:W.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&&Pe(s),c=g=>{if(o(`${r}${g}`))return`${p}${g}`},f=r,i=c("/manager"),l=c("/register")||c("/register-panel"),d=c("/preview"),m=o(`${f}/preset`);if(!(i||d)&&m)return{type:"presets",name:m};if(i||l||d||m){let g=[];return i&&g.push(i),!i&&l&&!m&&g.push(l),{type:"virtual",name:f,...g.length?{managerEntries:g}:{},...d?{previewAnnotations:[d]}:{},...m?{presets:[{name:m,options:t}]}:{}}}if(n)return{type:"presets",name:n}},Se=({configDir:e})=>r=>{let t=k(r)&&r.options||void 0,o=k(r)?r.name:r;try{let n=we(e,o,t);return{...t?{options:t}:{},...n}}catch{P.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/
20
+ ${r}`)}};async function Ce(e){if(e.type==="virtual"){let{type:t,name:o,...n}=e;return n}let r=e.name?e.name:e;return $(r)}async function Re(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await Ce(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return C(s,r+1,t);if(k(s)){let{addons:p,presets:c,...f}=s,i=Y(c,n,t),l=Y(p,n,t);return[...await C([...i],r+1,t),...await C([...l.map(Se(t))].filter(Boolean),r+1,t),{name:o,preset:f,options:n}]}throw new Error(ve`
21
21
  ${e} is not a valid preset
22
- `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return P.warn(n),P.error(o),[]}}async function C(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||P.info("=> Loading presets"),(await Promise.all(e.map(async o=>Re(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function G(e,r,t,o,n){let i=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:c,options:l})=>{let s=c[r];if(!s)return p;if(typeof s=="function"){let f=s,d={preset:c,combinedOptions:{...n,...o,...l,presetsList:e,presets:{apply:async(m,g,x={})=>G(e,m,g,x,n)}}};return p.then(m=>f.call(d.preset,m,d.combinedOptions))}return p.then(f=>Array.isArray(f)&&Array.isArray(s)?[...f,...s]:k(f)&&k(s)?{...f,...s}:s)},i):i}async function Ee(e,r){let t=await C(e,0,r);return{apply:async(o,n,i={})=>G(t,o,n,i,r)}}async function _r(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...H(e),...t],i=Oe(n);return i.length<n.length&&P.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ee(i,o)}var{logger:N}=u("@storybook/node-logger"),D=e=>r=>{let t=r.name||r;return t&&t.includes(e)},Te=(e,r,t)=>{let o=e.findIndex(D("@storybook/addon-essentials")),n=e.findIndex(D(r.name)),i=e.findIndex(D(t.name));return n===-1&&r.inEssentials&&(n=o),i===-1&&t.inEssentials&&(i=o),n!==-1&&i!==-1&&n<=i},Mr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){N.warn("Unable to find 'addons' config in main Storybook config");return}if(!Te(n.addons,e,r)){let i=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?i:""}`,c=`'${r.name}'${r.inEssentials?i:""}`;N.warn(`Expected ${p} to be listed before ${c} in main Storybook config.`)}}catch{N.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as je}from"lazy-universal-dotenv";import R from"path";import X from"find-up";var Vr=()=>{let e;try{let r=X.sync(".git",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{let r=X.sync(".svn",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},Z=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>R.resolve("./",r)),$e=/^\.{1,2}([/\\]|$)/;function Q(e){return $e.test(e)?e:`.${R.sep}${e}`}function zr(e={}){let r=e.production?"production":"development",t={NODE_ENV:"production",NODE_PATH:a.NODE_PATH||"",STORYBOOK:a.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(a).filter(c=>/^STORYBOOK_/.test(c)).forEach(c=>{t[c]=a[c]});let o=Object.entries(t).reduce((c,[l,s])=>Object.assign(c,{[l]:JSON.stringify(s)}),{}),{stringified:n,raw:i}=je({nodeEnv:t.NODE_ENV}),p={...t,...i};return p.NODE_PATH=Z(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var Yr=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":'""'});import Ie from"handlebars";function Qr(e,r){return Ie.compile(e)(r)}import Ae from"path";function nt({configDir:e}){return S(e),h(Ae.resolve(e,"main"))}import{dedent as Ne}from"ts-dedent";async function at(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Ne`
22
+ `)}catch(o){let n=r>0?` Failed to load preset: ${JSON.stringify(e)} on level ${r}`:` Failed to load preset: ${JSON.stringify(e)}`;return P.warn(n),P.error(o),[]}}async function C(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||P.info("=> Loading presets"),(await Promise.all(e.map(async o=>Re(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function G(e,r,t,o,n){let s=new Promise(p=>p(t));return e.length?e.reduce((p,{preset:c,options:f})=>{let i=c[r];if(!i)return p;if(typeof i=="function"){let l=i,d={preset:c,combinedOptions:{...n,...o,...f,presetsList:e,presets:{apply:async(m,g,x={})=>G(e,m,g,x,n)}}};return p.then(m=>l.call(d.preset,m,d.combinedOptions))}return p.then(l=>Array.isArray(l)&&Array.isArray(i)?[...l,...i]:k(l)&&k(i)?{...l,...i}:i)},s):s}async function Ee(e,r){let t=await C(e,0,r);return{apply:async(o,n,s={})=>G(t,o,n,s,r)}}async function Nr(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...H(e),...t],s=Oe(n);return s.length<n.length&&P.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ee(s,o)}var{logger:N}=u("@storybook/node-logger"),D=e=>r=>{let t=r.name||r;return t&&t.includes(e)},Te=(e,r,t)=>{let o=e.findIndex(D("@storybook/addon-essentials")),n=e.findIndex(D(r.name)),s=e.findIndex(D(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},Fr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){N.warn("Unable to find 'addons' config in main Storybook config");return}if(!Te(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?s:""}`,c=`'${r.name}'${r.inEssentials?s:""}`;N.warn(`Expected ${p} to be listed before ${c} in main Storybook config.`)}}catch{N.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as je}from"lazy-universal-dotenv";import R from"path";import X from"find-up";var Mr=()=>{let e;try{let r=X.sync(".git",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{let r=X.sync(".svn",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},Z=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>R.resolve("./",r)),$e=/^\.{1,2}([/\\]|$)/;function Q(e){return $e.test(e)?e:`.${R.sep}${e}`}function Vr(e={}){let r=e.production?"production":"development",t={NODE_ENV:"production",NODE_PATH:a.NODE_PATH||"",STORYBOOK:a.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(a).filter(c=>/^STORYBOOK_/.test(c)).forEach(c=>{t[c]=a[c]});let o=Object.entries(t).reduce((c,[f,i])=>Object.assign(c,{[f]:JSON.stringify(i)}),{}),{stringified:n,raw:s}=je({nodeEnv:t.NODE_ENV}),p={...t,...s};return p.NODE_PATH=Z(p.NODE_PATH||""),{stringified:{...o,...n},raw:p}}var qr=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),Hr=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});import Ie from"handlebars";function Yr(e,r){return Ie.compile(e)(r)}import Ae from"path";function et({configDir:e}){return S(e),h(Ae.resolve(e,"main"))}import{dedent as Ne}from"ts-dedent";async function ot(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Ne`
23
23
  You must specify a framework in '.storybook/main.js' config.
24
24
 
25
25
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
26
- `);return typeof r=="object"?r.name:r}function ee(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]}import De from"path";import Fe from"fs-extra";var re={"@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"},te=console,Le=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],_e=e=>{let[r,t,o]=Le(e,([c])=>re[c]),[n,i]=r||t||o||[],p=n?re[n]:void 0;return r&&t&&r[0]===t[0]&&te.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&te.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:i,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},Be=["ts","js","tsx","jsx","mjs","cjs"],F=(e,r)=>{let t=De.join(r,e),o=Be.find(n=>Fe.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Me=e=>{let r=".storybook",t=e.scripts?.storybook;if(t){let o=ee(t,"-c","--config-dir");o&&(r=o)}return{configDir:r,mainConfig:F("main",r),previewConfig:F("preview",r),managerConfig:F("manager",r)}},mt=e=>{let r=_e(e),t=Me(e);return{...r,...t}};import{readJSON as oe}from"fs-extra";import{dirname as Je,join as Ke}from"path";import Ue from"find-up";import Ve from"resolve-from";import{logger as qe}from"@storybook/node-logger";var He=async e=>{let r=await Ue("package.json",{cwd:e.configDir});if(!r)return{};let t=Je(r),{dependencies:o=[],devDependencies:n=[]}=await oe(r)||{},i=Object.keys({...o,...n});return(await Promise.all(i.map(async c=>{try{let l=Ve(t,Ke(c,"package.json")),{storybook:s,name:f,version:d}=await oe(l)||{};if(s?.url)return{id:f,...s,version:d}}catch{qe.warn(`unable to find package.json for ${c}`);return}}))).filter(Boolean).reduce((c,l)=>({...c,[l.id]:{id:l.id.toLowerCase(),url:ne(l.url),title:l.title,version:l.version}}),{})},We=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),ne=e=>e.replace(/\/$/,""),ze=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 vt(e){let r=await e.presets.apply("refs",await He(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||ze(o.id||t),url:ne(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await We(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}import L from"path";import{logger as Ye}from"@storybook/node-logger";import{dedent as Ge}from"ts-dedent";function Ct({configDir:e}){let r=y(L.resolve(e,"addons")),t=y(L.resolve(e,"manager"));if((r||t)&&Ye.info("=> Loading custom manager config"),r&&t)throw new Error(Ge`
27
- You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${L.resolve(e,"addons")})`);return t||r}import _ from"path";import{dedent as Xe}from"ts-dedent";function jt({configDir:e}){let r=y(_.resolve(e,"config")),t=y(_.resolve(e,"preview"));if(r&&t)throw new Error(Xe`
28
- You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${_.resolve(e,"config")})`);return t||r}import Ze from"chalk";function Nt(e,r){console.log(Ze.cyan(e)),console.dir(r,{depth:null})}import Qe from"pretty-hrtime";var se=e=>Qe(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Bt=async(e,r,t)=>{let o=0,n,i=()=>{};e.get("/progress",(l,s)=>{let f=!1,d=()=>{f=!0,s.end()};s.on("close",d),!(f||s.writableEnded)&&(s.setHeader("Cache-Control","no-cache"),s.setHeader("Content-Type","text/event-stream"),s.setHeader("Connection","keep-alive"),s.flushHeaders(),i=m=>{f||s.writableEnded||(s.write(`data: ${JSON.stringify(m)}
26
+ `);return typeof r=="object"?r.name:r}function ee(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]}import De from"path";import Fe from"fs-extra";var re={"@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"},te=console,Le=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],_e=e=>{let[r,t,o]=Le(e,([c])=>re[c]),[n,s]=r||t||o||[],p=n?re[n]:void 0;return r&&t&&r[0]===t[0]&&te.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&te.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:p,frameworkPackage:n,renderer:p,rendererPackage:n}},Be=["ts","js","tsx","jsx","mjs","cjs"],F=(e,r)=>{let t=De.join(r,e),o=Be.find(n=>Fe.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Me=e=>{let r=".storybook",t=e.scripts?.storybook;if(t){let o=ee(t,"-c","--config-dir");o&&(r=o)}return{configDir:r,mainConfig:F("main",r),previewConfig:F("preview",r),managerConfig:F("manager",r)}},pt=e=>{let r=_e(e),t=Me(e);return{...r,...t}};import{readJSON as oe}from"fs-extra";import{dirname as Je,join as Ke}from"path";import Ue from"find-up";import Ve from"resolve-from";import{logger as qe}from"@storybook/node-logger";var He=async e=>{let r=await Ue("package.json",{cwd:e.configDir});if(!r)return{};let t=Je(r),{dependencies:o=[],devDependencies:n=[]}=await oe(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async c=>{try{let f=Ve(t,Ke(c,"package.json")),{storybook:i,name:l,version:d}=await oe(f)||{};if(i?.url)return{id:l,...i,version:d}}catch{qe.warn(`unable to find package.json for ${c}`);return}}))).filter(Boolean).reduce((c,f)=>({...c,[f.id]:{id:f.id.toLowerCase(),url:ne(f.url),title:f.title,version:f.version}}),{})},We=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),ne=e=>e.replace(/\/$/,""),ze=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 yt(e){let r=await e.presets.apply("refs",await He(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||ze(o.id||t),url:ne(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await We(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}import L from"path";import{logger as Ye}from"@storybook/node-logger";import{dedent as Ge}from"ts-dedent";function kt({configDir:e}){let r=y(L.resolve(e,"addons")),t=y(L.resolve(e,"manager"));if((r||t)&&Ye.info("=> Loading custom manager config"),r&&t)throw new Error(Ge`
27
+ You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${L.resolve(e,"addons")})`);return t||r}import _ from"path";import{dedent as Xe}from"ts-dedent";function Rt({configDir:e}){let r=y(_.resolve(e,"config")),t=y(_.resolve(e,"preview"));if(r&&t)throw new Error(Xe`
28
+ You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${_.resolve(e,"config")})`);return t||r}import Ze from"chalk";function $t(e,r){console.log(Ze.cyan(e)),console.dir(r,{depth:null})}import Qe from"pretty-hrtime";var se=e=>Qe(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Dt=async(e,r,t)=>{let o=0,n,s=()=>{};e.get("/progress",(f,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=m=>{l||i.writableEnded||(i.write(`data: ${JSON.stringify(m)}
29
29
 
30
- `),s.flush(),m.value===1&&d())})});let p=(l,s,f)=>{o=Math.max(l,o);let d={value:o,message:s.charAt(0).toUpperCase()+s.slice(1)};if(s==="building"){let m=f&&f.match(/(\d+)\/(\d+)/)||[],g=parseInt(m[1],10),x=parseInt(m[2],10);!Number.isNaN(g)&&!Number.isNaN(x)&&(d.modules={complete:g,total:x},n=x)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${se(r)}.`)),i(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:p,modulesCount:c}};import B from"path";import er from"pkg-dir";function ie(e){let r=process.cwd(),t=er.sync(r),o;return t?o=B.resolve(t,"node_modules/.cache/storybook"):o=B.resolve(r,".cache/storybook"),B.join(o,e)}import rr from"file-system-cache";function M(e){return rr(e)}var zt=M({basePath:ie("dev-server"),ns:"storybook"});import ae from"path";import{sync as J}from"pkg-dir";import b from"fs";var ce=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Qt(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-body.html`,"utf8"),o=ae.resolve(e,"preview-body.html"),n=t;return b.existsSync(o)&&(n=b.readFileSync(o,"utf8")+n),ce(n,r)}function eo(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-head.html`,"utf8"),o=ae.resolve(e,"preview-head.html"),n=t;return b.existsSync(o)&&(n+=b.readFileSync(o,"utf8")),ce(n,r)}function ro(){return`${J(__dirname)}/templates/preview.ejs`}var oo=(e,r)=>Object.entries(r).reduce((t,[o,n])=>{let i=n.replace(/\\/g,"/").replace(/\$/g,"$$$");return t.replace(new RegExp(`{{${o}}}`,"g"),i)},e);import{makeRe as tr}from"picomatch";function pe(e){let r=tr(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}import or from"fs";import O from"path";import nr from"util-deprecate";import{dedent as sr}from"ts-dedent";import{scan as ir}from"picomatch";import fe from"slash";var E="",le="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",ar=nr(e=>e.input.replace(e[1],`@${e[1]}`),sr`
31
- You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
32
- `),cr=e=>{let r=e.match(/\.(\([^)]+\))/);return r?ar(r):e},pr=(e,r)=>{try{return or.lstatSync(O.resolve(e,r)).isDirectory()}catch{return!1}},fr=({configDir:e,workingDir:r,directory:t})=>{let o=O.resolve(e,t),n=O.relative(r,o);return Q(n)},lr=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let l=cr(e),s=ir(l);if(s.isGlob){let f=s.prefix+s.base,d=s.glob;o={titlePrefix:E,directory:f,files:d}}else pr(r,e)?o={titlePrefix:E,directory:e,files:le}:o={titlePrefix:E,directory:O.dirname(e),files:O.basename(e)}}else o={titlePrefix:E,files:le,...e};let n=fe(o.files),{directory:i}=o,p=fe(fr({configDir:r,workingDir:t,directory:i})).replace(/\/$/,""),c=pe(`${p}/${n}`);return{...o,directory:p,importPathMatcher:c}},yo=(e,r)=>e.map(t=>lr(t,r));import dr from"fs-extra";async function ho(e){return dr.readFile(e,{encoding:"utf8"})}import de from"path";import{sync as mr}from"find-up";var Oo=(e,r)=>{let t=mr("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=de.dirname(t);return de.join(o,"dist","esm",r)};function So(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=a;return!!r||e?.includes("--preserve-symlinks")}export{T as boost,zt as cache,Mr as checkAddonOrder,M as createFileSystemCache,Oe as filterPresetsConfig,Oo as findDistEsm,He as getAutoRefs,fr as getDirectoryFromWorkingDir,at as getFrameworkName,y as getInterpretedFile,V as getInterpretedFileWithExt,Ee as getPresets,Qt as getPreviewBodyTemplate,eo as getPreviewHeadTemplate,ro as getPreviewMainTemplate,Vr as getProjectRoot,vt as getRefs,ee as getStorybookConfiguration,mt as getStorybookInfo,pe as globToRegexp,Qr as handlebars,$ as interopRequireDefault,oo as interpolate,So as isPreservingSymlinks,_r as loadAllPresets,H as loadCustomPresets,zr as loadEnvs,nt as loadMainConfig,Ct as loadManagerOrAddonsFile,Re as loadPreset,jt as loadPreviewOrConfigFile,Nt as logConfig,Z as nodePathsToArray,yo as normalizeStories,lr as normalizeStoriesEntry,Q as normalizeStoryPath,ho as readTemplate,we as resolveAddonName,ie as resolvePathInStorybookCache,h as serverRequire,j as serverResolve,Yr as stringifyEnvs,Gr as stringifyProcessEnvs,Bt as useProgressReporting,S as validateConfigurationFiles};
30
+ `),i.flush(),m.value===1&&d())})});let p=(f,i,l)=>{o=Math.max(f,o);let d={value:o,message:i.charAt(0).toUpperCase()+i.slice(1)};if(i==="building"){let m=l&&l.match(/(\d+)\/(\d+)/)||[],g=parseInt(m[1],10),x=parseInt(m[2],10);!Number.isNaN(g)&&!Number.isNaN(x)&&(d.modules={complete:g,total:x},n=x)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${se(r)}.`)),s(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:p,modulesCount:c}};import B from"path";import er from"pkg-dir";function ie(e){let r=process.cwd(),t=er.sync(r),o;return t?o=B.resolve(t,"node_modules/.cache/storybook"):o=B.resolve(r,".cache/storybook"),B.join(o,e)}import rr from"file-system-cache";function M(e){return rr(e)}var Vt=M({basePath:ie("dev-server"),ns:"storybook"});import ae from"path";import{sync as J}from"pkg-dir";import b from"fs";var ce=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Yt(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-body.html`,"utf8"),o=ae.resolve(e,"preview-body.html"),n=t;return b.existsSync(o)&&(n=b.readFileSync(o,"utf8")+n),ce(n,r)}function Gt(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-head.html`,"utf8"),o=ae.resolve(e,"preview-head.html"),n=t;return b.existsSync(o)&&(n+=b.readFileSync(o,"utf8")),ce(n,r)}function Xt(){return`${J(__dirname)}/templates/preview.ejs`}var Qt=(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);import{makeRe as tr}from"picomatch";function pe(e){let r=tr(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}import or from"fs";import O from"path";import{scan as nr}from"picomatch";import fe from"slash";var E="",le="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",sr=(e,r)=>{try{return or.lstatSync(O.resolve(e,r)).isDirectory()}catch{return!1}},ir=({configDir:e,workingDir:r,directory:t})=>{let o=O.resolve(e,t),n=O.relative(r,o);return Q(n)},ar=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let f=nr(e);if(f.isGlob){let i=f.prefix+f.base,l=f.glob;o={titlePrefix:E,directory:i,files:l}}else sr(r,e)?o={titlePrefix:E,directory:e,files:le}:o={titlePrefix:E,directory:O.dirname(e),files:O.basename(e)}}else o={titlePrefix:E,files:le,...e};let n=fe(o.files),{directory:s}=o,p=fe(ir({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),c=pe(`${p}/${n}`);return{...o,directory:p,importPathMatcher:c}},po=(e,r)=>e.map(t=>ar(t,r));import cr from"fs-extra";async function mo(e){return cr.readFile(e,{encoding:"utf8"})}import de from"path";import{sync as pr}from"find-up";var bo=(e,r)=>{let t=pr("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=de.dirname(t);return de.join(o,"dist","esm",r)};function ho(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=a;return!!r||e?.includes("--preserve-symlinks")}export{T as boost,Vt as cache,Fr as checkAddonOrder,M as createFileSystemCache,Oe as filterPresetsConfig,bo as findDistEsm,He as getAutoRefs,ir as getDirectoryFromWorkingDir,ot as getFrameworkName,y as getInterpretedFile,V as getInterpretedFileWithExt,Ee as getPresets,Yt as getPreviewBodyTemplate,Gt as getPreviewHeadTemplate,Xt as getPreviewMainTemplate,Mr as getProjectRoot,yt as getRefs,ee as getStorybookConfiguration,pt as getStorybookInfo,pe as globToRegexp,Yr as handlebars,$ as interopRequireDefault,Qt as interpolate,ho as isPreservingSymlinks,Nr as loadAllPresets,H as loadCustomPresets,Vr as loadEnvs,et as loadMainConfig,kt as loadManagerOrAddonsFile,Re as loadPreset,Rt as loadPreviewOrConfigFile,$t as logConfig,Z as nodePathsToArray,po as normalizeStories,ar as normalizeStoriesEntry,Q as normalizeStoryPath,mo as readTemplate,we as resolveAddonName,ie as resolvePathInStorybookCache,h as serverRequire,j as serverResolve,qr as stringifyEnvs,Hr as stringifyProcessEnvs,Dt as useProgressReporting,S as validateConfigurationFiles};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/core-common",
3
- "version": "7.0.0-alpha.34",
3
+ "version": "7.0.0-alpha.37",
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/csf": "0.0.2--canary.0899bb7.0",
51
- "@storybook/node-logger": "7.0.0-alpha.34",
50
+ "@storybook/csf": "0.0.2--canary.49.258942b.0",
51
+ "@storybook/node-logger": "7.0.0-alpha.37",
52
52
  "@types/babel__core": "^7.0.0",
53
53
  "@types/express": "^4.7.0",
54
54
  "@types/node": "^14.0.10 || ^16.0.0",
@@ -97,5 +97,5 @@
97
97
  ],
98
98
  "platform": "node"
99
99
  },
100
- "gitHead": "fc90fc875462421c1faa35862ac4bc436de8e75f"
100
+ "gitHead": "82667a655108283aafc828427f00bb3590a334e5"
101
101
  }