@storybook/core-common 7.0.0-alpha.10 → 7.0.0-alpha.11
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 +13 -14
- package/dist/index.js +12 -12
- package/dist/index.mjs +12 -12
- package/package.json +12 -7
- package/templates/{index.ejs → preview.ejs} +0 -0
- package/templates/base-manager-head.html +0 -46
package/dist/index.d.ts
CHANGED
|
@@ -50,13 +50,13 @@ interface DirectoryMapping {
|
|
|
50
50
|
}
|
|
51
51
|
interface Presets {
|
|
52
52
|
apply(extension: 'typescript', config: TypescriptOptions, args?: Options$1): Promise<TypescriptOptions>;
|
|
53
|
-
apply(extension: 'framework', config
|
|
54
|
-
apply(extension: 'babel', config
|
|
55
|
-
apply(extension: 'entries', config
|
|
56
|
-
apply(extension: 'stories', config
|
|
57
|
-
apply(extension: 'managerEntries', config: [], args
|
|
58
|
-
apply(extension: 'refs', config
|
|
59
|
-
apply(extension: 'core', config
|
|
53
|
+
apply(extension: 'framework', config?: {}, args?: any): Promise<Preset>;
|
|
54
|
+
apply(extension: 'babel', config?: {}, args?: any): Promise<TransformOptions>;
|
|
55
|
+
apply(extension: 'entries', config?: [], args?: any): Promise<unknown>;
|
|
56
|
+
apply(extension: 'stories', config?: [], args?: any): Promise<StoriesEntry[]>;
|
|
57
|
+
apply(extension: 'managerEntries', config: [], args?: any): Promise<string[]>;
|
|
58
|
+
apply(extension: 'refs', config?: [], args?: any): Promise<unknown>;
|
|
59
|
+
apply(extension: 'core', config?: {}, args?: any): Promise<CoreConfig>;
|
|
60
60
|
apply<T>(extension: string, config?: T, args?: unknown): Promise<T>;
|
|
61
61
|
}
|
|
62
62
|
interface LoadedPreset {
|
|
@@ -74,6 +74,7 @@ interface Ref {
|
|
|
74
74
|
title: string;
|
|
75
75
|
version: string;
|
|
76
76
|
type?: string;
|
|
77
|
+
disable?: boolean;
|
|
77
78
|
}
|
|
78
79
|
interface VersionCheck {
|
|
79
80
|
success: boolean;
|
|
@@ -111,10 +112,6 @@ interface LoadOptions {
|
|
|
111
112
|
ignorePreview?: boolean;
|
|
112
113
|
extendServer?: (server: Server) => void;
|
|
113
114
|
}
|
|
114
|
-
interface ManagerWebpackOptions {
|
|
115
|
-
entries: string[];
|
|
116
|
-
refs: Record<string, Ref>;
|
|
117
|
-
}
|
|
118
115
|
interface CLIOptions {
|
|
119
116
|
port?: number;
|
|
120
117
|
ignorePreview?: boolean;
|
|
@@ -436,6 +433,7 @@ declare function getInterpretedFileWithExt(pathToFile: string): {
|
|
|
436
433
|
ext: string;
|
|
437
434
|
} | undefined;
|
|
438
435
|
|
|
436
|
+
declare function interopRequireDefault(filePath: string): any;
|
|
439
437
|
declare function serverRequire(filePath: string | string[]): any;
|
|
440
438
|
declare function serverResolve(filePath: string | string[]): string | null;
|
|
441
439
|
|
|
@@ -460,6 +458,9 @@ interface StorybookInfo {
|
|
|
460
458
|
}
|
|
461
459
|
declare const getStorybookInfo: (packageJson: PackageJson) => StorybookInfo;
|
|
462
460
|
|
|
461
|
+
declare const getAutoRefs: (options: Options$1) => Promise<Record<string, Ref>>;
|
|
462
|
+
declare function getRefs(options: Options$1): Promise<Record<string, Ref>>;
|
|
463
|
+
|
|
463
464
|
declare function loadManagerOrAddonsFile({ configDir }: {
|
|
464
465
|
configDir: string;
|
|
465
466
|
}): string | undefined;
|
|
@@ -496,8 +497,6 @@ declare const cache: Cache.FileSystemCache;
|
|
|
496
497
|
|
|
497
498
|
declare function getPreviewBodyTemplate(configDirPath: string, interpolations?: Record<string, string>): string;
|
|
498
499
|
declare function getPreviewHeadTemplate(configDirPath: string, interpolations?: Record<string, string>): string;
|
|
499
|
-
declare function getManagerHeadTemplate(configDirPath: string, interpolations: Record<string, string>): string;
|
|
500
|
-
declare function getManagerMainTemplate(): string;
|
|
501
500
|
declare function getPreviewMainTemplate(): string;
|
|
502
501
|
|
|
503
502
|
/**
|
|
@@ -528,4 +527,4 @@ declare function readTemplate(filename: string): Promise<string>;
|
|
|
528
527
|
|
|
529
528
|
declare const findDistEsm: (cwd: string, relativePath: string) => string;
|
|
530
529
|
|
|
531
|
-
export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, Entry, IndexedStory, IndexerOptions, LoadOptions, LoadedPreset,
|
|
530
|
+
export { AddonEntry, AddonInfo, Builder, BuilderName, BuilderOptions, BuilderResult, CLIOptions, CoreConfig, 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, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getPreviewMainTemplate, getProjectRoot, getRefs, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, resolveAddonName, resolvePathInStorybookCache, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, useProgressReporting, validateConfigurationFiles };
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
var tt=Object.create;var
|
|
1
|
+
"use strict";var tt=Object.create;var w=Object.defineProperty;var rt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,st=Object.prototype.hasOwnProperty;var n=(e,t)=>w(e,"name",{value:t,configurable:!0});var it=(e,t)=>{for(var r in t)w(e,r,{get:t[r],enumerable:!0})},ie=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ot(t))!st.call(e,s)&&s!==r&&w(e,s,{get:()=>t[s],enumerable:!(o=rt(t,s))||o.enumerable});return e};var p=(e,t,r)=>(r=e!=null?tt(nt(e)):{},ie(t||!e||!e.__esModule?w(r,"default",{value:e,enumerable:!0}):r,e)),at=e=>ie(w({},"__esModule",{value:!0}),e);var Gt={};it(Gt,{boost:()=>$,cache:()=>_t,checkAddonOrder:()=>yt,createFileSystemCache:()=>M,filterPresetsConfig:()=>be,findDistEsm:()=>Jt,getAutoRefs:()=>Ne,getDirectoryFromWorkingDir:()=>Xe,getInterpretedFile:()=>y,getInterpretedFileWithExt:()=>D,getPresets:()=>ke,getPreviewBodyTemplate:()=>Lt,getPreviewHeadTemplate:()=>Mt,getPreviewMainTemplate:()=>Ht,getProjectRoot:()=>ht,getRefs:()=>Ft,getStorybookConfiguration:()=>Z,getStorybookInfo:()=>St,globToRegexp:()=>oe,handlebars:()=>$t,interopRequireDefault:()=>A,interpolate:()=>Ut,loadAllPresets:()=>ut,loadCustomPresets:()=>J,loadEnvs:()=>bt,loadMainConfig:()=>kt,loadManagerOrAddonsFile:()=>Rt,loadPreset:()=>we,loadPreviewOrConfigFile:()=>It,logConfig:()=>Nt,nodePathsToArray:()=>V,normalizeStories:()=>Wt,normalizeStoriesEntry:()=>Ze,normalizeStoryPath:()=>X,readTemplate:()=>Yt,resolveAddonName:()=>ve,resolvePathInStorybookCache:()=>te,serverRequire:()=>x,serverResolve:()=>F,stringifyEnvs:()=>vt,stringifyProcessEnvs:()=>wt,useProgressReporting:()=>Tt,validateConfigurationFiles:()=>P});module.exports=at(Gt);var xe=require("ts-dedent"),j=require("@storybook/node-logger");var R=p(require("path"));var fe=p(require("interpret")),pe=p(require("path")),W=require("@storybook/node-logger");var B=p(require("fs")),ae=require("interpret"),$=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function ct(){return[...Array.from($),...Object.keys(ae.extensions).filter(e=>!$.has(e)).sort((e,t)=>e.length-t.length)]}n(ct,"sortExtensions");var ce=ct();function y(e){return ce.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>B.default.existsSync(t))}n(y,"getInterpretedFile");function D(e){return ce.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>B.default.existsSync(t.path))}n(D,"getInterpretedFileWithExt");var O=new Map;function le(e){if(!e)return 0;let t=O.get(e);if(t!==void 0)return t;if(typeof e=="string")return require(e),O.set(e,1),1;if(!Array.isArray(e))return e.register(require(e.module)),O.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=le(e[o]);break}catch{}return O.set(e,r),r}n(le,"registerCompiler");function A(e){let t=require(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(A,"interopRequireDefault");function ft(e){for(let t=0;t<e.length;t+=1){let r=D(e[t]);if(r)return r}}n(ft,"getCandidate");function x(e){let t=F(e);if(!t)return null;let r=pe.default.extname(t),o=fe.default.extensions[r];return o&&le(o)===0?(W.logger.warn(`=> File ${t} is detected`),W.logger.warn(` but impossible to import loader for ${r}`),null):A(t)}n(x,"serverRequire");function F(e){let t=Array.isArray(e)?e:[e],r=ft(t);return r?r.path:null}n(F,"serverResolve");var k=require("ts-dedent"),me=p(require("util-deprecate")),de=p(require("glob")),b=p(require("path"));var pt=(0,me.default)(()=>{},k.dedent`
|
|
2
2
|
Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0.
|
|
3
3
|
Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
|
|
4
|
-
`),
|
|
4
|
+
`),Y=n((e,t,r)=>{let o=b.default.resolve(r,e),s=b.default.resolve(r,t);throw new Error(k.dedent`
|
|
5
5
|
You have mixing configuration files:
|
|
6
6
|
${o}
|
|
7
7
|
${s}
|
|
8
8
|
"${e}" and "${t}" cannot coexist.
|
|
9
9
|
Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
|
|
10
|
-
`)},"errorMixingConfigFiles");function
|
|
11
|
-
No configuration files have been found in your configDir (${
|
|
10
|
+
`)},"errorMixingConfigFiles");function P(e){let t=`{${Array.from($).join(",")}}`,r=n(a=>!!de.default.sync(b.default.resolve(e,`${a}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(k.dedent`
|
|
11
|
+
No configuration files have been found in your configDir (${b.default.resolve(e)}).
|
|
12
12
|
Storybook needs either a "main" or "config" file.
|
|
13
|
-
`);if(o&&s)throw new Error(
|
|
14
|
-
You have both a "main" and a "config". Please remove the "config" file from your configDir (${
|
|
15
|
-
${t}`)}},"map");function
|
|
13
|
+
`);if(o&&s)throw new Error(k.dedent`
|
|
14
|
+
You have both a "main" and a "config". Please remove the "config" file from your configDir (${b.default.resolve(e,"config")})`);let i=r("presets");o&&i&&Y("main","presets",e),r("preview")&&s&&Y("preview","config",e);let f=r("addons");r("manager")&&f&&Y("manager","addons",e),(i||s||f)&&pt()}n(P,"validateConfigurationFiles");function J({configDir:e}){P(e);let t=x(R.default.resolve(e,"presets"));if(x(R.default.resolve(e,"main"))){let o=F(R.default.resolve(e,"main"));if(o)return[o]}return t||[]}n(J,"loadCustomPresets");var ue=p(require("resolve-from")),ge=n((e,t)=>{try{return(0,ue.default)(e,t)}catch{return}},"safeResolveFrom"),ye=n(e=>{try{return require.resolve(e)}catch{return}},"safeResolve");var E=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),lt=n(e=>typeof e=="function","isFunction");function be(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(be,"filterPresetsConfig");function he(e,t,r){return lt(e)?[...e({...r,...t})]:Array.isArray(e)?[...e]:[]}n(he,"resolvePresetFunction");var ve=n((e,t,r)=>{let o=t.startsWith("/")?ye:ge.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,l=o(`${i}/manager`),f=o(`${i}/register`)||o(`${i}/register-panel`),m=o(`${i}/preview`),a=o(`${i}/preset`);if(!(l||m)&&a)return{type:"presets",name:a};if(l||f||m||a){let c=[];return l&&c.push(l),!l&&f&&!a&&c.push(f),{type:"virtual",name:i,...c.length?{managerEntries:c}:{},...m?{previewAnnotations:[m]}:{},...a?{presets:[{name:a,options:r}]}:{}}}if(s)return{type:"presets",name:s}},"resolveAddonName"),mt=n(({configDir:e})=>t=>{let r=E(t)&&t.options||void 0,o=E(t)?t.name:t;try{let s=ve(e,o,r);return{...r?{options:r}:{},...s}}catch{j.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/
|
|
15
|
+
${t}`)}},"map");function dt(e){if(e.type==="virtual"){let{type:r,name:o,...s}=e;return s}let t=e.name?e.name:e;return A(t)}n(dt,"getContent");function we(e,t,r){try{let o=e.name?e.name:e,s=e.options?e.options:{},i=dt(e);if(typeof i=="function"&&(i=i(r,s)),Array.isArray(i))return I(i,t+1,r);if(E(i)){let{addons:l,presets:f,...m}=i,a=he(f,s,r),c=he(l,s,r);return[...I([...a],t+1,r),...I([...c.map(mt(r))].filter(Boolean),t+1,r),{name:o,preset:m,options:s}]}throw new Error(xe.dedent`
|
|
16
16
|
${e} is not a valid preset
|
|
17
|
-
`)}catch(
|
|
18
|
-
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${
|
|
19
|
-
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${
|
|
17
|
+
`)}catch(o){let s=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return j.logger.warn(s),j.logger.error(o),[]}}n(we,"loadPreset");function I(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=we(s,t,r);return o.concat(i)},[])}n(I,"loadPresets");function $e(e,t,r,o,s){let i=new Promise(l=>l(r));return e.length?e.reduce((l,{preset:f,options:m})=>{let a=f[t];if(!a)return l;if(typeof a=="function"){let c=a,d={preset:f,combinedOptions:{...s,...o,...m,presetsList:e,presets:{apply:async(u,g,S={})=>$e(e,u,g,S,s)}}};return l.then(u=>c.call(d.preset,u,d.combinedOptions))}return l.then(c=>Array.isArray(c)&&Array.isArray(a)?[...c,...a]:E(c)&&E(a)?{...c,...a}:a)},i):i}n($e,"applyPresets");function ke(e,t){let r=I(e,0,t);return{apply:async(o,s,i={})=>$e(r,o,s,i,t)}}n(ke,"getPresets");function ut(e){let{corePresets:t=[],overridePresets:r=[],...o}=e,s=[...t,...J(e),...r],i=be(s);return i.length<s.length&&j.logger.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),ke(i,o)}n(ut,"loadAllPresets");var{logger:G}=require("@storybook/node-logger"),z=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),gt=n((e,t,r)=>{let o=e.findIndex(z("@storybook/addon-essentials")),s=e.findIndex(z(t.name)),i=e.findIndex(z(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),yt=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!(s!=null&&s.addons)){G.warn("Unable to find 'addons' config in main Storybook config");return}if(!gt(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",l=`'${e.name}'${e.inEssentials?i:""}`,f=`'${t.name}'${t.inEssentials?i:""}`;G.warn(`Expected ${l} to be listed before ${f} in main Storybook config.`)}}catch{G.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");var Pe=require("lazy-universal-dotenv");var C=p(require("path")),K=p(require("find-up")),ht=n(()=>{let e;try{let t=K.default.sync(".git",{type:"directory"});t&&(e=e||C.default.join(t,".."))}catch{}try{let t=K.default.sync(".svn",{type:"directory"});t&&(e=e||C.default.join(t,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),V=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>C.default.resolve("./",t)),"nodePathsToArray"),xt=/^\.{1,2}([/\\]|$)/;function X(e){return xt.test(e)?e:`.${C.default.sep}${e}`}n(X,"normalizeStoryPath");function bt(e={}){let t=e.production?"production":"development",r={NODE_ENV:process.env.NODE_ENV||t,NODE_PATH:process.env.NODE_PATH||"",STORYBOOK:process.env.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(process.env).filter(f=>/^STORYBOOK_/.test(f)).forEach(f=>{r[f]=process.env[f]});let o=Object.entries(r).reduce((f,[m,a])=>Object.assign(f,{[m]:JSON.stringify(a)}),{}),{stringified:s,raw:i}=(0,Pe.getEnvironment)({nodeEnv:r.NODE_ENV}),l={...r,...i};return l.NODE_PATH=V(l.NODE_PATH||""),{stringified:{...o,...s},raw:l}}n(bt,"loadEnvs");var vt=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),wt=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");var je=p(require("handlebars"));function $t(e,t){return je.default.compile(e)(t)}n($t,"handlebars");var Ee=p(require("path"));function kt({configDir:e}){return P(e),x(Ee.default.resolve(e,"main"))}n(kt,"loadMainConfig");function Z(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(Z,"getStorybookConfiguration");var Oe=p(require("path")),Ae=p(require("fs-extra"));var Ce={"@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"},Se=console,Pt=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),jt=n(e=>{let[t,r,o]=Pt(e,([f])=>Ce[f]),[s,i]=t||r||o||[],l=s?Ce[s]:void 0;return t&&r&&t[0]===r[0]&&Se.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&Se.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:l,version:i,frameworkPackage:s}},"getFrameworkInfo"),Et=["ts","js","tsx","jsx","mjs","cjs"],Q=n((e,t)=>{let r=Oe.default.join(t,e),o=Et.find(s=>Ae.default.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),Ct=n(e=>{var o;let t=".storybook",r=(o=e.scripts)==null?void 0:o.storybook;if(r){let s=Z(r,"-c","--config-dir");s&&(t=s)}return{configDir:t,mainConfig:Q("main",t),previewConfig:Q("preview",t),managerConfig:Q("manager",t)}},"getConfigInfo"),St=n(e=>{let t=jt(e),r=Ct(e);return{...t,...r}},"getStorybookInfo");var ee=require("fs-extra"),N=require("path"),Fe=p(require("find-up")),Re=p(require("resolve-from")),Ie=require("@storybook/node-logger"),Ne=n(async e=>{let t=await(0,Fe.default)("package.json",{cwd:e.configDir});if(!t)return{};let r=(0,N.dirname)(t),{dependencies:o=[],devDependencies:s=[]}=await(0,ee.readJSON)(t)||{},i=Object.keys({...o,...s});return(await Promise.all(i.map(async f=>{try{let m=(0,Re.default)(r,(0,N.join)(f,"package.json")),{storybook:a,name:c,version:d}=await(0,ee.readJSON)(m)||{};if(a!=null&&a.url)return{id:c,...a,version:d}}catch{Ie.logger.warn(`unable to find package.json for ${f}`);return}}))).filter(Boolean).reduce((f,m)=>({...f,[m.id]:{id:m.id.toLowerCase(),url:Te(m.url),title:m.title,version:m.version}}),{})},"getAutoRefs"),Ot=n(e=>fetch(`${e}/iframe.html`).then(({ok:t})=>t,()=>!1),"checkRef"),Te=n(e=>e.replace(/\/$/,""),"stripTrailingSlash"),At=n(e=>{let t=e.replace(/[A-Z]/g,r=>` ${r}`).replace(/[-_][A-Z]/gi,r=>` ${r.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${t.substring(0,1).toUpperCase()}${t.substring(1)}`.trim()},"toTitle");async function Ft(e){let t=await e.presets.apply("refs",await Ne(e));return Object.entries(t).forEach(([r,o])=>{if(o.disable){delete t[r];return}t[r.toLowerCase()]={...o,id:r.toLowerCase(),title:o.title||At(o.id||r),url:Te(o.url)}}),await Promise.all(Object.entries(t).map(async([r,o])=>{let s=await Ot(o.url);t[r]={...o,type:s?"server-checked":"unknown"}})),t}n(Ft,"getRefs");var T=p(require("path")),_e=require("@storybook/node-logger"),Le=require("ts-dedent");function Rt({configDir:e}){let t=y(T.default.resolve(e,"addons")),r=y(T.default.resolve(e,"manager"));if((t||r)&&_e.logger.info("=> Loading custom manager config"),t&&r)throw new Error(Le.dedent`
|
|
18
|
+
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${T.default.resolve(e,"addons")})`);return r||t}n(Rt,"loadManagerOrAddonsFile");var _=p(require("path")),Me=require("ts-dedent");function It({configDir:e}){let t=y(_.default.resolve(e,"config")),r=y(_.default.resolve(e,"preview"));if(t&&r)throw new Error(Me.dedent`
|
|
19
|
+
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${_.default.resolve(e,"config")})`);return r||t}n(It,"loadPreviewOrConfigFile");var He=p(require("chalk"));function Nt(e,t){console.log(He.default.cyan(e)),console.dir(t,{depth:null})}n(Nt,"logConfig");var Ue=p(require("pretty-hrtime")),qe=n(e=>(0,Ue.default)(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Tt=n(async(e,t,r)=>{var m;let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(a,c)=>{let d=!1,u=n(()=>{d=!0,c.end()},"close");c.on("close",u),!(d||c.writableEnded)&&(c.setHeader("Cache-Control","no-cache"),c.setHeader("Content-Type","text/event-stream"),c.setHeader("Connection","keep-alive"),c.flushHeaders(),i=n(g=>{d||c.writableEnded||(c.write(`data: ${JSON.stringify(g)}
|
|
20
20
|
|
|
21
|
-
`),
|
|
21
|
+
`),c.flush(),g.value===1&&u())},"reportProgress"))});let l=n((a,c,d)=>{o=Math.max(a,o);let u={value:o,message:c.charAt(0).toUpperCase()+c.slice(1)};if(c==="building"){let g=d&&d.match(/(\d+)\/(\d+)/)||[],S=parseInt(g[1],10),q=parseInt(g[2],10);!Number.isNaN(S)&&!Number.isNaN(q)&&(u.modules={complete:S,total:q},s=q)}o===1&&(r.cache&&r.cache.set("modulesCount",s),u.message||(u.message=`Completed in ${qe(t)}.`)),i(u)},"handler"),f=await((m=r.cache)==null?void 0:m.get("modulesCount").catch(()=>{}))||1e3;return{handler:l,modulesCount:f}},"useProgressReporting");var L=p(require("path")),Be=p(require("pkg-dir"));function te(e){let t=process.cwd(),r=Be.default.sync(t),o;return r?o=L.default.resolve(r,"node_modules/.cache/storybook"):o=L.default.resolve(t,".cache/storybook"),L.default.join(o,e)}n(te,"resolvePathInStorybookCache");var De=p(require("file-system-cache"));function M(e){return(0,De.default)(e)}n(M,"createFileSystemCache");var _t=M({basePath:te("dev-server"),ns:"storybook"});var re=p(require("path")),H=require("pkg-dir"),h=p(require("fs")),We=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function Lt(e,t){let r=h.default.readFileSync(`${(0,H.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),o=re.default.resolve(e,"preview-body.html"),s=r;return h.default.existsSync(o)&&(s=h.default.readFileSync(o,"utf8")+s),We(s,t)}n(Lt,"getPreviewBodyTemplate");function Mt(e,t){let r=h.default.readFileSync(`${(0,H.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),o=re.default.resolve(e,"preview-head.html"),s=r;return h.default.existsSync(o)&&(s+=h.default.readFileSync(o,"utf8")),We(s,t)}n(Mt,"getPreviewHeadTemplate");function Ht(){return`${(0,H.sync)(__dirname)}/templates/preview.ejs`}n(Ht,"getPreviewMainTemplate");var Ut=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");var Ye=require("picomatch");function oe(e){let t=(0,Ye.makeRe)(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(oe,"globToRegexp");var Ge=p(require("fs")),v=p(require("path")),ze=p(require("util-deprecate")),Ke=require("ts-dedent"),Ve=require("picomatch"),ne=p(require("slash"));var U="",Je="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",qt=(0,ze.default)(e=>e.input.replace(e[1],`@${e[1]}`),Ke.dedent`
|
|
22
22
|
You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
|
|
23
|
-
`),
|
|
23
|
+
`),Bt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?qt(t):e},"detectBadGlob"),Dt=n((e,t)=>{try{return Ge.default.lstatSync(v.default.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),Xe=n(({configDir:e,workingDir:t,directory:r})=>{let o=v.default.resolve(e,r),s=v.default.relative(t,o);return X(s)},"getDirectoryFromWorkingDir"),Ze=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let m=Bt(e),a=(0,Ve.scan)(m);if(a.isGlob){let c=a.prefix+a.base,d=a.glob;o={titlePrefix:U,directory:c,files:d}}else Dt(t,e)?o={titlePrefix:U,directory:e,files:Je}:o={titlePrefix:U,directory:v.default.dirname(e),files:v.default.basename(e)}}else o={titlePrefix:U,files:Je,...e};let s=(0,ne.default)(o.files),{directory:i}=o,l=(0,ne.default)(Xe({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),f=oe(`${l}/${s}`);return{...o,directory:l,importPathMatcher:f}},"normalizeStoriesEntry"),Wt=n((e,t)=>e.map(r=>Ze(r,t)),"normalizeStories");var Qe=p(require("fs-extra"));async function Yt(e){return Qe.default.readFile(e,{encoding:"utf8"})}n(Yt,"readTemplate");var se=p(require("path")),et=require("find-up"),Jt=n((e,t)=>{let r=(0,et.sync)("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=se.default.dirname(r);return se.default.join(o,"dist","esm",t)},"findDistEsm");0&&(module.exports={boost,cache,checkAddonOrder,createFileSystemCache,filterPresetsConfig,findDistEsm,getAutoRefs,getDirectoryFromWorkingDir,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getPreviewMainTemplate,getProjectRoot,getRefs,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,resolveAddonName,resolvePathInStorybookCache,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,useProgressReporting,validateConfigurationFiles});
|
package/dist/index.mjs
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";var ye=Object.defineProperty;var n=(e,t)=>ye(e,"name",{value:t,configurable:!0}),g=(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(t,r)=>(typeof require!="undefined"?require:t)[r]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var c={};import{dedent as Ce}from"ts-dedent";import{logger as O}from"@storybook/node-logger";import T from"path";import ve from"interpret";import we from"path";import{logger as G}from"@storybook/node-logger";import W from"fs";import{extensions as xe}from"interpret";var P=new Set([".js",".jsx",".ts",".tsx",".cjs",".mjs"]);function be(){return[...Array.from(P),...Object.keys(xe).filter(e=>!P.has(e)).sort((e,t)=>e.length-t.length)]}n(be,"sortExtensions");var Y=be();function y(e){return Y.map(t=>e.endsWith(t)?e:`${e}${t}`).find(t=>W.existsSync(t))}n(y,"getInterpretedFile");function J(e){return Y.map(t=>({path:e.endsWith(t)?e:`${e}${t}`,ext:t})).find(t=>W.existsSync(t.path))}n(J,"getInterpretedFileWithExt");var j=new Map;function z(e){if(!e)return 0;let t=j.get(e);if(t!==void 0)return t;if(typeof e=="string")return g(e),j.set(e,1),1;if(!Array.isArray(e))return e.register(g(e.module)),j.set(e,1),1;let r=0;for(let o=0;o<e.length;o+=1)try{r+=z(e[o]);break}catch{}return j.set(e,r),r}n(z,"registerCompiler");function R(e){let t=g(e);return typeof t=="object"&&t!==null&&typeof t.default<"u"?t.default:t}n(R,"interopRequireDefault");function $e(e){for(let t=0;t<e.length;t+=1){let r=J(e[t]);if(r)return r}}n($e,"getCandidate");function b(e){let t=I(e);if(!t)return null;let r=we.extname(t),o=ve.extensions[r];return o&&z(o)===0?(G.warn(`=> File ${t} is detected`),G.warn(` but impossible to import loader for ${r}`),null):R(t)}n(b,"serverRequire");function I(e){let t=Array.isArray(e)?e:[e],r=$e(t);return r?r.path:null}n(I,"serverResolve");import{dedent as E}from"ts-dedent";import ke from"util-deprecate";import Pe from"glob";import v from"path";var je=ke(()=>{},E`
|
|
2
2
|
Configuration files such as "config", "presets" and "addons" are deprecated and will be removed in Storybook 7.0.
|
|
3
3
|
Read more about it in the migration guide: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
|
|
4
|
-
`),
|
|
4
|
+
`),N=n((e,t,r)=>{let o=v.resolve(r,e),s=v.resolve(r,t);throw new Error(E`
|
|
5
5
|
You have mixing configuration files:
|
|
6
6
|
${o}
|
|
7
7
|
${s}
|
|
8
8
|
"${e}" and "${t}" cannot coexist.
|
|
9
9
|
Please check the documentation for migration steps: https://github.com/storybookjs/storybook/blob/master/MIGRATION.md#to-mainjs-configuration
|
|
10
|
-
`)},"errorMixingConfigFiles");function
|
|
11
|
-
No configuration files have been found in your configDir (${
|
|
10
|
+
`)},"errorMixingConfigFiles");function C(e){let t=`{${Array.from(P).join(",")}}`,r=n(a=>!!Pe.sync(v.resolve(e,`${a}${t}`)).length,"exists"),o=r("main"),s=r("config");if(!o&&!s)throw new Error(E`
|
|
11
|
+
No configuration files have been found in your configDir (${v.resolve(e)}).
|
|
12
12
|
Storybook needs either a "main" or "config" file.
|
|
13
|
-
`);if(o&&s)throw new Error(
|
|
14
|
-
You have both a "main" and a "config". Please remove the "config" file from your configDir (${
|
|
15
|
-
${t}`)}},"map");function
|
|
13
|
+
`);if(o&&s)throw new Error(E`
|
|
14
|
+
You have both a "main" and a "config". Please remove the "config" file from your configDir (${v.resolve(e,"config")})`);let i=r("presets");o&&i&&N("main","presets",e),r("preview")&&s&&N("preview","config",e);let f=r("addons");r("manager")&&f&&N("manager","addons",e),(i||s||f)&&je()}n(C,"validateConfigurationFiles");function K({configDir:e}){C(e);let t=b(T.resolve(e,"presets"));if(b(T.resolve(e,"main"))){let o=I(T.resolve(e,"main"));if(o)return[o]}return t||[]}n(K,"loadCustomPresets");import Ee from"resolve-from";var V=n((e,t)=>{try{return Ee(e,t)}catch{return}},"safeResolveFrom"),X=n(e=>{try{return g.resolve(e)}catch{return}},"safeResolve");var w=n(e=>e!=null&&typeof e=="object"&&Array.isArray(e)===!1,"isObject"),Se=n(e=>typeof e=="function","isFunction");function Oe(e){return e.filter(t=>{let r=typeof t=="string"?t:t.name;return!/@storybook[\\\\/]preset-typescript/.test(r)})}n(Oe,"filterPresetsConfig");function Z(e,t,r){return Se(e)?[...e({...r,...t})]:Array.isArray(e)?[...e]:[]}n(Z,"resolvePresetFunction");var Ae=n((e,t,r)=>{let o=t.startsWith("/")?X:V.bind(null,e),s=o(t);if(s){if(t.match(/\/(manager|register(-panel)?)(\.(js|ts|tsx|jsx))?$/))return{type:"virtual",name:t,managerEntries:[s]};if(t.match(/\/(preset)(\.(js|ts|tsx|jsx))?$/))return{type:"presets",name:s}}let i=t,p=o(`${i}/manager`),f=o(`${i}/register`)||o(`${i}/register-panel`),l=o(`${i}/preview`),a=o(`${i}/preset`);if(!(p||l)&&a)return{type:"presets",name:a};if(p||f||l||a){let m=[];return p&&m.push(p),!p&&f&&!a&&m.push(f),{type:"virtual",name:i,...m.length?{managerEntries:m}:{},...l?{previewAnnotations:[l]}:{},...a?{presets:[{name:a,options:r}]}:{}}}if(s)return{type:"presets",name:s}},"resolveAddonName"),Fe=n(({configDir:e})=>t=>{let r=w(t)&&t.options||void 0,o=w(t)?t.name:t;try{let s=Ae(e,o,r);return{...r?{options:r}:{},...s}}catch{O.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/
|
|
15
|
+
${t}`)}},"map");function Re(e){if(e.type==="virtual"){let{type:r,name:o,...s}=e;return s}let t=e.name?e.name:e;return R(t)}n(Re,"getContent");function Ie(e,t,r){try{let o=e.name?e.name:e,s=e.options?e.options:{},i=Re(e);if(typeof i=="function"&&(i=i(r,s)),Array.isArray(i))return S(i,t+1,r);if(w(i)){let{addons:p,presets:f,...l}=i,a=Z(f,s,r),m=Z(p,s,r);return[...S([...a],t+1,r),...S([...m.map(Fe(r))].filter(Boolean),t+1,r),{name:o,preset:l,options:s}]}throw new Error(Ce`
|
|
16
16
|
${e} is not a valid preset
|
|
17
|
-
`)}catch(
|
|
18
|
-
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${
|
|
19
|
-
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${
|
|
17
|
+
`)}catch(o){let s=t>0?` Failed to load preset: ${JSON.stringify(e)} on level ${t}`:` Failed to load preset: ${JSON.stringify(e)}`;return O.warn(s),O.error(o),[]}}n(Ie,"loadPreset");function S(e,t,r){return!e||!Array.isArray(e)||!e.length?[]:e.reduce((o,s)=>{let i=Ie(s,t,r);return o.concat(i)},[])}n(S,"loadPresets");function Q(e,t,r,o,s){let i=new Promise(p=>p(r));return e.length?e.reduce((p,{preset:f,options:l})=>{let a=f[t];if(!a)return p;if(typeof a=="function"){let m=a,d={preset:f,combinedOptions:{...s,...o,...l,presetsList:e,presets:{apply:async(u,k,x={})=>Q(e,u,k,x,s)}}};return p.then(u=>m.call(d.preset,u,d.combinedOptions))}return p.then(m=>Array.isArray(m)&&Array.isArray(a)?[...m,...a]:w(m)&&w(a)?{...m,...a}:a)},i):i}n(Q,"applyPresets");function Ne(e,t){let r=S(e,0,t);return{apply:async(o,s,i={})=>Q(r,o,s,i,t)}}n(Ne,"getPresets");function Jt(e){let{corePresets:t=[],overridePresets:r=[],...o}=e,s=[...t,...K(e),...r],i=Oe(s);return i.length<s.length&&O.warn("Storybook now supports TypeScript natively. You can safely remove `@storybook/preset-typescript`."),Ne(i,o)}n(Jt,"loadAllPresets");var{logger:_}=g("@storybook/node-logger"),L=n(e=>t=>{let r=t.name||t;return r&&r.includes(e)},"predicateFor"),Te=n((e,t,r)=>{let o=e.findIndex(L("@storybook/addon-essentials")),s=e.findIndex(L(t.name)),i=e.findIndex(L(r.name));return s===-1&&t.inEssentials&&(s=o),i===-1&&r.inEssentials&&(i=o),s!==-1&&i!==-1&&s<=i},"isCorrectOrder"),zt=n(async({before:e,after:t,configFile:r,getConfig:o})=>{try{let s=await o(r);if(!s?.addons){_.warn("Unable to find 'addons' config in main Storybook config");return}if(!Te(s.addons,e,t)){let i=" (or '@storybook/addon-essentials')",p=`'${e.name}'${e.inEssentials?i:""}`,f=`'${t.name}'${t.inEssentials?i:""}`;_.warn(`Expected ${p} to be listed before ${f} in main Storybook config.`)}}catch{_.warn(`Unable to load config file: ${r}`)}},"checkAddonOrder");import{getEnvironment as Le}from"lazy-universal-dotenv";import A from"path";import ee from"find-up";var Zt=n(()=>{let e;try{let t=ee.sync(".git",{type:"directory"});t&&(e=e||A.join(t,".."))}catch{}try{let t=ee.sync(".svn",{type:"directory"});t&&(e=e||A.join(t,".."))}catch{}try{e=e||__dirname.split("node_modules")[0]}catch{}return e||process.cwd()},"getProjectRoot"),te=n(e=>e.split(process.platform==="win32"?";":":").filter(Boolean).map(t=>A.resolve("./",t)),"nodePathsToArray"),_e=/^\.{1,2}([/\\]|$)/;function re(e){return _e.test(e)?e:`.${A.sep}${e}`}n(re,"normalizeStoryPath");function rr(e={}){let t=e.production?"production":"development",r={NODE_ENV:"production",NODE_PATH:c.NODE_PATH||"",STORYBOOK:c.STORYBOOK||"true",PUBLIC_URL:e.production?".":""};Object.keys(c).filter(f=>/^STORYBOOK_/.test(f)).forEach(f=>{r[f]=c[f]});let o=Object.entries(r).reduce((f,[l,a])=>Object.assign(f,{[l]:JSON.stringify(a)}),{}),{stringified:s,raw:i}=Le({nodeEnv:r.NODE_ENV}),p={...r,...i};return p.NODE_PATH=te(p.NODE_PATH||""),{stringified:{...o,...s},raw:p}}n(rr,"loadEnvs");var or=n(e=>Object.entries(e).reduce((t,[r,o])=>(t[r]=JSON.stringify(o),t),{}),"stringifyEnvs"),nr=n(e=>Object.entries(e).reduce((r,[o,s])=>(r[`process.env.${o}`]=JSON.stringify(s),r),{"process.env.XSTORYBOOK_EXAMPLE_APP":'""'}),"stringifyProcessEnvs");import Me from"handlebars";function ar(e,t){return Me.compile(e)(t)}n(ar,"handlebars");import He from"path";function mr({configDir:e}){return C(e),b(He.resolve(e,"main"))}n(mr,"loadMainConfig");function oe(e,t,r){if(!e)return null;let o=e.split(/[\s='"]+/),s=o.indexOf(r);return s===-1&&(s=o.indexOf(t)),s===-1?null:o[s+1]}n(oe,"getStorybookConfiguration");import Ue from"path";import qe from"fs-extra";var ne={"@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"},se=console,Be=n(({dependencies:e,devDependencies:t,peerDependencies:r},o)=>[Object.entries(e||{}).find(o),Object.entries(t||{}).find(o),Object.entries(r||{}).find(o)],"findDependency"),De=n(e=>{let[t,r,o]=Be(e,([f])=>ne[f]),[s,i]=t||r||o||[],p=s?ne[s]:void 0;return t&&r&&t[0]===r[0]&&se.warn(`Found "${t[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),t&&o&&t[0]===o[0]&&se.warn(`Found "${t[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{framework:p,version:i,frameworkPackage:s}},"getFrameworkInfo"),We=["ts","js","tsx","jsx","mjs","cjs"],M=n((e,t)=>{let r=Ue.join(t,e),o=We.find(s=>qe.existsSync(`${r}.${s}`));return o?`${r}.${o}`:null},"findConfigFile"),Ye=n(e=>{let t=".storybook",r=e.scripts?.storybook;if(r){let o=oe(r,"-c","--config-dir");o&&(t=o)}return{configDir:t,mainConfig:M("main",t),previewConfig:M("preview",t),managerConfig:M("manager",t)}},"getConfigInfo"),xr=n(e=>{let t=De(e),r=Ye(e);return{...t,...r}},"getStorybookInfo");import{readJSON as ie}from"fs-extra";import{dirname as Je,join as Ge}from"path";import ze from"find-up";import Ke from"resolve-from";import{logger as Ve}from"@storybook/node-logger";var Xe=n(async e=>{let t=await ze("package.json",{cwd:e.configDir});if(!t)return{};let r=Je(t),{dependencies:o=[],devDependencies:s=[]}=await ie(t)||{},i=Object.keys({...o,...s});return(await Promise.all(i.map(async f=>{try{let l=Ke(r,Ge(f,"package.json")),{storybook:a,name:m,version:d}=await ie(l)||{};if(a?.url)return{id:m,...a,version:d}}catch{Ve.warn(`unable to find package.json for ${f}`);return}}))).filter(Boolean).reduce((f,l)=>({...f,[l.id]:{id:l.id.toLowerCase(),url:ae(l.url),title:l.title,version:l.version}}),{})},"getAutoRefs"),Ze=n(e=>fetch(`${e}/iframe.html`).then(({ok:t})=>t,()=>!1),"checkRef"),ae=n(e=>e.replace(/\/$/,""),"stripTrailingSlash"),Qe=n(e=>{let t=e.replace(/[A-Z]/g,r=>` ${r}`).replace(/[-_][A-Z]/gi,r=>` ${r.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${t.substring(0,1).toUpperCase()}${t.substring(1)}`.trim()},"toTitle");async function jr(e){let t=await e.presets.apply("refs",await Xe(e));return Object.entries(t).forEach(([r,o])=>{if(o.disable){delete t[r];return}t[r.toLowerCase()]={...o,id:r.toLowerCase(),title:o.title||Qe(o.id||r),url:ae(o.url)}}),await Promise.all(Object.entries(t).map(async([r,o])=>{let s=await Ze(o.url);t[r]={...o,type:s?"server-checked":"unknown"}})),t}n(jr,"getRefs");import H from"path";import{logger as et}from"@storybook/node-logger";import{dedent as tt}from"ts-dedent";function Fr({configDir:e}){let t=y(H.resolve(e,"addons")),r=y(H.resolve(e,"manager"));if((t||r)&&et.info("=> Loading custom manager config"),t&&r)throw new Error(tt`
|
|
18
|
+
You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${H.resolve(e,"addons")})`);return r||t}n(Fr,"loadManagerOrAddonsFile");import U from"path";import{dedent as rt}from"ts-dedent";function _r({configDir:e}){let t=y(U.resolve(e,"config")),r=y(U.resolve(e,"preview"));if(t&&r)throw new Error(rt`
|
|
19
|
+
You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${U.resolve(e,"config")})`);return r||t}n(_r,"loadPreviewOrConfigFile");import ot from"chalk";function Hr(e,t){console.log(ot.cyan(e)),console.dir(t,{depth:null})}n(Hr,"logConfig");import nt from"pretty-hrtime";var ce=n(e=>nt(process.hrtime(e)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),"printDuration");var Wr=n(async(e,t,r)=>{let o=0,s,i=n(()=>{},"reportProgress");e.get("/progress",(l,a)=>{let m=!1,d=n(()=>{m=!0,a.end()},"close");a.on("close",d),!(m||a.writableEnded)&&(a.setHeader("Cache-Control","no-cache"),a.setHeader("Content-Type","text/event-stream"),a.setHeader("Connection","keep-alive"),a.flushHeaders(),i=n(u=>{m||a.writableEnded||(a.write(`data: ${JSON.stringify(u)}
|
|
20
20
|
|
|
21
|
-
`),
|
|
21
|
+
`),a.flush(),u.value===1&&d())},"reportProgress"))});let p=n((l,a,m)=>{o=Math.max(l,o);let d={value:o,message:a.charAt(0).toUpperCase()+a.slice(1)};if(a==="building"){let u=m&&m.match(/(\d+)\/(\d+)/)||[],k=parseInt(u[1],10),x=parseInt(u[2],10);!Number.isNaN(k)&&!Number.isNaN(x)&&(d.modules={complete:k,total:x},s=x)}o===1&&(r.cache&&r.cache.set("modulesCount",s),d.message||(d.message=`Completed in ${ce(t)}.`)),i(d)},"handler"),f=await r.cache?.get("modulesCount").catch(()=>{})||1e3;return{handler:p,modulesCount:f}},"useProgressReporting");import q from"path";import st from"pkg-dir";function fe(e){let t=process.cwd(),r=st.sync(t),o;return r?o=q.resolve(r,"node_modules/.cache/storybook"):o=q.resolve(t,".cache/storybook"),q.join(o,e)}n(fe,"resolvePathInStorybookCache");import it from"file-system-cache";function B(e){return it(e)}n(B,"createFileSystemCache");var Qr=B({basePath:fe("dev-server"),ns:"storybook"});import pe from"path";import{sync as D}from"pkg-dir";import h from"fs";var le=n((e,t={})=>Object.entries(t).reduce((r,[o,s])=>r.replace(new RegExp(`%${o}%`,"g"),s),e),"interpolate");function no(e,t){let r=h.readFileSync(`${D(__dirname)}/templates/base-preview-body.html`,"utf8"),o=pe.resolve(e,"preview-body.html"),s=r;return h.existsSync(o)&&(s=h.readFileSync(o,"utf8")+s),le(s,t)}n(no,"getPreviewBodyTemplate");function so(e,t){let r=h.readFileSync(`${D(__dirname)}/templates/base-preview-head.html`,"utf8"),o=pe.resolve(e,"preview-head.html"),s=r;return h.existsSync(o)&&(s+=h.readFileSync(o,"utf8")),le(s,t)}n(so,"getPreviewHeadTemplate");function io(){return`${D(__dirname)}/templates/preview.ejs`}n(io,"getPreviewMainTemplate");var co=n((e,t)=>Object.entries(t).reduce((r,[o,s])=>{let i=s.replace(/\\/g,"/").replace(/\$/g,"$$$");return r.replace(new RegExp(`{{${o}}}`,"g"),i)},e),"interpolate");import{makeRe as at}from"picomatch";function me(e){let t=at(e,{fastpaths:!1,noglobstar:!1,bash:!1});if(!t.source.startsWith("^"))throw new Error(`Invalid glob: >> ${e} >> ${t}`);return e.startsWith("./")?new RegExp(["^\\.",e.startsWith("./**")?"":"[\\\\/]",t.source.substring(1)].join("")):t}n(me,"globToRegexp");import ct from"fs";import $ from"path";import ft from"util-deprecate";import{dedent as pt}from"ts-dedent";import{scan as lt}from"picomatch";import de from"slash";var F="",ue="**/*.(stories|docs).@(mdx|tsx|ts|jsx|js)",mt=ft(e=>e.input.replace(e[1],`@${e[1]}`),pt`
|
|
22
22
|
You have specified an invalid glob, we've attempted to fix it, please ensure that the glob you specify is valid. See: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#correct-globs-in-mainjs
|
|
23
|
-
`),
|
|
23
|
+
`),dt=n(e=>{let t=e.match(/\.(\([^)]+\))/);return t?mt(t):e},"detectBadGlob"),ut=n((e,t)=>{try{return ct.lstatSync($.resolve(e,t)).isDirectory()}catch{return!1}},"isDirectory"),gt=n(({configDir:e,workingDir:t,directory:r})=>{let o=$.resolve(e,r),s=$.relative(t,o);return re(s)},"getDirectoryFromWorkingDir"),yt=n((e,{configDir:t,workingDir:r})=>{let o;if(typeof e=="string"){let l=dt(e),a=lt(l);if(a.isGlob){let m=a.prefix+a.base,d=a.glob;o={titlePrefix:F,directory:m,files:d}}else ut(t,e)?o={titlePrefix:F,directory:e,files:ue}:o={titlePrefix:F,directory:$.dirname(e),files:$.basename(e)}}else o={titlePrefix:F,files:ue,...e};let s=de(o.files),{directory:i}=o,p=de(gt({configDir:t,workingDir:r,directory:i})).replace(/\/$/,""),f=me(`${p}/${s}`);return{...o,directory:p,importPathMatcher:f}},"normalizeStoriesEntry"),wo=n((e,t)=>e.map(r=>yt(r,t)),"normalizeStories");import ht from"fs-extra";async function Po(e){return ht.readFile(e,{encoding:"utf8"})}n(Po,"readTemplate");import ge from"path";import{sync as xt}from"find-up";var So=n((e,t)=>{let r=xt("package.json",{cwd:e});if(!r)throw new Error(`Could not find package.json in: ${e}`);let o=ge.dirname(r);return ge.join(o,"dist","esm",t)},"findDistEsm");export{P as boost,Qr as cache,zt as checkAddonOrder,B as createFileSystemCache,Oe as filterPresetsConfig,So as findDistEsm,Xe as getAutoRefs,gt as getDirectoryFromWorkingDir,y as getInterpretedFile,J as getInterpretedFileWithExt,Ne as getPresets,no as getPreviewBodyTemplate,so as getPreviewHeadTemplate,io as getPreviewMainTemplate,Zt as getProjectRoot,jr as getRefs,oe as getStorybookConfiguration,xr as getStorybookInfo,me as globToRegexp,ar as handlebars,R as interopRequireDefault,co as interpolate,Jt as loadAllPresets,K as loadCustomPresets,rr as loadEnvs,mr as loadMainConfig,Fr as loadManagerOrAddonsFile,Ie as loadPreset,_r as loadPreviewOrConfigFile,Hr as logConfig,te as nodePathsToArray,wo as normalizeStories,yt as normalizeStoriesEntry,re as normalizeStoryPath,Po as readTemplate,Ae as resolveAddonName,fe as resolvePathInStorybookCache,b as serverRequire,I as serverResolve,or as stringifyEnvs,nr as stringifyProcessEnvs,Wr as useProgressReporting,C as validateConfigurationFiles};
|
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.11",
|
|
4
4
|
"description": "Storybook framework-agnostic API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"*.d.ts"
|
|
43
43
|
],
|
|
44
44
|
"scripts": {
|
|
45
|
+
"check": "tsc --noEmit",
|
|
45
46
|
"prepare": "esrun ../../scripts/prepare/bundle.ts"
|
|
46
47
|
},
|
|
47
48
|
"dependencies": {
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
"@babel/preset-typescript": "^7.12.7",
|
|
69
70
|
"@babel/register": "^7.12.1",
|
|
70
71
|
"@storybook/csf": "0.0.2--canary.4566f4d.1",
|
|
71
|
-
"@storybook/node-logger": "7.0.0-alpha.
|
|
72
|
+
"@storybook/node-logger": "7.0.0-alpha.11",
|
|
72
73
|
"@storybook/semver": "^7.3.2",
|
|
73
74
|
"@types/babel__core": "^7.0.0",
|
|
74
75
|
"@types/express": "^4.7.0",
|
|
@@ -103,7 +104,8 @@
|
|
|
103
104
|
"@types/interpret": "^1.1.1",
|
|
104
105
|
"@types/mock-fs": "^4.13.0",
|
|
105
106
|
"@types/picomatch": "^2.3.0",
|
|
106
|
-
"mock-fs": "^4.13.0"
|
|
107
|
+
"mock-fs": "^4.13.0",
|
|
108
|
+
"typescript": "~4.6.3"
|
|
107
109
|
},
|
|
108
110
|
"peerDependencies": {
|
|
109
111
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
@@ -117,8 +119,11 @@
|
|
|
117
119
|
"publishConfig": {
|
|
118
120
|
"access": "public"
|
|
119
121
|
},
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
|
|
122
|
+
"bundler": {
|
|
123
|
+
"entries": [
|
|
124
|
+
"./src/index.ts"
|
|
125
|
+
],
|
|
126
|
+
"platform": "node"
|
|
127
|
+
},
|
|
128
|
+
"gitHead": "688d338903e84a7e83cb104472e868e734399f65"
|
|
124
129
|
}
|
|
File without changes
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
html, body {
|
|
3
|
-
overflow: hidden;
|
|
4
|
-
height: 100%;
|
|
5
|
-
width: 100%;
|
|
6
|
-
margin: 0;
|
|
7
|
-
padding: 0;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
* {
|
|
11
|
-
box-sizing: border-box;
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
|
|
15
|
-
<script>
|
|
16
|
-
/* globals window */
|
|
17
|
-
/* eslint-disable no-underscore-dangle */
|
|
18
|
-
try {
|
|
19
|
-
if (window.top !== window) {
|
|
20
|
-
window.__REACT_DEVTOOLS_GLOBAL_HOOK__ = window.top.__REACT_DEVTOOLS_GLOBAL_HOOK__;
|
|
21
|
-
}
|
|
22
|
-
} catch (e) {
|
|
23
|
-
// eslint-disable-next-line no-console
|
|
24
|
-
console.warn('unable to connect to top frame for connecting dev tools');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
window.onerror = function onerror(message, source, line, column, err) {
|
|
28
|
-
if (window.CONFIG_TYPE !== 'DEVELOPMENT') return;
|
|
29
|
-
// eslint-disable-next-line no-var, vars-on-top
|
|
30
|
-
var xhr = new window.XMLHttpRequest();
|
|
31
|
-
xhr.open('POST', '/runtime-error');
|
|
32
|
-
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
|
|
33
|
-
xhr.send(
|
|
34
|
-
JSON.stringify({
|
|
35
|
-
/* eslint-disable object-shorthand */
|
|
36
|
-
message: message,
|
|
37
|
-
source: source,
|
|
38
|
-
line: line,
|
|
39
|
-
column: column,
|
|
40
|
-
error: err && { message: err.message, name: err.name, stack: err.stack },
|
|
41
|
-
origin: 'manager',
|
|
42
|
-
/* eslint-enable object-shorthand */
|
|
43
|
-
})
|
|
44
|
-
);
|
|
45
|
-
};
|
|
46
|
-
</script>
|