@storybook/core-common 7.0.0-beta.13 → 7.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -13,9 +13,9 @@ ${item}`)}};async function getContent(input){if(input.type==="virtual"){let{type
13
13
  You must specify a framework in '.storybook/main.js' config.
14
14
 
15
15
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
16
- `);return typeof framework=="object"?framework.name:framework}async function getRendererName(options){let{renderer}=await options.presets.apply("core",{},options);return renderer||getFrameworkName(options)}function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}var import_path7=__toESM(require("path")),import_fs_extra=__toESM(require("fs-extra"));var rendererPackages={"@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"},logger3=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key])=>rendererPackages[key]),[pkg,version]=dep||devDep||peerDep||[],renderer=pkg?rendererPackages[pkg]:void 0;return dep&&devDep&&dep[0]===devDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,framework:renderer,frameworkPackage:pkg,renderer,rendererPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=import_path7.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=packageJson=>{var _a;let configDir=".storybook",storybookScript=(_a=packageJson.scripts)==null?void 0:_a.storybook;if(storybookScript){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(configDir=configParam)}return{configDir,mainConfig:findConfigFile("main",configDir),previewConfig:findConfigFile("preview",configDir),managerConfig:findConfigFile("manager",configDir)}},getStorybookInfo=packageJson=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson);return{...rendererInfo,...configInfo}};var import_fs_extra2=require("fs-extra"),import_path8=require("path"),import_find_up3=__toESM(require("find-up")),import_resolve_from2=__toESM(require("resolve-from")),import_node_logger3=require("@storybook/node-logger"),getAutoRefs=async options=>{let location=await(0,import_find_up3.default)("package.json",{cwd:options.configDir});if(!location)return{};let directory=(0,import_path8.dirname)(location),{dependencies=[],devDependencies=[]}=await(0,import_fs_extra2.readJSON)(location)||{},deps=Object.keys({...dependencies,...devDependencies});return(await Promise.all(deps.map(async d=>{try{let l=(0,import_resolve_from2.default)(directory,(0,import_path8.join)(d,"package.json")),{storybook,name,version}=await(0,import_fs_extra2.readJSON)(l)||{};if(storybook!=null&&storybook.url)return{id:name,...storybook,version}}catch(error){if(error.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;import_node_logger3.logger.warn(`unable to find package.json for ${d}`);return}}))).filter(Boolean).reduce((acc,cur)=>({...acc,[cur.id]:{id:cur.id.toLowerCase(),url:stripTrailingSlash(cur.url),title:cur.title,version:cur.version}}),{})},checkRef=url=>fetch(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await fetch(`${url}/iframe.html`,{headers:{Accept:"application/json"}});if(data.ok&&(await data.json().catch(e=>({}))).loginUrl)return!1}return ok},()=>!1),stripTrailingSlash=url=>url.replace(/\/$/,""),toTitle=input=>{let result=input.replace(/[A-Z]/g,f=>` ${f}`).replace(/[-_][A-Z]/gi,f=>` ${f.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${result.substring(0,1).toUpperCase()}${result.substring(1)}`.trim()};async function getRefs(options){let refs=await options.presets.apply("refs",await getAutoRefs(options));return Object.entries(refs).forEach(([key,value])=>{if(value.disable){delete refs[key];return}refs[key.toLowerCase()]={...value,id:key.toLowerCase(),title:value.title||toTitle(value.id||key),url:stripTrailingSlash(value.url)}}),await Promise.all(Object.entries(refs).map(async([k,value])=>{let ok=await checkRef(value.url);refs[k]={...value,type:ok?"server-checked":"unknown"}})),refs}var import_picomatch=require("picomatch");function globToRegexp(glob2){let regex=(0,import_picomatch.makeRe)(glob2,{fastpaths:!1,noglobstar:!1,bash:!1});if(!regex.source.startsWith("^"))throw new Error(`Invalid glob: >> ${glob2} >> ${regex}`);return glob2.startsWith("./")?new RegExp(["^\\.",glob2.startsWith("./**")?"":"[\\\\/]",regex.source.substring(1)].join("")):regex}var import_handlebars=__toESM(require("handlebars"));function handlebars(source,data){return import_handlebars.default.compile(source)(data)}var interpolate=(template,bindings)=>Object.entries(bindings).reduce((acc,[k,v])=>{let escapedString=v.replace(/\\/g,"/").replace(/\$/g,"$$$");return acc.replace(new RegExp(`{{${k}}}`,"g"),escapedString)},template);var import_path9=__toESM(require("path"));function loadMainConfig({configDir}){return validateConfigurationFiles(configDir),serverRequire(import_path9.default.resolve(configDir,"main"))}var import_path10=__toESM(require("path")),import_node_logger4=require("@storybook/node-logger"),import_ts_dedent4=require("ts-dedent");function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(import_path10.default.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(import_path10.default.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&import_node_logger4.logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(import_ts_dedent4.dedent`
16
+ `);return typeof framework=="object"?framework.name:framework}async function getRendererName(options){let{renderer}=await options.presets.apply("core",{},options);return renderer||getFrameworkName(options)}function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}var import_path7=__toESM(require("path")),import_fs_extra=__toESM(require("fs-extra"));var rendererPackages={"@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"},logger3=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key])=>rendererPackages[key]),[pkg,version]=dep||devDep||peerDep||[],renderer=pkg?rendererPackages[pkg]:void 0;return dep&&devDep&&dep[0]===devDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,framework:renderer,frameworkPackage:pkg,renderer,rendererPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=import_path7.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=packageJson=>{var _a;let configDir=".storybook",storybookScript=(_a=packageJson.scripts)==null?void 0:_a.storybook;if(storybookScript){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(configDir=configParam)}return{configDir,mainConfig:findConfigFile("main",configDir),previewConfig:findConfigFile("preview",configDir),managerConfig:findConfigFile("manager",configDir)}},getStorybookInfo=packageJson=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson);return{...rendererInfo,...configInfo}};var import_fs_extra2=require("fs-extra"),import_path8=require("path"),import_find_up3=__toESM(require("find-up")),import_resolve_from2=__toESM(require("resolve-from")),import_node_logger3=require("@storybook/node-logger"),getAutoRefs=async options=>{let location=await(0,import_find_up3.default)("package.json",{cwd:options.configDir});if(!location)return{};let directory=(0,import_path8.dirname)(location),{dependencies=[],devDependencies=[]}=await(0,import_fs_extra2.readJSON)(location)||{},deps=Object.keys({...dependencies,...devDependencies});return(await Promise.all(deps.map(async d=>{try{let l=(0,import_resolve_from2.default)(directory,(0,import_path8.join)(d,"package.json")),{storybook,name,version}=await(0,import_fs_extra2.readJSON)(l)||{};if(storybook!=null&&storybook.url)return{id:name,...storybook,version}}catch(error){if(error.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;import_node_logger3.logger.warn(`unable to find package.json for ${d}`);return}}))).filter(Boolean).reduce((acc,cur)=>({...acc,[cur.id]:{id:cur.id.toLowerCase(),url:stripTrailingSlash(cur.url),title:cur.title,version:cur.version}}),{})},checkRef=url=>fetch(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await fetch(`${url}/iframe.html`,{headers:{Accept:"application/json"}});if(data.ok&&(await data.json().catch(e=>({}))).loginUrl)return!1}return ok},()=>!1),stripTrailingSlash=url=>url.replace(/\/$/,""),toTitle=input=>{let result=input.replace(/[A-Z]/g,f=>` ${f}`).replace(/[-_][A-Z]/gi,f=>` ${f.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${result.substring(0,1).toUpperCase()}${result.substring(1)}`.trim()};async function getRefs(options){let refs=await options.presets.apply("refs",await getAutoRefs(options));return Object.entries(refs).forEach(([key,value])=>{if(value.disable){delete refs[key];return}refs[key.toLowerCase()]={...value,id:key.toLowerCase(),title:value.title||toTitle(value.id||key),url:stripTrailingSlash(value.url)}}),await Promise.all(Object.entries(refs).map(async([k,value])=>{let ok=await checkRef(value.url);refs[k]={...value,type:ok?"server-checked":"unknown"}})),refs}var pico=__toESM(require("picomatch"));function globToRegexp(glob2){let regex=pico.makeRe(glob2,{fastpaths:!1,noglobstar:!1,bash:!1});if(!regex.source.startsWith("^"))throw new Error(`Invalid glob: >> ${glob2} >> ${regex}`);return glob2.startsWith("./")?new RegExp(["^\\.",glob2.startsWith("./**")?"":"[\\\\/]",regex.source.substring(1)].join("")):regex}var import_handlebars=__toESM(require("handlebars"));function handlebars(source,data){return import_handlebars.default.compile(source)(data)}var interpolate=(template,bindings)=>Object.entries(bindings).reduce((acc,[k,v])=>{let escapedString=v.replace(/\\/g,"/").replace(/\$/g,"$$$");return acc.replace(new RegExp(`{{${k}}}`,"g"),escapedString)},template);var import_path9=__toESM(require("path"));function loadMainConfig({configDir}){return validateConfigurationFiles(configDir),serverRequire(import_path9.default.resolve(configDir,"main"))}var import_path10=__toESM(require("path")),import_node_logger4=require("@storybook/node-logger"),import_ts_dedent4=require("ts-dedent");function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(import_path10.default.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(import_path10.default.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&import_node_logger4.logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(import_ts_dedent4.dedent`
17
17
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${import_path10.default.resolve(configDir,"addons")})`);return storybookCustomManagerPath||storybookCustomAddonsPath}var import_path11=__toESM(require("path")),import_ts_dedent5=require("ts-dedent");function loadPreviewOrConfigFile({configDir}){let storybookConfigPath=getInterpretedFile(import_path11.default.resolve(configDir,"config")),storybookPreviewPath=getInterpretedFile(import_path11.default.resolve(configDir,"preview"));if(storybookConfigPath&&storybookPreviewPath)throw new Error(import_ts_dedent5.dedent`
18
- You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${import_path11.default.resolve(configDir,"config")})`);return storybookPreviewPath||storybookConfigPath}var import_chalk=__toESM(require("chalk"));function logConfig(caption,config){console.log(import_chalk.default.cyan(caption)),console.dir(config,{depth:null})}var import_fs2=__toESM(require("fs")),import_path12=__toESM(require("path")),import_picomatch2=require("picomatch"),import_slash=__toESM(require("slash"));var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return import_fs2.default.lstatSync(import_path12.default.resolve(configDir,entry)).isDirectory()}catch{return!1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=import_path12.default.resolve(configDir,directory),directoryFromWorking=import_path12.default.relative(workingDir,directoryFromConfig);return normalizeStoryPath(directoryFromWorking)},normalizeStoriesEntry=(entry,{configDir,workingDir})=>{let specifierWithoutMatcher;if(typeof entry=="string"){let globResult=(0,import_picomatch2.scan)(entry);if(globResult.isGlob){let directory2=globResult.prefix+globResult.base,files2=globResult.glob;specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:directory2,files:files2}}else isDirectory(configDir,entry)?specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:entry,files:DEFAULT_FILES}:specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:import_path12.default.dirname(entry),files:import_path12.default.basename(entry)}}else specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,files:DEFAULT_FILES,...entry};let files=(0,import_slash.default)(specifierWithoutMatcher.files),{directory:directoryRelativeToConfig}=specifierWithoutMatcher,directory=(0,import_slash.default)(getDirectoryFromWorkingDir({configDir,workingDir,directory:directoryRelativeToConfig})).replace(/\/$/,""),importPathMatcher=globToRegexp(`${directory}/${files}`);return{...specifierWithoutMatcher,directory,importPathMatcher}},normalizeStories=(entries,options)=>entries.map(entry=>normalizeStoriesEntry(entry,options));var import_fs_extra3=__toESM(require("fs-extra"));async function readTemplate(filename){return import_fs_extra3.default.readFile(filename,{encoding:"utf8"})}function isPreservingSymlinks(){let{NODE_OPTIONS,NODE_PRESERVE_SYMLINKS}=process.env;return!!NODE_PRESERVE_SYMLINKS||(NODE_OPTIONS==null?void 0:NODE_OPTIONS.includes("--preserve-symlinks"))}var import_path13=__toESM(require("path")),import_pkg_dir2=require("pkg-dir"),import_fs3=__toESM(require("fs")),interpolate2=(string,data={})=>Object.entries(data).reduce((acc,[k,v])=>acc.replace(new RegExp(`%${k}%`,"g"),v),string);function getPreviewBodyTemplate(configDirPath,interpolations){let base=import_fs3.default.readFileSync(`${(0,import_pkg_dir2.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=import_path13.default.resolve(configDirPath,"preview-body.html"),result=base;return import_fs3.default.existsSync(bodyHtmlPath)&&(result=import_fs3.default.readFileSync(bodyHtmlPath,"utf8")+result),interpolate2(result,interpolations)}function getPreviewHeadTemplate(configDirPath,interpolations){let base=import_fs3.default.readFileSync(`${(0,import_pkg_dir2.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=import_path13.default.resolve(configDirPath,"preview-head.html"),result=base;return import_fs3.default.existsSync(headHtmlPath)&&(result+=import_fs3.default.readFileSync(headHtmlPath,"utf8")),interpolate2(result,interpolations)}var import_ts_dedent6=require("ts-dedent"),rendererNames=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function validateFrameworkName(frameworkName){if(rendererNames.includes(frameworkName))throw new Error(import_ts_dedent6.dedent`
18
+ You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${import_path11.default.resolve(configDir,"config")})`);return storybookPreviewPath||storybookConfigPath}var import_chalk=__toESM(require("chalk"));function logConfig(caption,config){console.log(import_chalk.default.cyan(caption)),console.dir(config,{depth:null})}var import_fs2=__toESM(require("fs")),import_path12=__toESM(require("path")),pico2=__toESM(require("picomatch")),import_slash=__toESM(require("slash"));var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return import_fs2.default.lstatSync(import_path12.default.resolve(configDir,entry)).isDirectory()}catch{return!1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=import_path12.default.resolve(configDir,directory),directoryFromWorking=import_path12.default.relative(workingDir,directoryFromConfig);return normalizeStoryPath(directoryFromWorking)},normalizeStoriesEntry=(entry,{configDir,workingDir})=>{let specifierWithoutMatcher;if(typeof entry=="string"){let globResult=pico2.scan(entry);if(globResult.isGlob){let directory2=globResult.prefix+globResult.base,files2=globResult.glob;specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:directory2,files:files2}}else isDirectory(configDir,entry)?specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:entry,files:DEFAULT_FILES}:specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:import_path12.default.dirname(entry),files:import_path12.default.basename(entry)}}else specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,files:DEFAULT_FILES,...entry};let files=(0,import_slash.default)(specifierWithoutMatcher.files),{directory:directoryRelativeToConfig}=specifierWithoutMatcher,directory=(0,import_slash.default)(getDirectoryFromWorkingDir({configDir,workingDir,directory:directoryRelativeToConfig})).replace(/\/$/,""),importPathMatcher=globToRegexp(`${directory}/${files}`);return{...specifierWithoutMatcher,directory,importPathMatcher}},normalizeStories=(entries,options)=>entries.map(entry=>normalizeStoriesEntry(entry,options));var import_fs_extra3=__toESM(require("fs-extra"));async function readTemplate(filename){return import_fs_extra3.default.readFile(filename,{encoding:"utf8"})}function isPreservingSymlinks(){let{NODE_OPTIONS,NODE_PRESERVE_SYMLINKS}=process.env;return!!NODE_PRESERVE_SYMLINKS||(NODE_OPTIONS==null?void 0:NODE_OPTIONS.includes("--preserve-symlinks"))}var import_path13=__toESM(require("path")),import_pkg_dir2=require("pkg-dir"),import_fs3=__toESM(require("fs")),interpolate2=(string,data={})=>Object.entries(data).reduce((acc,[k,v])=>acc.replace(new RegExp(`%${k}%`,"g"),v),string);function getPreviewBodyTemplate(configDirPath,interpolations){let base=import_fs3.default.readFileSync(`${(0,import_pkg_dir2.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=import_path13.default.resolve(configDirPath,"preview-body.html"),result=base;return import_fs3.default.existsSync(bodyHtmlPath)&&(result=import_fs3.default.readFileSync(bodyHtmlPath,"utf8")+result),interpolate2(result,interpolations)}function getPreviewHeadTemplate(configDirPath,interpolations){let base=import_fs3.default.readFileSync(`${(0,import_pkg_dir2.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=import_path13.default.resolve(configDirPath,"preview-head.html"),result=base;return import_fs3.default.existsSync(headHtmlPath)&&(result+=import_fs3.default.readFileSync(headHtmlPath,"utf8")),interpolate2(result,interpolations)}var import_ts_dedent6=require("ts-dedent"),rendererNames=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function validateFrameworkName(frameworkName){if(rendererNames.includes(frameworkName))throw new Error(import_ts_dedent6.dedent`
19
19
  Invalid value of ${frameworkName} in the 'framework' field of Storybook config.
20
20
 
21
21
  Please run 'npx sb@next automigrate'
package/dist/index.mjs CHANGED
@@ -13,9 +13,9 @@ ${item}`)}};async function getContent(input){if(input.type==="virtual"){let{type
13
13
  You must specify a framework in '.storybook/main.js' config.
14
14
 
15
15
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
16
- `);return typeof framework=="object"?framework.name:framework}async function getRendererName(options){let{renderer}=await options.presets.apply("core",{},options);return renderer||getFrameworkName(options)}function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}import path6 from"path";import fse from"fs-extra";var rendererPackages={"@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"},logger3=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key])=>rendererPackages[key]),[pkg,version]=dep||devDep||peerDep||[],renderer=pkg?rendererPackages[pkg]:void 0;return dep&&devDep&&dep[0]===devDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,framework:renderer,frameworkPackage:pkg,renderer,rendererPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=path6.join(configDir,prefix),extension=validConfigExtensions.find(ext=>fse.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=packageJson=>{let configDir=".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(configDir=configParam)}return{configDir,mainConfig:findConfigFile("main",configDir),previewConfig:findConfigFile("preview",configDir),managerConfig:findConfigFile("manager",configDir)}},getStorybookInfo=packageJson=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson);return{...rendererInfo,...configInfo}};import{readJSON}from"fs-extra";import{dirname,join as join2}from"path";import findUp2 from"find-up";import resolveFrom2 from"resolve-from";import{logger as logger4}from"@storybook/node-logger";var getAutoRefs=async options=>{let location=await findUp2("package.json",{cwd:options.configDir});if(!location)return{};let directory=dirname(location),{dependencies=[],devDependencies=[]}=await readJSON(location)||{},deps=Object.keys({...dependencies,...devDependencies});return(await Promise.all(deps.map(async d=>{try{let l=resolveFrom2(directory,join2(d,"package.json")),{storybook,name,version}=await readJSON(l)||{};if(storybook?.url)return{id:name,...storybook,version}}catch(error){if(error.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;logger4.warn(`unable to find package.json for ${d}`);return}}))).filter(Boolean).reduce((acc,cur)=>({...acc,[cur.id]:{id:cur.id.toLowerCase(),url:stripTrailingSlash(cur.url),title:cur.title,version:cur.version}}),{})},checkRef=url=>fetch(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await fetch(`${url}/iframe.html`,{headers:{Accept:"application/json"}});if(data.ok&&(await data.json().catch(e=>({}))).loginUrl)return!1}return ok},()=>!1),stripTrailingSlash=url=>url.replace(/\/$/,""),toTitle=input=>{let result=input.replace(/[A-Z]/g,f=>` ${f}`).replace(/[-_][A-Z]/gi,f=>` ${f.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${result.substring(0,1).toUpperCase()}${result.substring(1)}`.trim()};async function getRefs(options){let refs=await options.presets.apply("refs",await getAutoRefs(options));return Object.entries(refs).forEach(([key,value])=>{if(value.disable){delete refs[key];return}refs[key.toLowerCase()]={...value,id:key.toLowerCase(),title:value.title||toTitle(value.id||key),url:stripTrailingSlash(value.url)}}),await Promise.all(Object.entries(refs).map(async([k,value])=>{let ok=await checkRef(value.url);refs[k]={...value,type:ok?"server-checked":"unknown"}})),refs}import{makeRe}from"picomatch";function globToRegexp(glob2){let regex=makeRe(glob2,{fastpaths:!1,noglobstar:!1,bash:!1});if(!regex.source.startsWith("^"))throw new Error(`Invalid glob: >> ${glob2} >> ${regex}`);return glob2.startsWith("./")?new RegExp(["^\\.",glob2.startsWith("./**")?"":"[\\\\/]",regex.source.substring(1)].join("")):regex}import Handlebars from"handlebars";function handlebars(source,data){return Handlebars.compile(source)(data)}var interpolate=(template,bindings)=>Object.entries(bindings).reduce((acc,[k,v])=>{let escapedString=v.replace(/\\/g,"/").replace(/\$/g,"$$$");return acc.replace(new RegExp(`{{${k}}}`,"g"),escapedString)},template);import path7 from"path";function loadMainConfig({configDir}){return validateConfigurationFiles(configDir),serverRequire(path7.resolve(configDir,"main"))}import path8 from"path";import{logger as logger5}from"@storybook/node-logger";import{dedent as dedent4}from"ts-dedent";function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(path8.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(path8.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&logger5.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(dedent4`
16
+ `);return typeof framework=="object"?framework.name:framework}async function getRendererName(options){let{renderer}=await options.presets.apply("core",{},options);return renderer||getFrameworkName(options)}function getStorybookConfiguration(storybookScript,shortName,longName){if(!storybookScript)return null;let parts=storybookScript.split(/[\s='"]+/),index=parts.indexOf(longName);return index===-1&&(index=parts.indexOf(shortName)),index===-1?null:parts[index+1]}import path6 from"path";import fse from"fs-extra";var rendererPackages={"@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"},logger3=console,findDependency=({dependencies,devDependencies,peerDependencies},predicate)=>[Object.entries(dependencies||{}).find(predicate),Object.entries(devDependencies||{}).find(predicate),Object.entries(peerDependencies||{}).find(predicate)],getRendererInfo=packageJson=>{let[dep,devDep,peerDep]=findDependency(packageJson,([key])=>rendererPackages[key]),[pkg,version]=dep||devDep||peerDep||[],renderer=pkg?rendererPackages[pkg]:void 0;return dep&&devDep&&dep[0]===devDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "devDependencies". This is probably a mistake.`),dep&&peerDep&&dep[0]===peerDep[0]&&logger3.warn(`Found "${dep[0]}" in both "dependencies" and "peerDependencies". This is probably a mistake.`),{version,framework:renderer,frameworkPackage:pkg,renderer,rendererPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=path6.join(configDir,prefix),extension=validConfigExtensions.find(ext=>fse.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=packageJson=>{let configDir=".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(configDir=configParam)}return{configDir,mainConfig:findConfigFile("main",configDir),previewConfig:findConfigFile("preview",configDir),managerConfig:findConfigFile("manager",configDir)}},getStorybookInfo=packageJson=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson);return{...rendererInfo,...configInfo}};import{readJSON}from"fs-extra";import{dirname,join as join2}from"path";import findUp2 from"find-up";import resolveFrom2 from"resolve-from";import{logger as logger4}from"@storybook/node-logger";var getAutoRefs=async options=>{let location=await findUp2("package.json",{cwd:options.configDir});if(!location)return{};let directory=dirname(location),{dependencies=[],devDependencies=[]}=await readJSON(location)||{},deps=Object.keys({...dependencies,...devDependencies});return(await Promise.all(deps.map(async d=>{try{let l=resolveFrom2(directory,join2(d,"package.json")),{storybook,name,version}=await readJSON(l)||{};if(storybook?.url)return{id:name,...storybook,version}}catch(error){if(error.code==="ERR_PACKAGE_PATH_NOT_EXPORTED")return;logger4.warn(`unable to find package.json for ${d}`);return}}))).filter(Boolean).reduce((acc,cur)=>({...acc,[cur.id]:{id:cur.id.toLowerCase(),url:stripTrailingSlash(cur.url),title:cur.title,version:cur.version}}),{})},checkRef=url=>fetch(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await fetch(`${url}/iframe.html`,{headers:{Accept:"application/json"}});if(data.ok&&(await data.json().catch(e=>({}))).loginUrl)return!1}return ok},()=>!1),stripTrailingSlash=url=>url.replace(/\/$/,""),toTitle=input=>{let result=input.replace(/[A-Z]/g,f=>` ${f}`).replace(/[-_][A-Z]/gi,f=>` ${f.toUpperCase()}`).replace(/-/g," ").replace(/_/g," ");return`${result.substring(0,1).toUpperCase()}${result.substring(1)}`.trim()};async function getRefs(options){let refs=await options.presets.apply("refs",await getAutoRefs(options));return Object.entries(refs).forEach(([key,value])=>{if(value.disable){delete refs[key];return}refs[key.toLowerCase()]={...value,id:key.toLowerCase(),title:value.title||toTitle(value.id||key),url:stripTrailingSlash(value.url)}}),await Promise.all(Object.entries(refs).map(async([k,value])=>{let ok=await checkRef(value.url);refs[k]={...value,type:ok?"server-checked":"unknown"}})),refs}import*as pico from"picomatch";function globToRegexp(glob2){let regex=pico.makeRe(glob2,{fastpaths:!1,noglobstar:!1,bash:!1});if(!regex.source.startsWith("^"))throw new Error(`Invalid glob: >> ${glob2} >> ${regex}`);return glob2.startsWith("./")?new RegExp(["^\\.",glob2.startsWith("./**")?"":"[\\\\/]",regex.source.substring(1)].join("")):regex}import Handlebars from"handlebars";function handlebars(source,data){return Handlebars.compile(source)(data)}var interpolate=(template,bindings)=>Object.entries(bindings).reduce((acc,[k,v])=>{let escapedString=v.replace(/\\/g,"/").replace(/\$/g,"$$$");return acc.replace(new RegExp(`{{${k}}}`,"g"),escapedString)},template);import path7 from"path";function loadMainConfig({configDir}){return validateConfigurationFiles(configDir),serverRequire(path7.resolve(configDir,"main"))}import path8 from"path";import{logger as logger5}from"@storybook/node-logger";import{dedent as dedent4}from"ts-dedent";function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(path8.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(path8.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&logger5.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(dedent4`
17
17
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${path8.resolve(configDir,"addons")})`);return storybookCustomManagerPath||storybookCustomAddonsPath}import path9 from"path";import{dedent as dedent5}from"ts-dedent";function loadPreviewOrConfigFile({configDir}){let storybookConfigPath=getInterpretedFile(path9.resolve(configDir,"config")),storybookPreviewPath=getInterpretedFile(path9.resolve(configDir,"preview"));if(storybookConfigPath&&storybookPreviewPath)throw new Error(dedent5`
18
- You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${path9.resolve(configDir,"config")})`);return storybookPreviewPath||storybookConfigPath}import chalk from"chalk";function logConfig(caption,config){console.log(chalk.cyan(caption)),console.dir(config,{depth:null})}import fs2 from"fs";import path10 from"path";import{scan}from"picomatch";import slash from"slash";var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return fs2.lstatSync(path10.resolve(configDir,entry)).isDirectory()}catch{return!1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=path10.resolve(configDir,directory),directoryFromWorking=path10.relative(workingDir,directoryFromConfig);return normalizeStoryPath(directoryFromWorking)},normalizeStoriesEntry=(entry,{configDir,workingDir})=>{let specifierWithoutMatcher;if(typeof entry=="string"){let globResult=scan(entry);if(globResult.isGlob){let directory2=globResult.prefix+globResult.base,files2=globResult.glob;specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:directory2,files:files2}}else isDirectory(configDir,entry)?specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:entry,files:DEFAULT_FILES}:specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:path10.dirname(entry),files:path10.basename(entry)}}else specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,files:DEFAULT_FILES,...entry};let files=slash(specifierWithoutMatcher.files),{directory:directoryRelativeToConfig}=specifierWithoutMatcher,directory=slash(getDirectoryFromWorkingDir({configDir,workingDir,directory:directoryRelativeToConfig})).replace(/\/$/,""),importPathMatcher=globToRegexp(`${directory}/${files}`);return{...specifierWithoutMatcher,directory,importPathMatcher}},normalizeStories=(entries,options)=>entries.map(entry=>normalizeStoriesEntry(entry,options));import fse2 from"fs-extra";async function readTemplate(filename){return fse2.readFile(filename,{encoding:"utf8"})}function isPreservingSymlinks(){let{NODE_OPTIONS,NODE_PRESERVE_SYMLINKS}=process.env;return!!NODE_PRESERVE_SYMLINKS||NODE_OPTIONS?.includes("--preserve-symlinks")}import path11 from"path";import{sync}from"pkg-dir";import fs3 from"fs";var interpolate2=(string,data={})=>Object.entries(data).reduce((acc,[k,v])=>acc.replace(new RegExp(`%${k}%`,"g"),v),string);function getPreviewBodyTemplate(configDirPath,interpolations){let base=fs3.readFileSync(`${sync(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=path11.resolve(configDirPath,"preview-body.html"),result=base;return fs3.existsSync(bodyHtmlPath)&&(result=fs3.readFileSync(bodyHtmlPath,"utf8")+result),interpolate2(result,interpolations)}function getPreviewHeadTemplate(configDirPath,interpolations){let base=fs3.readFileSync(`${sync(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=path11.resolve(configDirPath,"preview-head.html"),result=base;return fs3.existsSync(headHtmlPath)&&(result+=fs3.readFileSync(headHtmlPath,"utf8")),interpolate2(result,interpolations)}import{dedent as dedent6}from"ts-dedent";var rendererNames=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function validateFrameworkName(frameworkName){if(rendererNames.includes(frameworkName))throw new Error(dedent6`
18
+ You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${path9.resolve(configDir,"config")})`);return storybookPreviewPath||storybookConfigPath}import chalk from"chalk";function logConfig(caption,config){console.log(chalk.cyan(caption)),console.dir(config,{depth:null})}import fs2 from"fs";import path10 from"path";import*as pico2 from"picomatch";import slash from"slash";var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return fs2.lstatSync(path10.resolve(configDir,entry)).isDirectory()}catch{return!1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=path10.resolve(configDir,directory),directoryFromWorking=path10.relative(workingDir,directoryFromConfig);return normalizeStoryPath(directoryFromWorking)},normalizeStoriesEntry=(entry,{configDir,workingDir})=>{let specifierWithoutMatcher;if(typeof entry=="string"){let globResult=pico2.scan(entry);if(globResult.isGlob){let directory2=globResult.prefix+globResult.base,files2=globResult.glob;specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:directory2,files:files2}}else isDirectory(configDir,entry)?specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:entry,files:DEFAULT_FILES}:specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,directory:path10.dirname(entry),files:path10.basename(entry)}}else specifierWithoutMatcher={titlePrefix:DEFAULT_TITLE_PREFIX,files:DEFAULT_FILES,...entry};let files=slash(specifierWithoutMatcher.files),{directory:directoryRelativeToConfig}=specifierWithoutMatcher,directory=slash(getDirectoryFromWorkingDir({configDir,workingDir,directory:directoryRelativeToConfig})).replace(/\/$/,""),importPathMatcher=globToRegexp(`${directory}/${files}`);return{...specifierWithoutMatcher,directory,importPathMatcher}},normalizeStories=(entries,options)=>entries.map(entry=>normalizeStoriesEntry(entry,options));import fse2 from"fs-extra";async function readTemplate(filename){return fse2.readFile(filename,{encoding:"utf8"})}function isPreservingSymlinks(){let{NODE_OPTIONS,NODE_PRESERVE_SYMLINKS}=process.env;return!!NODE_PRESERVE_SYMLINKS||NODE_OPTIONS?.includes("--preserve-symlinks")}import path11 from"path";import{sync}from"pkg-dir";import fs3 from"fs";var interpolate2=(string,data={})=>Object.entries(data).reduce((acc,[k,v])=>acc.replace(new RegExp(`%${k}%`,"g"),v),string);function getPreviewBodyTemplate(configDirPath,interpolations){let base=fs3.readFileSync(`${sync(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=path11.resolve(configDirPath,"preview-body.html"),result=base;return fs3.existsSync(bodyHtmlPath)&&(result=fs3.readFileSync(bodyHtmlPath,"utf8")+result),interpolate2(result,interpolations)}function getPreviewHeadTemplate(configDirPath,interpolations){let base=fs3.readFileSync(`${sync(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=path11.resolve(configDirPath,"preview-head.html"),result=base;return fs3.existsSync(headHtmlPath)&&(result+=fs3.readFileSync(headHtmlPath,"utf8")),interpolate2(result,interpolations)}import{dedent as dedent6}from"ts-dedent";var rendererNames=["@storybook/html","@storybook/preact","@storybook/react","@storybook/server","@storybook/svelte","@storybook/vue","@storybook/vue3","@storybook/web-components"];function validateFrameworkName(frameworkName){if(rendererNames.includes(frameworkName))throw new Error(dedent6`
19
19
  Invalid value of ${frameworkName} in the 'framework' field of Storybook config.
20
20
 
21
21
  Please run 'npx sb@next automigrate'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/core-common",
3
- "version": "7.0.0-beta.13",
3
+ "version": "7.0.0-beta.15",
4
4
  "description": "Storybook framework-agnostic API",
5
5
  "keywords": [
6
6
  "storybook"
@@ -21,23 +21,20 @@
21
21
  "license": "MIT",
22
22
  "exports": {
23
23
  ".": {
24
+ "node": "./dist/index.js",
24
25
  "require": "./dist/index.js",
25
26
  "import": "./dist/index.mjs",
26
27
  "types": "./dist/index.d.ts"
27
28
  },
28
- "./package.json": {
29
- "require": "./package.json",
30
- "import": "./package.json",
31
- "types": "./package.json"
32
- }
29
+ "./package.json": "./package.json"
33
30
  },
34
31
  "main": "dist/index.js",
35
32
  "module": "dist/index.mjs",
36
33
  "types": "dist/index.d.ts",
37
34
  "files": [
38
35
  "dist/**/*",
39
- "types/**/*",
40
36
  "templates/**/*",
37
+ "README.md",
41
38
  "*.js",
42
39
  "*.d.ts"
43
40
  ],
@@ -47,8 +44,8 @@
47
44
  },
48
45
  "dependencies": {
49
46
  "@babel/core": "^7.20.2",
50
- "@storybook/node-logger": "7.0.0-beta.13",
51
- "@storybook/types": "7.0.0-beta.13",
47
+ "@storybook/node-logger": "7.0.0-beta.15",
48
+ "@storybook/types": "7.0.0-beta.15",
52
49
  "@types/babel__core": "^7.1.20",
53
50
  "@types/express": "^4.7.0",
54
51
  "@types/node": "^16.0.0",
@@ -86,5 +83,5 @@
86
83
  ],
87
84
  "platform": "node"
88
85
  },
89
- "gitHead": "ddf86bd126ede0c019d7c9494f99f24a5cad9908"
86
+ "gitHead": "ed794f9d13e2bfe696ed2b230a3da04c203519eb"
90
87
  }