@storybook/core-common 7.0.0-alpha.42 → 7.0.0-alpha.43
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 +10 -3
- package/dist/index.js +17 -13
- package/dist/index.mjs +14 -10
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -730,11 +730,13 @@ declare function createFileSystemCache(options: Options$2): FileSystemCache;
|
|
|
730
730
|
* ⚠️ This file contains internal WIP types they MUST NOT be exported outside this package for now!
|
|
731
731
|
*/
|
|
732
732
|
declare type BuilderName = 'webpack5' | '@storybook/builder-webpack5' | string;
|
|
733
|
+
declare type RendererName = string;
|
|
733
734
|
interface CoreConfig {
|
|
734
735
|
builder?: BuilderName | {
|
|
735
736
|
name: BuilderName;
|
|
736
737
|
options?: Record<string, any>;
|
|
737
738
|
};
|
|
739
|
+
renderer?: RendererName;
|
|
738
740
|
disableWebpackDefaults?: boolean;
|
|
739
741
|
channelOptions?: Partial<Options$3>;
|
|
740
742
|
/**
|
|
@@ -1127,8 +1129,8 @@ declare function loadPreset(input: PresetConfig, level: number, storybookOptions
|
|
|
1127
1129
|
declare type InterPresetOptions = Omit<CLIOptions & LoadOptions & BuilderOptions, 'frameworkPresets'>;
|
|
1128
1130
|
declare function getPresets(presets: PresetConfig[], storybookOptions: InterPresetOptions): Promise<Presets>;
|
|
1129
1131
|
declare function loadAllPresets(options: CLIOptions & LoadOptions & BuilderOptions & {
|
|
1130
|
-
corePresets:
|
|
1131
|
-
overridePresets:
|
|
1132
|
+
corePresets: PresetConfig[];
|
|
1133
|
+
overridePresets: PresetConfig[];
|
|
1132
1134
|
}): Promise<Presets>;
|
|
1133
1135
|
|
|
1134
1136
|
declare const cache: Cache.FileSystemCache;
|
|
@@ -1165,6 +1167,11 @@ declare const findDistEsm: (cwd: string, relativePath: string) => string;
|
|
|
1165
1167
|
*/
|
|
1166
1168
|
declare function getFrameworkName(options: Options$1): Promise<string>;
|
|
1167
1169
|
|
|
1170
|
+
/**
|
|
1171
|
+
* Render is set as a string on core. It must be set by the framework
|
|
1172
|
+
*/
|
|
1173
|
+
declare function getRendererName(options: Options$1): Promise<string>;
|
|
1174
|
+
|
|
1168
1175
|
declare function getStorybookConfiguration(storybookScript: string, shortName: string, longName: string): string | null;
|
|
1169
1176
|
|
|
1170
1177
|
interface StorybookInfo {
|
|
@@ -1275,4 +1282,4 @@ declare function validateConfigurationFiles(configDir: string): void;
|
|
|
1275
1282
|
*/
|
|
1276
1283
|
declare function satisfies<A>(): <T extends A>(x: T) => T;
|
|
1277
1284
|
|
|
1278
|
-
export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, DocsOptions, Entry, IndexedStory, IndexerOptions, LoadOptions, LoadedPreset, NormalizedStoriesSpecifier, Options$1 as Options, OptionsEntry, PackageJson, Preset, PresetConfig, PresetProperty, PresetPropertyFn, Presets, Ref, ReleaseNotesData, Stats, StoriesEntry, StoryIndex, StoryIndexer, StorybookConfig, StorybookConfigOptions, TypescriptOptions, VersionCheck, 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, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, useProgressReporting, validateConfigurationFiles, validateFrameworkName };
|
|
1285
|
+
export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, DocsOptions, Entry, IndexedStory, IndexerOptions, LoadOptions, LoadedPreset, NormalizedStoriesSpecifier, Options$1 as Options, OptionsEntry, PackageJson, Preset, PresetConfig, PresetProperty, PresetPropertyFn, Presets, Ref, ReleaseNotesData, RendererName, Stats, StoriesEntry, StoryIndex, StoryIndexer, StorybookConfig, StorybookConfigOptions, TypescriptOptions, VersionCheck, 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,37 +1,41 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Xe=Object.create;var E=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)E(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&&E(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?E(t,"default",{value:e,enumerable:!0}):t,e)),or=e=>oe(E({},"__esModule",{value:!0}),e);var Wr={};tr(Wr,{boost:()=>C,cache:()=>mr,checkAddonOrder:()=>lr,createFileSystemCache:()=>I,filterPresetsConfig:()=>ge,findDistEsm:()=>xr,getAutoRefs:()=>Ie,getDirectoryFromWorkingDir:()=>ze,getFrameworkName:()=>vr,getInterpretedFile:()=>u,getInterpretedFileWithExt:()=>J,getPresets:()=>be,getPreviewBodyTemplate:()=>Jr,getPreviewHeadTemplate:()=>Ur,getPreviewMainTemplate:()=>qr,getProjectRoot:()=>gr,getRefs:()=>jr,getRendererName:()=>wr,getStorybookConfiguration:()=>X,getStorybookInfo:()=>Er,globToRegexp:()=>ee,handlebars:()=>Sr,interopRequireDefault:()=>$,interpolate:()=>Ar,isPreservingSymlinks:()=>Hr,loadAllPresets:()=>pr,loadCustomPresets:()=>q,loadEnvs:()=>yr,loadMainConfig:()=>Ir,loadManagerOrAddonsFile:()=>Fr,loadPreset:()=>ye,loadPreviewOrConfigFile:()=>Nr,logConfig:()=>Tr,nodePathsToArray:()=>G,normalizeStories:()=>Dr,normalizeStoriesEntry:()=>Be,normalizeStoryPath:()=>K,readTemplate:()=>Mr,resolveAddonName:()=>ue,resolvePathInStorybookCache:()=>z,satisfies:()=>Yr,serverRequire:()=>h,serverResolve:()=>j,stringifyEnvs:()=>hr,stringifyProcessEnvs:()=>br,useProgressReporting:()=>Lr,validateConfigurationFiles:()=>P,validateFrameworkName:()=>Br});module.exports=or(Wr);var de=require("ts-dedent"),x=require("@storybook/node-logger"),le=require("path");var S=f(require("path"));var H=f(require("fs")),C=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function nr(){return[...Array.from(C)]}var ne=nr();function u(e){return ne.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>H.default.existsSync(r))}function J(e){return ne.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>H.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
|
|
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 w=require("ts-dedent"),ie=f(require("util-deprecate")),ae=f(require("glob")),b=f(require("path"));var ir=(0,ie.default)(()=>{},w.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(
|
|
9
|
+
`),U=(e,r,t)=>{let o=b.default.resolve(t,e),n=b.default.resolve(t,r);throw new Error(w.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
|
|
15
|
+
`)};function P(e){let r=`{${Array.from(C).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(w.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
|
-
`);if(o&&n)throw new Error(
|
|
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 i=t("addons");t("manager")&&i&&U("manager","addons",e),(s||n||i)&&
|
|
20
|
-
${r}`)}};async function
|
|
18
|
+
`);if(o&&n)throw new Error(w.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 i=t("addons");t("manager")&&i&&U("manager","addons",e),(s||n||i)&&ir()}function q({configDir:e}){P(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 me(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`),m=s&&(0,le.dirname)(s),i=g=>{if(o(`${r}${g}`))return`${m}${g}`},p=r,c=i("/manager"),a=i("/register")||i("/register-panel"),l=i("/preview"),d=o(`${p}/preset`);if(!(c||l)&&d)return{type:"presets",name:d};if(c||a||l||d){let g=[];return c&&g.push(c),!c&&a&&!d&&g.push(a),{type:"virtual",name:p,...g.length?{managerEntries:g}:{},...l?{previewAnnotations:[l]}:{},...d?{presets:[{name:d,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:m,presets:i,...p}=s,c=me(i,n,t),a=me(m,n,t);return[...await A([...c],r+1,t),...await A([...a.map(cr(t))].filter(Boolean),r+1,t),{name:o,preset:p,options:n}]}throw new Error(de.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(
|
|
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(m=>m(t));return e.length?e.reduce((m,{preset:i,options:p})=>{let c=i[r];if(!c)return m;if(typeof c=="function"){let a=c,l={preset:i,combinedOptions:{...n,...o,...p,presetsList:e,presets:{apply:async(d,g,R={})=>he(e,d,g,R,n)}}};return m.then(d=>a.call(l.preset,d,l.combinedOptions))}return m.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 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 xe=f(require("file-system-cache"));function I(e){return(0,xe.default)(e)}var F=f(require("path")),ve=f(require("pkg-dir"));function z(e){let r=process.cwd(),t=ve.default.sync(r),o;return t?o=F.default.resolve(t,"node_modules/.cache/storybook"):o=F.default.resolve(r,".cache/storybook"),F.default.join(o,e)}var mr=I({basePath:z("dev-server"),ns:"storybook"});var{logger:B}=require("@storybook/node-logger"),Y=e=>r=>{let t=r.name||r;return t&&t.includes(e)},dr=(e,r,t)=>{let o=e.findIndex(Y("@storybook/addon-essentials")),n=e.findIndex(Y(r.name)),s=e.findIndex(Y(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},lr=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(!dr(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",m=`'${e.name}'${e.inEssentials?s:""}`,i=`'${r.name}'${r.inEssentials?s:""}`;B.warn(`Expected ${m} to be listed before ${i} in main Storybook config.`)}}catch{B.warn(`Unable to load config file: ${t}`)}};var we=require("lazy-universal-dotenv");var O=f(require("path")),W=f(require("find-up")),gr=()=>{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()},G=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>O.default.resolve("./",r)),ur=/^\.{1,2}([/\\]|$)/;function K(e){return ur.test(e)?e:`.${O.default.sep}${e}`}function yr(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,[p,c])=>Object.assign(i,{[p]:JSON.stringify(c)}),{}),{stringified:n,raw:s}=(0,we.getEnvironment)({nodeEnv:t.NODE_ENV}),m={...t,...s};return m.NODE_PATH=G(m.NODE_PATH||""),{stringified:{...o,...n},raw:m}}var hr=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),br=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});var V=f(require("path")),Pe=require("find-up"),xr=(e,r)=>{let t=(0,Pe.sync)("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=V.default.dirname(t);return V.default.join(o,"dist","esm",r)};var ke=require("ts-dedent");async function vr(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(ke.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}
|
|
27
|
-
You
|
|
28
|
-
|
|
26
|
+
`);return typeof r=="object"?r.name:r}var Oe=require("ts-dedent");async function wr(e){let{renderer:r}=await e.presets.apply("core",{},e);if(!r)throw new Error(Oe.dedent`
|
|
27
|
+
You must specify a framework in '.storybook/main.js' config.
|
|
28
|
+
|
|
29
|
+
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
30
|
+
`);return r}function X(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")),$e=f(require("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"},Ee=console,Pr=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],kr=e=>{let[r,t,o]=Pr(e,([i])=>Re[i]),[n,s]=r||t||o||[],m=n?Re[n]:void 0;return r&&t&&r[0]===t[0]&&Ee.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&Ee.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:m,frameworkPackage:n,renderer:m,rendererPackage:n}},Or=["ts","js","tsx","jsx","mjs","cjs"],Z=(e,r)=>{let t=Ce.default.join(r,e),o=Or.find(n=>$e.default.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Rr=e=>{var o;let r=".storybook",t=(o=e.scripts)==null?void 0:o.storybook;if(t){let n=X(t,"-c","--config-dir");n&&(r=n)}return{configDir:r,mainConfig:Z("main",r),previewConfig:Z("preview",r),managerConfig:Z("manager",r)}},Er=e=>{let r=kr(e),t=Rr(e);return{...r,...t}};var Q=require("fs-extra"),N=require("path"),je=f(require("find-up")),Se=f(require("resolve-from")),Ae=require("@storybook/node-logger"),Ie=async e=>{let r=await(0,je.default)("package.json",{cwd:e.configDir});if(!r)return{};let t=(0,N.dirname)(r),{dependencies:o=[],devDependencies:n=[]}=await(0,Q.readJSON)(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async i=>{try{let p=(0,Se.default)(t,(0,N.join)(i,"package.json")),{storybook:c,name:a,version:l}=await(0,Q.readJSON)(p)||{};if(c!=null&&c.url)return{id:a,...c,version:l}}catch(p){if(p.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;Ae.logger.warn(`unable to find package.json for ${i}`);return}}))).filter(Boolean).reduce((i,p)=>({...i,[p.id]:{id:p.id.toLowerCase(),url:Fe(p.url),title:p.title,version:p.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),Fe=e=>e.replace(/\/$/,""),$r=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 jr(e){let r=await e.presets.apply("refs",await Ie(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||$r(o.id||t),url:Fe(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 Ne=require("picomatch");function ee(e){let r=(0,Ne.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 Te=f(require("handlebars"));function Sr(e,r){return Te.default.compile(e)(r)}var Ar=(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 _e=f(require("path"));function Ir({configDir:e}){return P(e),h(_e.default.resolve(e,"main"))}var T=f(require("path")),De=require("@storybook/node-logger"),Le=require("ts-dedent");function Fr({configDir:e}){let r=u(T.default.resolve(e,"addons")),t=u(T.default.resolve(e,"manager"));if((r||t)&&De.logger.info("=> Loading custom manager config"),r&&t)throw new Error(Le.dedent`
|
|
31
|
+
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${T.default.resolve(e,"addons")})`);return t||r}var _=f(require("path")),Me=require("ts-dedent");function Nr({configDir:e}){let r=u(_.default.resolve(e,"config")),t=u(_.default.resolve(e,"preview"));if(r&&t)throw new Error(Me.dedent`
|
|
32
|
+
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${_.default.resolve(e,"config")})`);return t||r}var He=f(require("chalk"));function Tr(e,r){console.log(He.default.cyan(e)),console.dir(r,{depth:null})}var Ue=f(require("fs")),v=f(require("path")),qe=require("picomatch"),re=f(require("slash"));var D="",Je="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",_r=(e,r)=>{try{return Ue.default.lstatSync(v.default.resolve(e,r)).isDirectory()}catch{return!1}},ze=({configDir:e,workingDir:r,directory:t})=>{let o=v.default.resolve(e,t),n=v.default.relative(r,o);return K(n)},Be=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let p=(0,qe.scan)(e);if(p.isGlob){let c=p.prefix+p.base,a=p.glob;o={titlePrefix:D,directory:c,files:a}}else _r(r,e)?o={titlePrefix:D,directory:e,files:Je}:o={titlePrefix:D,directory:v.default.dirname(e),files:v.default.basename(e)}}else o={titlePrefix:D,files:Je,...e};let n=(0,re.default)(o.files),{directory:s}=o,m=(0,re.default)(ze({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),i=ee(`${m}/${n}`);return{...o,directory:m,importPathMatcher:i}},Dr=(e,r)=>e.map(t=>Be(t,r));var Ye=f(require("pretty-hrtime")),We=e=>(0,Ye.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var Lr=async(e,r,t)=>{var p;let o=0,n,s=()=>{};e.get("/progress",(c,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=g=>{l||a.writableEnded||(a.write(`data: ${JSON.stringify(g)}
|
|
29
33
|
|
|
30
|
-
`),a.flush(),g.value===1&&
|
|
34
|
+
`),a.flush(),g.value===1&&d())})});let m=(c,a,l)=>{o=Math.max(c,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let g=l&&l.match(/(\d+)\/(\d+)/)||[],R=parseInt(g[1],10),M=parseInt(g[2],10);!Number.isNaN(R)&&!Number.isNaN(M)&&(d.modules={complete:R,total:M},n=M)}o===1&&(t.cache&&t.cache.set("modulesCount",n),d.message||(d.message=`Completed in ${We(r)}.`)),s(d)},i=await((p=t.cache)==null?void 0:p.get("modulesCount").catch(()=>{}))||1e3;return{handler:m,modulesCount:i}};var Ge=f(require("fs-extra"));async function Mr(e){return Ge.default.readFile(e,{encoding:"utf8"})}function Hr(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=process.env;return!!r||(e==null?void 0:e.includes("--preserve-symlinks"))}var te=f(require("path")),L=require("pkg-dir"),y=f(require("fs")),Ke=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Jr(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=te.default.resolve(e,"preview-body.html"),n=t;return y.default.existsSync(o)&&(n=y.default.readFileSync(o,"utf8")+n),Ke(n,r)}function Ur(e,r){let t=y.default.readFileSync(`${(0,L.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=te.default.resolve(e,"preview-head.html"),n=t;return y.default.existsSync(o)&&(n+=y.default.readFileSync(o,"utf8")),Ke(n,r)}function qr(){return`${(0,L.sync)(__dirname)}/templates/preview.ejs`}var Ve=require("ts-dedent"),zr=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function Br(e){if(zr.includes(e))throw new Error(Ve.dedent`
|
|
31
35
|
Invalid value of ${e} in the 'framework' field of Storybook config.
|
|
32
36
|
|
|
33
37
|
Please run 'npx sb@next automigrate'
|
|
34
38
|
|
|
35
39
|
See the v7 Migration guide for more information:
|
|
36
40
|
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
37
|
-
`)}function
|
|
41
|
+
`)}function Yr(){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,9 +1,9 @@
|
|
|
1
|
-
var u=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(r,t)=>(typeof require!="undefined"?require:r)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var a={};import{dedent as ve}from"ts-dedent";import{logger as P}from"@storybook/node-logger";import{dirname as Pe}from"path";import A from"path";import K from"fs";var T=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function ge(){return[...Array.from(T)]}var U=ge();function y(e){return U.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>K.existsSync(r))}function H(e){return U.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>K.existsSync(r.path))}var V=!1;function
|
|
1
|
+
var u=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(r,t)=>(typeof require!="undefined"?require:r)[t]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var a={};import{dedent as ve}from"ts-dedent";import{logger as P}from"@storybook/node-logger";import{dirname as Pe}from"path";import A from"path";import K from"fs";var T=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function ge(){return[...Array.from(T)]}var U=ge();function y(e){return U.map(r=>e.endsWith(r)?e:`${e}${r}`).find(r=>K.existsSync(r))}function H(e){return U.map(r=>({path:e.endsWith(r)?e:`${e}${r}`,ext:r})).find(r=>K.existsSync(r.path))}var V=!1;function I(e){if(V===!1){let{register:o}=u("esbuild-register/dist/node");V=!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=u(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function ue(e){for(let r=0;r<e.length;r+=1){let t=H(e[r]);if(t)return t}}function h(e){let r
|
|
6
|
+
}`})}let r=u(e);return typeof r=="object"&&r!==null&&typeof r.default<"u"?r.default:r}function ue(e){for(let r=0;r<e.length;r+=1){let t=H(e[r]);if(t)return t}}function h(e){let r=$(e);return r?I(r):null}function $(e){let r=Array.isArray(e)?e:[e],t=ue(r);return t?t.path:null}import{dedent as w}from"ts-dedent";import ye from"util-deprecate";import be from"glob";import v from"path";var xe=ye(()=>{},w`
|
|
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
9
|
`),j=(e,r,t)=>{let o=v.resolve(t,e),n=v.resolve(t,r);throw new Error(w`
|
|
@@ -16,22 +16,26 @@ var u=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Prox
|
|
|
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 s=t("presets");o&&s&&j("main","presets",e),t("preview")&&n&&j("preview","config",e);let c=t("addons");t("manager")&&c&&j("manager","addons",e),(s||n||c)&&xe()}function q({configDir:e}){S(e);let r=h(A.resolve(e,"presets"));if(h(A.resolve(e,"main"))){let o
|
|
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
|
|
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&&j("main","presets",e),t("preview")&&n&&j("preview","config",e);let c=t("addons");t("manager")&&c&&j("manager","addons",e),(s||n||c)&&xe()}function q({configDir:e}){S(e);let r=h(A.resolve(e,"presets"));if(h(A.resolve(e,"main"))){let o=$(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`),f=s&&Pe(s),c=g=>{if(o(`${r}${g}`))return`${f}${g}`},p=r,i=c("/manager"),l=c("/register")||c("/register-panel"),d=c("/preview"),m=o(`${p}/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:p,...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 I(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:f,presets:c,...p}=s,i=Y(c,n,t),l=Y(f,n,t);return[...await C([...i],r+1,t),...await C([...l.map(Se(t))].filter(Boolean),r+1,t),{name:o,preset:p,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 s=new Promise(f=>f(t));return e.length?e.reduce((f,{preset:c,options:p})=>{let i=c[r];if(!i)return f;if(typeof i=="function"){let l=i,d={preset:c,combinedOptions:{...n,...o,...p,presetsList:e,presets:{apply:async(m,g,x={})=>G(e,m,g,x,n)}}};return f.then(m=>l.call(d.preset,m,d.combinedOptions))}return f.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
|
|
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(f=>f(t));return e.length?e.reduce((f,{preset:c,options:p})=>{let i=c[r];if(!i)return f;if(typeof i=="function"){let l=i,d={preset:c,combinedOptions:{...n,...o,...p,presetsList:e,presets:{apply:async(m,g,x={})=>G(e,m,g,x,n)}}};return f.then(m=>l.call(d.preset,m,d.combinedOptions))}return f.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 Lr(e){let{corePresets:r=[],overridePresets:t=[],...o}=e,n=[...r,...q(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)}import Te from"file-system-cache";function N(e){return Te(e)}import D from"path";import Ie from"pkg-dir";function X(e){let r=process.cwd(),t=Ie.sync(r),o;return t?o=D.resolve(t,"node_modules/.cache/storybook"):o=D.resolve(r,".cache/storybook"),D.join(o,e)}var qr=N({basePath:X("dev-server"),ns:"storybook"});var{logger:F}=u("@storybook/node-logger"),L=e=>r=>{let t=r.name||r;return t&&t.includes(e)},$e=(e,r,t)=>{let o=e.findIndex(L("@storybook/addon-essentials")),n=e.findIndex(L(r.name)),s=e.findIndex(L(t.name));return n===-1&&r.inEssentials&&(n=o),s===-1&&t.inEssentials&&(s=o),n!==-1&&s!==-1&&n<=s},zr=async({before:e,after:r,configFile:t,getConfig:o})=>{try{let n=await o(t);if(!n?.addons){F.warn("Unable to find 'addons' config in main Storybook config");return}if(!$e(n.addons,e,r)){let s=" (or '@storybook/addon-essentials')",f=`'${e.name}'${e.inEssentials?s:""}`,c=`'${r.name}'${r.inEssentials?s:""}`;F.warn(`Expected ${f} to be listed before ${c} in main Storybook config.`)}}catch{F.warn(`Unable to load config file: ${t}`)}};import{getEnvironment as Ae}from"lazy-universal-dotenv";import R from"path";import Z from"find-up";var Zr=()=>{let e;try{let r=Z.sync(".git",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{let r=Z.sync(".svn",{type:"directory"});r&&(e=e||R.join(r,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},Q=e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(r=>R.resolve("./",r)),je=/^\.{1,2}([/\\]|$)/;function ee(e){return je.test(e)?e:`.${R.sep}${e}`}function tt(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,[p,i])=>Object.assign(c,{[p]:JSON.stringify(i)}),{}),{stringified:n,raw:s}=Ae({nodeEnv:t.NODE_ENV}),f={...t,...s};return f.NODE_PATH=Q(f.NODE_PATH||""),{stringified:{...o,...n},raw:f}}var ot=e=>Object.entries(e).reduce((r,[t,o])=>(r[t]=JSON.stringify(o),r),{}),nt=e=>Object.entries(e).reduce((t,[o,n])=>(t[`process.env.${o}`]=JSON.stringify(n),t),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'});import re from"path";import{sync as Ne}from"find-up";var ct=(e,r)=>{let t=Ne("package.json",{cwd:e});if(!t)throw new Error(`Could not find package.json in: ${e}`);let o=re.dirname(t);return re.join(o,"dist","esm",r)};import{dedent as De}from"ts-dedent";async function lt(e){let r=await e.presets.apply("framework","",e);if(!r)throw new Error(De`
|
|
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}
|
|
27
|
-
You
|
|
28
|
-
|
|
26
|
+
`);return typeof r=="object"?r.name:r}import{dedent as Fe}from"ts-dedent";async function gt(e){let{renderer:r}=await e.presets.apply("core",{},e);if(!r)throw new Error(Fe`
|
|
27
|
+
You must specify a framework in '.storybook/main.js' config.
|
|
28
|
+
|
|
29
|
+
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
30
|
+
`);return r}function te(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 Le from"path";import _e from"fs-extra";var oe={"@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"},ne=console,Me=({dependencies:e,devDependencies:r,peerDependencies:t},o)=>[Object.entries(e||{}).find(o),Object.entries(r||{}).find(o),Object.entries(t||{}).find(o)],Be=e=>{let[r,t,o]=Me(e,([c])=>oe[c]),[n,s]=r||t||o||[],f=n?oe[n]:void 0;return r&&t&&r[0]===t[0]&&ne.warn(`Found "${r[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),r&&o&&r[0]===o[0]&&ne.warn(`Found "${r[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version:s,framework:f,frameworkPackage:n,renderer:f,rendererPackage:n}},Je=["ts","js","tsx","jsx","mjs","cjs"],_=(e,r)=>{let t=Le.join(r,e),o=Je.find(n=>_e.existsSync(`${t}.${n}`));return o?`${t}.${o}`:null},Ke=e=>{let r=".storybook",t=e.scripts?.storybook;if(t){let o=te(t,"-c","--config-dir");o&&(r=o)}return{configDir:r,mainConfig:_("main",r),previewConfig:_("preview",r),managerConfig:_("manager",r)}},vt=e=>{let r=Be(e),t=Ke(e);return{...r,...t}};import{readJSON as se}from"fs-extra";import{dirname as Ue,join as He}from"path";import Ve from"find-up";import qe from"resolve-from";import{logger as We}from"@storybook/node-logger";var ze=async e=>{let r=await Ve("package.json",{cwd:e.configDir});if(!r)return{};let t=Ue(r),{dependencies:o=[],devDependencies:n=[]}=await se(r)||{},s=Object.keys({...o,...n});return(await Promise.all(s.map(async c=>{try{let p=qe(t,He(c,"package.json")),{storybook:i,name:l,version:d}=await se(p)||{};if(i?.url)return{id:l,...i,version:d}}catch(p){if(p.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;We.warn(`unable to find package.json for ${c}`);return}}))).filter(Boolean).reduce((c,p)=>({...c,[p.id]:{id:p.id.toLowerCase(),url:ie(p.url),title:p.title,version:p.version}}),{})},Ye=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),ie=e=>e.replace(/\/$/,""),Ge=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 Rt(e){let r=await e.presets.apply("refs",await ze(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||Ge(o.id||t),url:ie(o.url)}}),await Promise.all(Object.entries(r).map(async([t,o])=>{let n=await Ye(o.url);r[t]={...o,type:n?"server-checked":"unknown"}})),r}import{makeRe as Xe}from"picomatch";function ae(e){let r=Xe(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 Ze from"handlebars";function jt(e,r){return Ze.compile(e)(r)}var Nt=(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 Qe from"path";function Mt({configDir:e}){return S(e),h(Qe.resolve(e,"main"))}import M from"path";import{logger as er}from"@storybook/node-logger";import{dedent as rr}from"ts-dedent";function Vt({configDir:e}){let r=y(M.resolve(e,"addons")),t=y(M.resolve(e,"manager"));if((r||t)&&er.info("=> Loading custom manager config"),r&&t)throw new Error(rr`
|
|
31
|
+
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${M.resolve(e,"addons")})`);return t||r}import B from"path";import{dedent as tr}from"ts-dedent";function Gt({configDir:e}){let r=y(B.resolve(e,"config")),t=y(B.resolve(e,"preview"));if(r&&t)throw new Error(tr`
|
|
32
|
+
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${B.resolve(e,"config")})`);return t||r}import or from"chalk";function Qt(e,r){console.log(or.cyan(e)),console.dir(r,{depth:null})}import nr from"fs";import O from"path";import{scan as sr}from"picomatch";import ce from"slash";var E="",pe="**/*.@(mdx|stories.mdx|stories.tsx|stories.ts|stories.jsx|stories.js)",ir=(e,r)=>{try{return nr.lstatSync(O.resolve(e,r)).isDirectory()}catch{return!1}},ar=({configDir:e,workingDir:r,directory:t})=>{let o=O.resolve(e,t),n=O.relative(r,o);return ee(n)},cr=(e,{configDir:r,workingDir:t})=>{let o;if(typeof e=="string"){let p=sr(e);if(p.isGlob){let i=p.prefix+p.base,l=p.glob;o={titlePrefix:E,directory:i,files:l}}else ir(r,e)?o={titlePrefix:E,directory:e,files:pe}:o={titlePrefix:E,directory:O.dirname(e),files:O.basename(e)}}else o={titlePrefix:E,files:pe,...e};let n=ce(o.files),{directory:s}=o,f=ce(ar({configDir:r,workingDir:t,directory:s})).replace(/\/$/,""),c=ae(`${f}/${n}`);return{...o,directory:f,importPathMatcher:c}},ao=(e,r)=>e.map(t=>cr(t,r));import pr from"pretty-hrtime";var fe=e=>pr(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes");var mo=async(e,r,t)=>{let o=0,n,s=()=>{};e.get("/progress",(p,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
33
|
|
|
30
|
-
`),i.flush(),m.value===1&&d())})});let f=(p,i,l)=>{o=Math.max(p,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 ${fe(r)}.`)),s(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:f,modulesCount:c}};import
|
|
34
|
+
`),i.flush(),m.value===1&&d())})});let f=(p,i,l)=>{o=Math.max(p,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 ${fe(r)}.`)),s(d)},c=await t.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:f,modulesCount:c}};import fr from"fs-extra";async function yo(e){return fr.readFile(e,{encoding:"utf8"})}function xo(){let{NODE_OPTIONS:e,NODE_PRESERVE_SYMLINKS:r}=a;return!!r||e?.includes("--preserve-symlinks")}import le from"path";import{sync as J}from"pkg-dir";import b from"fs";var de=(e,r={})=>Object.entries(r).reduce((t,[o,n])=>t.replace(new RegExp(`%${o}%`,"g"),n),e);function Oo(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-body.html`,"utf8"),o=le.resolve(e,"preview-body.html"),n=t;return b.existsSync(o)&&(n=b.readFileSync(o,"utf8")+n),de(n,r)}function wo(e,r){let t=b.readFileSync(`${J(__dirname)}/templates/base-preview-head.html`,"utf8"),o=le.resolve(e,"preview-head.html"),n=t;return b.existsSync(o)&&(n+=b.readFileSync(o,"utf8")),de(n,r)}function So(){return`${J(__dirname)}/templates/preview.ejs`}import{dedent as lr}from"ts-dedent";var dr=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function Eo(e){if(dr.includes(e))throw new Error(lr`
|
|
31
35
|
Invalid value of ${e} in the 'framework' field of Storybook config.
|
|
32
36
|
|
|
33
37
|
Please run 'npx sb@next automigrate'
|
|
34
38
|
|
|
35
39
|
See the v7 Migration guide for more information:
|
|
36
40
|
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
|
|
37
|
-
`)}function
|
|
41
|
+
`)}function Io(){return e=>e}export{T as boost,qr as cache,zr as checkAddonOrder,N as createFileSystemCache,Oe as filterPresetsConfig,ct as findDistEsm,ze as getAutoRefs,ar as getDirectoryFromWorkingDir,lt as getFrameworkName,y as getInterpretedFile,H as getInterpretedFileWithExt,Ee as getPresets,Oo as getPreviewBodyTemplate,wo as getPreviewHeadTemplate,So as getPreviewMainTemplate,Zr as getProjectRoot,Rt as getRefs,gt as getRendererName,te as getStorybookConfiguration,vt as getStorybookInfo,ae as globToRegexp,jt as handlebars,I as interopRequireDefault,Nt as interpolate,xo as isPreservingSymlinks,Lr as loadAllPresets,q as loadCustomPresets,tt as loadEnvs,Mt as loadMainConfig,Vt as loadManagerOrAddonsFile,Re as loadPreset,Gt as loadPreviewOrConfigFile,Qt as logConfig,Q as nodePathsToArray,ao as normalizeStories,cr as normalizeStoriesEntry,ee as normalizeStoryPath,yo as readTemplate,we as resolveAddonName,X as resolvePathInStorybookCache,Io as satisfies,h as serverRequire,$ as serverResolve,ot as stringifyEnvs,nt as stringifyProcessEnvs,mo as useProgressReporting,S as validateConfigurationFiles,Eo 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.43",
|
|
4
4
|
"description": "Storybook framework-agnostic API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@babel/core": "^7.12.10",
|
|
50
50
|
"@storybook/csf": "next",
|
|
51
|
-
"@storybook/node-logger": "7.0.0-alpha.
|
|
51
|
+
"@storybook/node-logger": "7.0.0-alpha.43",
|
|
52
52
|
"@types/babel__core": "^7.0.0",
|
|
53
53
|
"@types/express": "^4.7.0",
|
|
54
54
|
"@types/node": "^16.0.0",
|
|
@@ -97,5 +97,5 @@
|
|
|
97
97
|
],
|
|
98
98
|
"platform": "node"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "f801c26f7bdcbfeeeca6706c0854d130bfb2f38b"
|
|
101
101
|
}
|