@storybook/core-common 7.0.0-alpha.50 → 7.0.0-alpha.51
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.d.ts +3 -3
- package/dist/index.js +8 -8
- package/dist/index.mjs +10 -10
- package/package.json +9 -9
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare function filterPresetsConfig(presetsConfig: PresetConfig[]): PresetConfi
|
|
|
22
22
|
*/
|
|
23
23
|
declare const resolveAddonName: (configDir: string, name: string, options: any) => CoreCommon_ResolvedAddonPreset | CoreCommon_ResolvedAddonVirtual | undefined;
|
|
24
24
|
declare function loadPreset(input: PresetConfig, level: number, storybookOptions: InterPresetOptions): Promise<LoadedPreset[]>;
|
|
25
|
-
|
|
25
|
+
type InterPresetOptions = Omit<CLIOptions & LoadOptions & BuilderOptions, 'frameworkPresets'>;
|
|
26
26
|
declare function getPresets(presets: PresetConfig[], storybookOptions: InterPresetOptions): Promise<Presets>;
|
|
27
27
|
declare function loadAllPresets(options: CLIOptions & LoadOptions & BuilderOptions & {
|
|
28
28
|
corePresets: PresetConfig[];
|
|
@@ -159,8 +159,8 @@ declare function validateConfigurationFiles(configDir: string): void;
|
|
|
159
159
|
*/
|
|
160
160
|
declare function satisfies<A>(): <T extends A>(x: T) => T;
|
|
161
161
|
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
type Options = Parameters<typeof Cache__default>['0'];
|
|
163
|
+
type FileSystemCache = ReturnType<typeof Cache__default>;
|
|
164
164
|
declare function createFileSystemCache(options: Options): FileSystemCache;
|
|
165
165
|
|
|
166
166
|
export { boost, cache, checkAddonOrder, createFileSystemCache, filterPresetsConfig, findDistEsm, getAutoRefs, getDirectoryFromWorkingDir, getFrameworkName, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getPreviewMainTemplate, getProjectRoot, getRefs, getRendererName, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, isPreservingSymlinks, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, resolveAddonName, resolvePathInStorybookCache, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, useProgressReporting, validateConfigurationFiles, validateFrameworkName };
|
package/dist/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";var Ke=Object.create;var w=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var Qe=(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 Ge(r))!Ze.call(e,n)&&n!==t&&w(e,n,{get:()=>r[n],enumerable:!(o=Ve(r,n))||o.enumerable});return e};var p=(e,r,t)=>(t=e!=null?Ke(Xe(e)):{},te(r||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),er=e=>te(w({},"__esModule",{value:!0}),e);var
|
|
1
|
+
"use strict";var Ke=Object.create;var w=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Ge=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty;var Qe=(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 Ge(r))!Ze.call(e,n)&&n!==t&&w(e,n,{get:()=>r[n],enumerable:!(o=Ve(r,n))||o.enumerable});return e};var p=(e,r,t)=>(t=e!=null?Ke(Xe(e)):{},te(r||!e||!e.__esModule?w(t,"default",{value:e,enumerable:!0}):t,e)),er=e=>te(w({},"__esModule",{value:!0}),e);var Ur={};Qe(Ur,{boost:()=>O,cache:()=>ar,checkAddonOrder:()=>fr,createFileSystemCache:()=>j,filterPresetsConfig:()=>de,findDistEsm:()=>gr,getAutoRefs:()=>Se,getDirectoryFromWorkingDir:()=>He,getFrameworkName:()=>V,getInterpretedFile:()=>g,getInterpretedFileWithExt:()=>B,getPresets:()=>ye,getPreviewBodyTemplate:()=>Tr,getPreviewHeadTemplate:()=>Dr,getPreviewMainTemplate:()=>Lr,getProjectRoot:()=>mr,getRefs:()=>wr,getRendererName:()=>yr,getStorybookConfiguration:()=>G,getStorybookInfo:()=>Cr,globToRegexp:()=>Q,handlebars:()=>Or,interopRequireDefault:()=>R,interpolate:()=>Rr,isPreservingSymlinks:()=>Nr,loadAllPresets:()=>ir,loadCustomPresets:()=>U,loadEnvs:()=>dr,loadMainConfig:()=>Er,loadManagerOrAddonsFile:()=>$r,loadPreset:()=>ue,loadPreviewOrConfigFile:()=>Sr,logConfig:()=>jr,nodePathsToArray:()=>W,normalizeStories:()=>_r,normalizeStoriesEntry:()=>Ue,normalizeStoryPath:()=>Y,readTemplate:()=>Fr,resolveAddonName:()=>le,resolvePathInStorybookCache:()=>q,satisfies:()=>Hr,serverRequire:()=>b,serverResolve:()=>E,stringifyEnvs:()=>lr,stringifyProcessEnvs:()=>ur,useProgressReporting:()=>Ir,validateConfigurationFiles:()=>v,validateFrameworkName:()=>Br});module.exports=er(Ur);var pe=require("ts-dedent"),h=require("@storybook/node-logger");var $=p(require("path"));var M=p(require("fs")),O=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function rr(){return[...Array.from(O)]}var oe=rr();function g(e){return oe.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>M.default.existsSync(r))}function B(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){let r=!!require("module")._extensions[".ts"];if(ne===!1&&!r){let{register:n}=require("esbuild-register/dist/node");ne=!0,n({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
|
|
7
|
-
No configuration files have been found in your configDir (${
|
|
6
|
+
}`})}let t=require(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}function tr(e){for(let r=0;r<e.length;r+=1){let t=B(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=tr(r);return t?t.path:null}var se=require("ts-dedent"),ie=p(require("glob")),H=p(require("path"));function v(e){let r=`{${Array.from(O).join(",")}}`;if(!(n=>!!ie.default.sync(H.default.resolve(e,`${n}${r}`)).length)("main"))throw new Error(se.dedent`
|
|
7
|
+
No configuration files have been found in your configDir (${H.default.resolve(e)}).
|
|
8
8
|
Storybook needs either a "main" or "config" file.
|
|
9
|
-
`)}function
|
|
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=p(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,or=e=>typeof e=="function";function de(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 or(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var le=(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=d=>{if(o(`${r}${d}`))return`${r}${d}`},c=d=>o(`${r}${d}`),i=c("/manager"),m=c("/register")||c("/register-panel"),f=s("/preview"),a=c("/preview"),l=c("/preset");if(!(i||f)&&l)return{type:"presets",name:l};if(i||m||f||l){let d=[];return i&&d.push(i),!i&&m&&!l&&d.push(m),{type:"virtual",name:r,...d.length?{managerEntries:d}:{},...f?{previewAnnotations:[a?{bare:f,absolute:a}:f]}:{},...l?{presets:[{name:l,options:t}]}:{}}}if(n)return{type:"presets",name:n}},nr=({configDir:e})=>r=>{let t=C(r)&&r.options||void 0,o=C(r)?r.name:r;try{let n=le(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 sr(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 ue(e,r,t){try{let o=e.name?e.name:e,n=e.options?e.options:{},s=await sr(e);if(typeof s=="function"&&(s=s(t,n)),Array.isArray(s))return await S(s,r+1,t);if(C(s)){let{addons:c,presets:i,...m}=s,f=me(i,n,t),a=me(c,n,t);return[...await S([...f],r+1,t),...await S([...a.map(nr(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 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=>ue(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function ge(e,r,t,o,n){let s=new Promise(c=>c(t));return e.length?e.reduce((c,{preset:i,options:m})=>{let f=i[r];if(!f)return c;if(typeof f=="function"){let a=f,l={preset:i,combinedOptions:{...n,...o,...m,presetsList:e,presets:{apply:async(d,u,k={})=>ge(e,d,u,k,n)}}};return c.then(d=>a.call(l.preset,d,l.combinedOptions))}return c.then(a=>Array.isArray(a)&&Array.isArray(f)?[...a,...f]:C(a)&&C(f)?{...a,...f}:f)},s):s}async function ye(e,r){let t=await S(e,0,r);return{apply:async(o,n,s={})=>ge(t,o,n,s,r)}}async function ir(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...
|
|
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=>ue(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function ge(e,r,t,o,n){let s=new Promise(c=>c(t));return e.length?e.reduce((c,{preset:i,options:m})=>{let f=i[r];if(!f)return c;if(typeof f=="function"){let a=f,l={preset:i,combinedOptions:{...n,...o,...m,presetsList:e,presets:{apply:async(d,u,k={})=>ge(e,d,u,k,n)}}};return c.then(d=>a.call(l.preset,d,l.combinedOptions))}return c.then(a=>Array.isArray(a)&&Array.isArray(f)?[...a,...f]:C(a)&&C(f)?{...a,...f}:f)},s):s}async function ye(e,r){let t=await S(e,0,r);return{apply:async(o,n,s={})=>ge(t,o,n,s,r)}}async function ir(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...U(e),...t],s=de(n);return s.length<n.length&&h.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),ye(s,o)}var be=p(require("file-system-cache"));function j(e){return(0,be.default)(e)}var A=p(require("path")),he=p(require("pkg-dir"));function q(e){let r=process.cwd(),t=he.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 ar=j({basePath:q("dev-server"),ns:"storybook"});var _=require("@storybook/node-logger"),z=e=>r=>{let t=r.name||r;return t&&t.includes(e)},cr=(e,r,t)=>{let o=e.findIndex(z("@storybook/addon-essentials")),n=e.findIndex(z(r.name)),s=e.findIndex(z(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!=null&&n.addons)){_.logger.warn("Unable to find 'addons' config in main Storybook config");return}if(!cr(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",c=`'${e.name}'${e.inEssentials?s:""}`,i=`'${r.name}'${r.inEssentials?s:""}`;_.logger.warn(`Expected ${c} to be listed before ${i} in main Storybook config.`)}}catch{_.logger.warn(`Unable to load config file: ${t}`)}};var xe=require("lazy-universal-dotenv");var P=p(require("path")),J=p(require("find-up")),mr=()=>{let e;try{let r=J.default.sync(".git",{type:"directory"});r&&(e=e||P.default.join(r,".."))}catch{}try{let r=J.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)),pr=/^\.{1,2}([/\\]|$)/;function Y(e){return pr.test(e)?e:`.${P.default.sep}${e}`}function dr(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,[m,f])=>Object.assign(i,{[m]:JSON.stringify(f)}),{}),{stringified:n,raw:s}=(0,xe.getEnvironment)({nodeEnv:t.NODE_ENV}),c={...t,...s};return c.NODE_PATH=W(c.NODE_PATH||""),{stringified:{...o,...n},raw:c}}var lr=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 K=p(require("path")),ve=require("find-up"),gr=(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=K.default.dirname(t);return K.default.join(o,"dist","esm",r)};var Ce=require("ts-dedent");async function V(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(Ce.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
16
|
`);return typeof r=="object"?r.name:r}async function yr(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 we=p(require("path")),Oe=p(require("fs-extra"));var Pe={"@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"},ke=console,br=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],hr=e=>{let[r,t,o]=br(e,([i])=>Pe[i]),[n,s]=r||t||o||[],c=n?Pe[n]:void 0;return r&&t&&r[0]===t[0]&&ke.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&ke.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:c,frameworkPackage:n,renderer:c,rendererPackage:n}},xr=["ts","js","tsx","jsx","mjs","cjs"],X=(e,r)=>{let t=we.default.join(r,e),o=xr.find(n=>Oe.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},vr=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)}},Cr=e=>{let r=hr(e),t=vr(e);return{...r,...t}};var Z=require("fs-extra"),I=require("path"),Re=p(require("find-up")),Ee=p(require("resolve-from")),$e=require("@storybook/node-logger"),Se=async e=>{let r=await(0,Re.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 i=>{try{let m=(0,Ee.default)(t,(0,I.join)(i,"package.json")),{storybook:f,name:a,version:l}=await(0,Z.readJSON)(m)||{};if(f!=null&&f.url)return{id:a,...f,version:l}}catch(m){if(m.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;$e.logger.warn(`unable to find package.json for ${i}`);return}}))).filter(Boolean).reduce((i,m)=>({...i,[m.id]:{id:m.id.toLowerCase(),url:je(m.url),title:m.title,version:m.version}}),{})},Pr=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),je=e=>e.replace(/\/$/,""),kr=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 wr(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||kr(o.id||t),url:je(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await Pr(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}var Ae=require("picomatch");function Q(e){let r=(0,Ae.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 _e=p(require("handlebars"));function Or(e,r){return _e.default.compile(e)(r)}var Rr=(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 Ie=p(require("path"));function Er({configDir:e}){return v(e),b(Ie.default.resolve(e,"main"))}var F=p(require("path")),Fe=require("@storybook/node-logger"),Ne=require("ts-dedent");function $r({configDir:e}){let r=g(F.default.resolve(e,"addons")),t=g(F.default.resolve(e,"manager"));if((r||t)&&Fe.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Ne.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=p(require("path")),Te=require("ts-dedent");function Sr({configDir:e}){let r=g(N.default.resolve(e,"config")),t=g(N.default.resolve(e,"preview"));if(r&&t)throw new Error(Te.dedent`
|
|
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 De=p(require("chalk"));function jr(e,r){console.log(De.default.cyan(e)),console.dir(r,{depth:null})}var Me=p(require("fs")),x=p(require("path")),
|
|
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 De=p(require("chalk"));function jr(e,r){console.log(De.default.cyan(e)),console.dir(r,{depth:null})}var Me=p(require("fs")),x=p(require("path")),Be=require("picomatch"),ee=p(require("slash"));var T="",Le="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",Ar=(e,r)=>{try{return Me.default.lstatSync(x.default.resolve(e,r)).isDirectory()}catch{return!1}},He=({configDir:e,workingDir:r,directory:t})=>{let o=x.default.resolve(e,t),n=x.default.relative(r,o);return Y(n)},Ue=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let m=(0,Be.scan)(e);if(m.isGlob){let f=m.prefix+m.base,a=m.glob;o={titlePrefix:T,directory:f,files:a}}else Ar(r,e)?o={titlePrefix:T,directory:e,files:Le}:o={titlePrefix:T,directory:x.default.dirname(e),files:x.default.basename(e)}}else o={titlePrefix:T,files:Le,...e};let n=(0,ee.default)(o.files),{directory:s}=o,c=(0,ee.default)(He({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),i=Q(`${c}/${n}`);return{...o,directory:c,importPathMatcher:i}},_r=(e,r)=>e.map(t=>Ue(t,r));var qe=p(require("pretty-hrtime")),ze=e=>(0,qe.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Ir=async(e,r,t)=>{var m;let o=0,n,s=()=>{};e.get("/progress",(f,a)=>{let l=!1,d=()=>{l=!0,a.end()};a.on("close",d),!(l||a.writableEnded)&&(a.setHeader("Cache-Control","no-cache"),a.setHeader("Content-Type","text/event-stream"),a.setHeader("Connection","keep-alive"),a.flushHeaders(),s=u=>{l||a.writableEnded||(a.write(`data: ${JSON.stringify(u)}
|
|
19
19
|
|
|
20
|
-
`),a.flush(),u.value===1&&d())})});let c=(f,a,l)=>{o=Math.max(f,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let u=l&&l.match(/(\d+)\/(\d+)/)||[],k=parseInt(u[1],10),L=parseInt(u[2],10);!Number.isNaN(k)&&!Number.isNaN(L)&&(d.modules={complete:k,total:L},n=L)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${
|
|
20
|
+
`),a.flush(),u.value===1&&d())})});let c=(f,a,l)=>{o=Math.max(f,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let u=l&&l.match(/(\d+)\/(\d+)/)||[],k=parseInt(u[1],10),L=parseInt(u[2],10);!Number.isNaN(k)&&!Number.isNaN(L)&&(d.modules={complete:k,total:L},n=L)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${ze(r)}.`)),s(d)},i=await((m=t.cache)==null?void 0:m.get("modulesCount").catch(()=>{}))||1e3;return{handler:c,modulesCount:i}};var Je=p(require("fs-extra"));async function Fr(e){return Je.default.readFile(e,{encoding:"utf8"})}function Nr(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=process.env;return!!r||(e==null?void 0:e.includes("--preserve-symlinks"))}var re=p(require("path")),D=require("pkg-dir"),y=p(require("fs")),We=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Tr(e,r){let t=y.default.readFileSync(`${(0,D.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=re.default.resolve(e,"preview-body.html"),n=t;return y.default.existsSync(o)&&(n=y.default.readFileSync(o,"utf8")+n),We(n,r)}function Dr(e,r){let t=y.default.readFileSync(`${(0,D.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=re.default.resolve(e,"preview-head.html"),n=t;return y.default.existsSync(o)&&(n+=y.default.readFileSync(o,"utf8")),We(n,r)}function Lr(){return`${(0,D.sync)(__dirname)}/templates/preview.ejs`}var Ye=require("ts-dedent"),Mr=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function Br(e){if(Mr.includes(e))throw new Error(Ye.dedent`
|
|
21
21
|
Invalid value of ${e} in the 'framework' field of Storybook config.
|
|
22
22
|
|
|
23
23
|
Please run 'npx sb@next automigrate'
|
|
24
24
|
|
|
25
25
|
See the v7 Migration guide for more information:
|
|
26
26
|
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
27
|
-
`)}function
|
|
27
|
+
`)}function Hr(){return e=>e}0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getAutoRefs,getDirectoryFromWorkingDir,getFrameworkName,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getRefs,getRendererName,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,isPreservingSymlinks,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,satisfies,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles,validateFrameworkName});
|
package/dist/index.mjs
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
var
|
|
1
|
+
var l=(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')});import{dedent as ye}from"ts-dedent";import{logger as h}from"@storybook/node-logger";import $ from"path";import L from"fs";var E=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function pe(){return[...Array.from(E)]}var M=pe();function u(e){return M.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>L.existsSync(r))}function B(e){return M.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>L.existsSync(r.path))}var H=!1;function R(e){let r=!!l("module")._extensions[".ts"];if(H===!1&&!r){let{register:n}=l("esbuild-register/dist/node");H=!0,n({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
|
|
7
|
-
No configuration files have been found in your configDir (${
|
|
6
|
+
}`})}let t=l(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}function de(e){for(let r=0;r<e.length;r+=1){let t=B(e[r]);if(t)return t}}function b(e){let r=S(e);return r?R(r):null}function S(e){let r=Array.isArray(e)?e:[e],t=de(r);return t?t.path:null}import{dedent as le}from"ts-dedent";import ue from"glob";import U from"path";function P(e){let r=`{${Array.from(E).join(",")}}`;if(!(n=>!!ue.sync(U.resolve(e,`${n}${r}`)).length)("main"))throw new Error(le`
|
|
7
|
+
No configuration files have been found in your configDir (${U.resolve(e)}).
|
|
8
8
|
Storybook needs either a "main" or "config" file.
|
|
9
|
-
`)}function
|
|
9
|
+
`)}function q({configDir:e}){P(e);let r=b($.resolve(e,"presets"));if(b($.resolve(e,"main"))){let o=S($.resolve(e,"main"));if(o)return[o]}return r||[]}import ge from"resolve-from";var z=(e,r)=>{try{return ge(e,r)}catch{return}},J=e=>{try{return l.resolve(e)}catch{return}};var x=e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,be=e=>typeof e=="function";function he(e){return e.filter(r=>{let t=typeof r=="string"?r:r.name;return!/@storybook[\\\\/]preset-typescript/.test(t)})}function W(e,r,t){return be(e)?[...e({...t,...r})]:Array.isArray(e)?[...e]:[]}var xe=(e,r,t)=>{let o=r.startsWith("/")?J:z.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=d=>{if(o(`${r}${d}`))return`${r}${d}`},c=d=>o(`${r}${d}`),a=c("/manager"),f=c("/register")||c("/register-panel"),i=s("/preview"),m=c("/preview"),p=c("/preset");if(!(a||i)&&p)return{type:"presets",name:p};if(a||f||i||p){let d=[];return a&&d.push(a),!a&&f&&!p&&d.push(f),{type:"virtual",name:r,...d.length?{managerEntries:d}:{},...i?{previewAnnotations:[m?{bare:i,absolute:m}:i]}:{},...p?{presets:[{name:p,options:t}]}:{}}}if(n)return{type:"presets",name:n}},ve=({configDir:e})=>r=>{let t=x(r)&&r.options||void 0,o=x(r)?r.name:r;try{let n=xe(e,o,t);return{...t?{options:t}:{},...n}}catch{h.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 Ce(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 Pe(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 await k(s,r+1,t);if(x(s)){let{addons:c,presets:a,...f}=s,i=W(a,n,t),m=W(c,n,t);return[...await k([...i],r+1,t),...await k([...m.map(ve(t))].filter(Boolean),r+1,t),{name:o,preset:f,options:n}]}throw new Error(ye`
|
|
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 h.warn(n),h.error(o),[]}}async function k(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||h.info("=> Loading presets"),(await Promise.all(e.map(async o=>Pe(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function Y(e,r,t,o,n){let s=new Promise(c=>c(t));return e.length?e.reduce((c,{preset:a,options:f})=>{let i=a[r];if(!i)return c;if(typeof i=="function"){let m=i,p={preset:a,combinedOptions:{...n,...o,...f,presetsList:e,presets:{apply:async(d,C,
|
|
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.warn(n),h.error(o),[]}}async function k(e,r,t){return!e||!Array.isArray(e)||!e.length?[]:(r||h.info("=> Loading presets"),(await Promise.all(e.map(async o=>Pe(o,r,t)))).reduce((o,n)=>o.concat(n),[]))}function Y(e,r,t,o,n){let s=new Promise(c=>c(t));return e.length?e.reduce((c,{preset:a,options:f})=>{let i=a[r];if(!i)return c;if(typeof i=="function"){let m=i,p={preset:a,combinedOptions:{...n,...o,...f,presetsList:e,presets:{apply:async(d,C,y={})=>Y(e,d,C,y,n)}}};return c.then(d=>m.call(p.preset,d,p.combinedOptions))}return c.then(m=>Array.isArray(m)&&Array.isArray(i)?[...m,...i]:x(m)&&x(i)?{...m,...i}:i)},s):s}async function ke(e,r){let t=await k(e,0,r);return{apply:async(o,n,s={})=>Y(t,o,n,s,r)}}async function Sr(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...q(e),...t],s=he(n);return s.length<n.length&&h.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),ke(s,o)}import we from"file-system-cache";function j(e){return we(e)}import A from"path";import Oe from"pkg-dir";function K(e){let r=process.cwd(),t=Oe.sync(r),o;return t?o=A.resolve(t,"node_modules/.cache/storybook"):o=A.resolve(r,".cache/storybook"),A.join(o,e)}var Dr=j({basePath:K("dev-server"),ns:"storybook"});import{logger as _}from"@storybook/node-logger";var I=e=>r=>{let t=r.name||r;return t&&t.includes(e)},Ee=(e,r,t)=>{let o=e.findIndex(I("@storybook/addon-essentials")),n=e.findIndex(I(r.name)),s=e.findIndex(I(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},Br=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){_.warn("Unable to find 'addons' config in main Storybook config");return}if(!Ee(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",c=`'${e.name}'${e.inEssentials?s:""}`,a=`'${r.name}'${r.inEssentials?s:""}`;_.warn(`Expected ${c} to be listed before ${a} in main Storybook config.`)}}catch{_.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as Se}from"lazy-universal-dotenv";import w from"path";import V from"find-up";var zr=()=>{let e;try{let r=V.sync(".git",{type:"directory"});r&&(e=e||w.join(r,".."))}catch{}try{let r=V.sync(".svn",{type:"directory"});r&&(e=e||w.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},G=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>w.resolve("./",r)),Re=/^\.{1,2}([/\\]|$)/;function X(e){return Re.test(e)?e:`.${w.sep}${e}`}function Kr(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,[f,i])=>Object.assign(a,{[f]:JSON.stringify(i)}),{}),{stringified:n,raw:s}=Se({nodeEnv:t.NODE_ENV}),c={...t,...s};return c.NODE_PATH=G(c.NODE_PATH||""),{stringified:{...o,...n},raw:c}}var Vr=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 Z from"path";import{sync as $e}from"find-up";var et=(e,r)=>{let t=$e("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=Z.dirname(t);return Z.join(o,"dist","esm",r)};import{dedent as je}from"ts-dedent";async function Q(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(je`
|
|
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 st(e){let{renderer:r}=await e.presets.apply("core",{},e);return r||Q(e)}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 Ae from"path";import _e 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,Ie=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],Fe=e=>{let[r,t,o]=Ie(e,([a])=>re[a]),[n,s]=r||t||o||[],c=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:c,frameworkPackage:n,renderer:c,rendererPackage:n}},Ne=["ts","js","tsx","jsx","mjs","cjs"],F=(e,r)=>{let t=Ae.join(r,e),o=Ne.find(n=>_e.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Te=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=Fe(e),t=Te(e);return{...r,...t}};import{readJSON as oe}from"fs-extra";import{dirname as De,join as Le}from"path";import Me from"find-up";import
|
|
17
|
-
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${N.resolve(e,"addons")})`);return t||r}import T from"path";import{dedent as Ge}from"ts-dedent";function
|
|
18
|
-
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${T.resolve(e,"config")})`);return t||r}import Xe from"chalk";function
|
|
16
|
+
`);return typeof r=="object"?r.name:r}async function st(e){let{renderer:r}=await e.presets.apply("core",{},e);return r||Q(e)}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 Ae from"path";import _e 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,Ie=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],Fe=e=>{let[r,t,o]=Ie(e,([a])=>re[a]),[n,s]=r||t||o||[],c=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:c,frameworkPackage:n,renderer:c,rendererPackage:n}},Ne=["ts","js","tsx","jsx","mjs","cjs"],F=(e,r)=>{let t=Ae.join(r,e),o=Ne.find(n=>_e.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Te=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=Fe(e),t=Te(e);return{...r,...t}};import{readJSON as oe}from"fs-extra";import{dirname as De,join as Le}from"path";import Me from"find-up";import Be from"resolve-from";import{logger as He}from"@storybook/node-logger";var Ue=async e=>{let r=await Me("package.json",{cwd:e.configDir});if(!r)return{};let t=De(r),{dependencies:o=[],devDependencies:n=[]}=await oe(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async a=>{try{let f=Be(t,Le(a,"package.json")),{storybook:i,name:m,version:p}=await oe(f)||{};if(i?.url)return{id:m,...i,version:p}}catch(f){if(f.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;He.warn(`unable to find package.json for ${a}`);return}}))).filter(Boolean).reduce((a,f)=>({...a,[f.id]:{id:f.id.toLowerCase(),url:ne(f.url),title:f.title,version:f.version}}),{})},qe=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 ht(e){let r=await e.presets.apply("refs",await Ue(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 qe(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}import{makeRe as Je}from"picomatch";function se(e){let r=Je(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 We from"handlebars";function kt(e,r){return We.compile(e)(r)}var Ot=(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 Ye from"path";function jt({configDir:e}){return P(e),b(Ye.resolve(e,"main"))}import N from"path";import{logger as Ke}from"@storybook/node-logger";import{dedent as Ve}from"ts-dedent";function Tt({configDir:e}){let r=u(N.resolve(e,"addons")),t=u(N.resolve(e,"manager"));if((r||t)&&Ke.info("=> Loading custom manager config"),r&&t)throw new Error(Ve`
|
|
17
|
+
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${N.resolve(e,"addons")})`);return t||r}import T from"path";import{dedent as Ge}from"ts-dedent";function Ht({configDir:e}){let r=u(T.resolve(e,"config")),t=u(T.resolve(e,"preview"));if(r&&t)throw new Error(Ge`
|
|
18
|
+
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${T.resolve(e,"config")})`);return t||r}import Xe from"chalk";function zt(e,r){console.log(Xe.cyan(e)),console.dir(r,{depth:null})}import Ze from"fs";import v from"path";import{scan as Qe}from"picomatch";import ie from"slash";var O="",ae="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",er=(e,r)=>{try{return Ze.lstatSync(v.resolve(e,r)).isDirectory()}catch{return!1}},rr=({configDir:e,workingDir:r,directory:t})=>{let o=v.resolve(e,t),n=v.relative(r,o);return X(n)},tr=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let f=Qe(e);if(f.isGlob){let i=f.prefix+f.base,m=f.glob;o={titlePrefix:O,directory:i,files:m}}else er(r,e)?o={titlePrefix:O,directory:e,files:ae}:o={titlePrefix:O,directory:v.dirname(e),files:v.basename(e)}}else o={titlePrefix:O,files:ae,...e};let n=ie(o.files),{directory:s}=o,c=ie(rr({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),a=se(`${c}/${n}`);return{...o,directory:c,importPathMatcher:a}},Zt=(e,r)=>e.map(t=>tr(t,r));import or from"pretty-hrtime";var ce=e=>or(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var oo=async(e,r,t)=>{let o=0,n,s=()=>{};e.get("/progress",(f,i)=>{let m=!1,p=()=>{m=!0,i.end()};i.on("close",p),!(m||i.writableEnded)&&(i.setHeader("Cache-Control","no-cache"),i.setHeader("Content-Type","text/event-stream"),i.setHeader("Connection","keep-alive"),i.flushHeaders(),s=d=>{m||i.writableEnded||(i.write(`data: ${JSON.stringify(d)}
|
|
19
19
|
|
|
20
|
-
`),i.flush(),d.value===1&&p())})});let c=(f,i,m)=>{o=Math.max(f,o);let p={value:o,message:i.charAt(0).toUpperCase()+i.slice(1)};if(i==="building"){let d=m&&m.match(/(\d+)\/(\d+)/)||[],C=parseInt(d[1],10),
|
|
20
|
+
`),i.flush(),d.value===1&&p())})});let c=(f,i,m)=>{o=Math.max(f,o);let p={value:o,message:i.charAt(0).toUpperCase()+i.slice(1)};if(i==="building"){let d=m&&m.match(/(\d+)\/(\d+)/)||[],C=parseInt(d[1],10),y=parseInt(d[2],10);!Number.isNaN(C)&&!Number.isNaN(y)&&(p.modules={complete:C,total:y},n=y)}o===1&&(t.cache&&t.cache.set("modulesCount",n),p.message||(p.message=`Completed in ${ce(r)}.`)),s(p)},a=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:c,modulesCount:a}};import nr from"fs-extra";async function io(e){return nr.readFile(e,{encoding:"utf8"})}function co(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=process.env;return!!r||e?.includes("--preserve-symlinks")}import fe from"path";import{sync as D}from"pkg-dir";import g from"fs";var me=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function uo(e,r){let t=g.readFileSync(`${D(__dirname)}/templates/base-preview-body.html`,"utf8"),o=fe.resolve(e,"preview-body.html"),n=t;return g.existsSync(o)&&(n=g.readFileSync(o,"utf8")+n),me(n,r)}function go(e,r){let t=g.readFileSync(`${D(__dirname)}/templates/base-preview-head.html`,"utf8"),o=fe.resolve(e,"preview-head.html"),n=t;return g.existsSync(o)&&(n+=g.readFileSync(o,"utf8")),me(n,r)}function yo(){return`${D(__dirname)}/templates/preview.ejs`}import{dedent as sr}from"ts-dedent";var ir=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function xo(e){if(ir.includes(e))throw new Error(sr`
|
|
21
21
|
Invalid value of ${e} in the 'framework' field of Storybook config.
|
|
22
22
|
|
|
23
23
|
Please run 'npx sb@next automigrate'
|
|
24
24
|
|
|
25
25
|
See the v7 Migration guide for more information:
|
|
26
26
|
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
27
|
-
`)}function Co(){return e=>e}export{E as boost,Dr as cache,
|
|
27
|
+
`)}function Co(){return e=>e}export{E as boost,Dr as cache,Br as checkAddonOrder,j as createFileSystemCache,he as filterPresetsConfig,et as findDistEsm,Ue as getAutoRefs,rr as getDirectoryFromWorkingDir,Q as getFrameworkName,u as getInterpretedFile,B as getInterpretedFileWithExt,ke as getPresets,uo as getPreviewBodyTemplate,go as getPreviewHeadTemplate,yo as getPreviewMainTemplate,zr as getProjectRoot,ht as getRefs,st as getRendererName,ee as getStorybookConfiguration,pt as getStorybookInfo,se as globToRegexp,kt as handlebars,R as interopRequireDefault,Ot as interpolate,co as isPreservingSymlinks,Sr as loadAllPresets,q as loadCustomPresets,Kr as loadEnvs,jt as loadMainConfig,Tt as loadManagerOrAddonsFile,Pe as loadPreset,Ht as loadPreviewOrConfigFile,zt as logConfig,G as nodePathsToArray,Zt as normalizeStories,tr as normalizeStoriesEntry,X as normalizeStoryPath,io as readTemplate,xe as resolveAddonName,K as resolvePathInStorybookCache,Co as satisfies,b as serverRequire,S as serverResolve,Vr as stringifyEnvs,Gr as stringifyProcessEnvs,oo as useProgressReporting,P as validateConfigurationFiles,xo as validateFrameworkName};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/core-common",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.51",
|
|
4
4
|
"description": "Storybook framework-agnostic API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"prep": "../../../scripts/prepare/bundle.ts"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@babel/core": "^7.
|
|
50
|
-
"@storybook/node-logger": "7.0.0-alpha.
|
|
51
|
-
"@storybook/types": "7.0.0-alpha.
|
|
52
|
-
"@types/babel__core": "^7.
|
|
49
|
+
"@babel/core": "^7.20.2",
|
|
50
|
+
"@storybook/node-logger": "7.0.0-alpha.51",
|
|
51
|
+
"@storybook/types": "7.0.0-alpha.51",
|
|
52
|
+
"@types/babel__core": "^7.1.20",
|
|
53
53
|
"@types/express": "^4.7.0",
|
|
54
|
-
"@types/node": "^16.0.0",
|
|
54
|
+
"@types/node": "^16.0.0 || ^18.0.0",
|
|
55
55
|
"@types/pretty-hrtime": "^1.0.0",
|
|
56
56
|
"chalk": "^4.1.0",
|
|
57
57
|
"esbuild": "^0.14.48",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"@types/mock-fs": "^4.13.1",
|
|
77
77
|
"@types/picomatch": "^2.3.0",
|
|
78
78
|
"mock-fs": "^5.2.0",
|
|
79
|
-
"type-fest": "^2.
|
|
80
|
-
"typescript": "
|
|
79
|
+
"type-fest": "^2.19.0",
|
|
80
|
+
"typescript": "^4.9.3"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
],
|
|
98
98
|
"platform": "node"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "4fec76c3f5135854d9834ebc1cf2f1f325696ded"
|
|
101
101
|
}
|