@storybook/core-common 7.1.0-alpha.35 → 7.1.0-alpha.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -75,6 +75,7 @@ declare function getStorybookConfiguration(storybookScript: string, shortName: s
75
75
 
76
76
  declare const rendererPackages: Record<string, string>;
77
77
  declare const frameworkPackages: Record<string, string>;
78
+ declare const builderPackages: string[];
78
79
  declare const getStorybookInfo: (packageJson: PackageJson, configDir?: string) => CoreCommon_StorybookInfo;
79
80
 
80
81
  declare const getAutoRefs: (options: Options$2) => Promise<Record<string, Ref>>;
@@ -173,4 +174,4 @@ type Options = Parameters<typeof Cache__default>['0'];
173
174
  type FileSystemCache = ReturnType<typeof Cache__default>;
174
175
  declare function createFileSystemCache(options: Options): FileSystemCache;
175
176
 
176
- export { boost, cache, checkAddonOrder, commonGlobOptions, createFileSystemCache, filterPresetsConfig, findDistEsm, frameworkPackages, getAutoRefs, getBuilderOptions, getDirectoryFromWorkingDir, getFrameworkName, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getProjectRoot, getRefs, getRendererName, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, isPreservingSymlinks, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, rendererPackages, resolveAddonName, resolvePathInStorybookCache, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, stripAbsNodeModulesPath, validateConfigurationFiles, validateFrameworkName };
177
+ export { boost, builderPackages, cache, checkAddonOrder, commonGlobOptions, createFileSystemCache, filterPresetsConfig, findDistEsm, frameworkPackages, getAutoRefs, getBuilderOptions, getDirectoryFromWorkingDir, getFrameworkName, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getProjectRoot, getRefs, getRendererName, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, isPreservingSymlinks, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, rendererPackages, resolveAddonName, resolvePathInStorybookCache, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, stripAbsNodeModulesPath, validateConfigurationFiles, validateFrameworkName };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{boost:()=>boost,cache:()=>cache,checkAddonOrder:()=>checkAddonOrder,commonGlobOptions:()=>commonGlobOptions,createFileSystemCache:()=>createFileSystemCache,filterPresetsConfig:()=>filterPresetsConfig,findDistEsm:()=>findDistEsm,frameworkPackages:()=>frameworkPackages,getAutoRefs:()=>getAutoRefs,getBuilderOptions:()=>getBuilderOptions,getDirectoryFromWorkingDir:()=>getDirectoryFromWorkingDir,getFrameworkName:()=>getFrameworkName,getInterpretedFile:()=>getInterpretedFile,getInterpretedFileWithExt:()=>getInterpretedFileWithExt,getPresets:()=>getPresets,getPreviewBodyTemplate:()=>getPreviewBodyTemplate,getPreviewHeadTemplate:()=>getPreviewHeadTemplate,getProjectRoot:()=>getProjectRoot,getRefs:()=>getRefs,getRendererName:()=>getRendererName,getStorybookConfiguration:()=>getStorybookConfiguration,getStorybookInfo:()=>getStorybookInfo,globToRegexp:()=>globToRegexp,handlebars:()=>handlebars,interopRequireDefault:()=>interopRequireDefault,interpolate:()=>interpolate,isPreservingSymlinks:()=>isPreservingSymlinks,loadAllPresets:()=>loadAllPresets,loadCustomPresets:()=>loadCustomPresets,loadEnvs:()=>loadEnvs,loadMainConfig:()=>loadMainConfig,loadManagerOrAddonsFile:()=>loadManagerOrAddonsFile,loadPreset:()=>loadPreset,loadPreviewOrConfigFile:()=>loadPreviewOrConfigFile,logConfig:()=>logConfig,nodePathsToArray:()=>nodePathsToArray,normalizeStories:()=>normalizeStories,normalizeStoriesEntry:()=>normalizeStoriesEntry,normalizeStoryPath:()=>normalizeStoryPath,readTemplate:()=>readTemplate,rendererPackages:()=>rendererPackages,resolveAddonName:()=>resolveAddonName,resolvePathInStorybookCache:()=>resolvePathInStorybookCache,satisfies:()=>satisfies,serverRequire:()=>serverRequire,serverResolve:()=>serverResolve,stringifyEnvs:()=>stringifyEnvs,stringifyProcessEnvs:()=>stringifyProcessEnvs,stripAbsNodeModulesPath:()=>stripAbsNodeModulesPath,validateConfigurationFiles:()=>validateConfigurationFiles,validateFrameworkName:()=>validateFrameworkName});module.exports=__toCommonJS(src_exports);var import_ts_dedent2=require("ts-dedent"),import_node_logger2=require("@storybook/node-logger"),import_path4=require("path");var import_path2=__toESM(require("path"));var import_fs=__toESM(require("fs")),boost=new Set([".js",".jsx",".ts",".tsx",".cts",".mts",".cjs",".mjs"]);function sortExtensions(){return[...Array.from(boost)]}var possibleExtensions=sortExtensions();function getInterpretedFile(pathToFile){return possibleExtensions.map(ext=>pathToFile.endsWith(ext)?pathToFile:`${pathToFile}${ext}`).find(candidate=>import_fs.default.existsSync(candidate))}function getInterpretedFileWithExt(pathToFile){return possibleExtensions.map(ext=>({path:pathToFile.endsWith(ext)?pathToFile:`${pathToFile}${ext}`,ext})).find(candidate=>import_fs.default.existsSync(candidate.path))}var registered=!1;function interopRequireDefault(filePath){let hasEsbuildBeenRegistered=!!require("module")._extensions[".ts"];if(registered===!1&&!hasEsbuildBeenRegistered){let{register}=require("esbuild-register/dist/node");registered=!0,register({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!0,tsconfigRaw:`{
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{boost:()=>boost,builderPackages:()=>builderPackages,cache:()=>cache,checkAddonOrder:()=>checkAddonOrder,commonGlobOptions:()=>commonGlobOptions,createFileSystemCache:()=>createFileSystemCache,filterPresetsConfig:()=>filterPresetsConfig,findDistEsm:()=>findDistEsm,frameworkPackages:()=>frameworkPackages,getAutoRefs:()=>getAutoRefs,getBuilderOptions:()=>getBuilderOptions,getDirectoryFromWorkingDir:()=>getDirectoryFromWorkingDir,getFrameworkName:()=>getFrameworkName,getInterpretedFile:()=>getInterpretedFile,getInterpretedFileWithExt:()=>getInterpretedFileWithExt,getPresets:()=>getPresets,getPreviewBodyTemplate:()=>getPreviewBodyTemplate,getPreviewHeadTemplate:()=>getPreviewHeadTemplate,getProjectRoot:()=>getProjectRoot,getRefs:()=>getRefs,getRendererName:()=>getRendererName,getStorybookConfiguration:()=>getStorybookConfiguration,getStorybookInfo:()=>getStorybookInfo,globToRegexp:()=>globToRegexp,handlebars:()=>handlebars,interopRequireDefault:()=>interopRequireDefault,interpolate:()=>interpolate,isPreservingSymlinks:()=>isPreservingSymlinks,loadAllPresets:()=>loadAllPresets,loadCustomPresets:()=>loadCustomPresets,loadEnvs:()=>loadEnvs,loadMainConfig:()=>loadMainConfig,loadManagerOrAddonsFile:()=>loadManagerOrAddonsFile,loadPreset:()=>loadPreset,loadPreviewOrConfigFile:()=>loadPreviewOrConfigFile,logConfig:()=>logConfig,nodePathsToArray:()=>nodePathsToArray,normalizeStories:()=>normalizeStories,normalizeStoriesEntry:()=>normalizeStoriesEntry,normalizeStoryPath:()=>normalizeStoryPath,readTemplate:()=>readTemplate,rendererPackages:()=>rendererPackages,resolveAddonName:()=>resolveAddonName,resolvePathInStorybookCache:()=>resolvePathInStorybookCache,satisfies:()=>satisfies,serverRequire:()=>serverRequire,serverResolve:()=>serverResolve,stringifyEnvs:()=>stringifyEnvs,stringifyProcessEnvs:()=>stringifyProcessEnvs,stripAbsNodeModulesPath:()=>stripAbsNodeModulesPath,validateConfigurationFiles:()=>validateConfigurationFiles,validateFrameworkName:()=>validateFrameworkName});module.exports=__toCommonJS(src_exports);var import_ts_dedent2=require("ts-dedent"),import_node_logger2=require("@storybook/node-logger"),import_path4=require("path");var import_path2=__toESM(require("path"));var import_fs=__toESM(require("fs")),boost=new Set([".js",".jsx",".ts",".tsx",".cts",".mts",".cjs",".mjs"]);function sortExtensions(){return[...Array.from(boost)]}var possibleExtensions=sortExtensions();function getInterpretedFile(pathToFile){return possibleExtensions.map(ext=>pathToFile.endsWith(ext)?pathToFile:`${pathToFile}${ext}`).find(candidate=>import_fs.default.existsSync(candidate))}function getInterpretedFileWithExt(pathToFile){return possibleExtensions.map(ext=>({path:pathToFile.endsWith(ext)?pathToFile:`${pathToFile}${ext}`,ext})).find(candidate=>import_fs.default.existsSync(candidate.path))}var registered=!1;function interopRequireDefault(filePath){let hasEsbuildBeenRegistered=!!require("module")._extensions[".ts"];if(registered===!1&&!hasEsbuildBeenRegistered){let{register}=require("esbuild-register/dist/node");registered=!0,register({target:`node${process.version.slice(1)}`,format:"cjs",hookIgnoreNodeModules:!0,tsconfigRaw:`{
2
2
  "compilerOptions": {
3
3
  "strict": false,
4
4
  "skipLibCheck": true,
@@ -16,7 +16,7 @@ ${item}`);return}if(!resolved){import_node_logger2.logger.warn(`Could not resolv
16
16
  You must specify a framework in '.storybook/main.js' config.
17
17
 
18
18
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
19
- `);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_path8=__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/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/vue-vite":"vue-vite","@storybook/vue-webpack5":"vue-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},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_path8.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{var _a;let storybookConfigDir=configDir??".storybook",storybookScript=(_a=packageJson.scripts)==null?void 0:_a.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam)}return{configDir,mainConfig:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return{...rendererInfo,...configInfo}};var import_fs_extra2=require("fs-extra"),import_path9=require("path"),import_find_up3=__toESM(require("find-up")),import_node_fetch=__toESM(require("node-fetch")),import_resolve_from2=__toESM(require("resolve-from")),import_node_logger4=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_path9.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_path9.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_logger4.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=>(0,import_node_fetch.default)(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await(0,import_node_fetch.default)(`${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_path10=__toESM(require("path"));async function loadMainConfig({configDir=".storybook",noCache=!1}){await validateConfigurationFiles(configDir);let mainJsPath=serverResolve(import_path10.default.resolve(configDir,"main"));return noCache&&mainJsPath&&require.cache[mainJsPath]&&delete require.cache[mainJsPath],serverRequire(mainJsPath)}var import_path11=__toESM(require("path")),import_node_logger5=require("@storybook/node-logger"),import_ts_dedent4=require("ts-dedent");function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(import_path11.default.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(import_path11.default.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&import_node_logger5.logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(import_ts_dedent4.dedent`
19
+ `);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_path8=__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/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/vue-vite":"vue-vite","@storybook/vue-webpack5":"vue-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},builderPackages=["@storybook/builder-webpack5","@storybook/builder-vite"],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||[];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,frameworkPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=import_path8.default.join(configDir,prefix),extension=validConfigExtensions.find(ext=>import_fs_extra.default.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{var _a;let storybookConfigDir=configDir??".storybook",storybookScript=(_a=packageJson.scripts)==null?void 0:_a.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam)}return{configDir,mainConfig:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return{...rendererInfo,...configInfo}};var import_fs_extra2=require("fs-extra"),import_path9=require("path"),import_find_up3=__toESM(require("find-up")),import_node_fetch=__toESM(require("node-fetch")),import_resolve_from2=__toESM(require("resolve-from")),import_node_logger4=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_path9.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_path9.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_logger4.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=>(0,import_node_fetch.default)(`${url}/iframe.html`).then(async({ok,status})=>{if(ok){if(status!==200)return!1;let data=await(0,import_node_fetch.default)(`${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_path10=__toESM(require("path"));async function loadMainConfig({configDir=".storybook",noCache=!1}){await validateConfigurationFiles(configDir);let mainJsPath=serverResolve(import_path10.default.resolve(configDir,"main"));return noCache&&mainJsPath&&require.cache[mainJsPath]&&delete require.cache[mainJsPath],serverRequire(mainJsPath)}var import_path11=__toESM(require("path")),import_node_logger5=require("@storybook/node-logger"),import_ts_dedent4=require("ts-dedent");function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(import_path11.default.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(import_path11.default.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&import_node_logger5.logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(import_ts_dedent4.dedent`
20
20
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${import_path11.default.resolve(configDir,"addons")})`);return storybookCustomManagerPath||storybookCustomAddonsPath}var import_path12=__toESM(require("path")),import_ts_dedent5=require("ts-dedent");function loadPreviewOrConfigFile({configDir}){let storybookConfigPath=getInterpretedFile(import_path12.default.resolve(configDir,"config")),storybookPreviewPath=getInterpretedFile(import_path12.default.resolve(configDir,"preview"));if(storybookConfigPath&&storybookPreviewPath)throw new Error(import_ts_dedent5.dedent`
21
21
  You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${import_path12.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_path13=__toESM(require("path")),pico2=__toESM(require("picomatch"));var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return import_fs2.default.lstatSync(import_path13.default.resolve(configDir,entry)).isDirectory()}catch{return!1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=import_path13.default.resolve(configDir,directory),directoryFromWorking=import_path13.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_path13.default.dirname(entry),files:import_path13.default.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));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_path14=__toESM(require("path")),import_pkg_dir=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_dir.sync)(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=import_path14.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_dir.sync)(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=import_path14.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_path15=require("path"),import_ts_dedent6=require("ts-dedent");var renderers=["html","preact","react","server","svelte","vue","vue3","web-components"],rendererNames=[...renderers,...renderers.map(renderer=>`@storybook/${renderer}`)];function validateFrameworkName(frameworkName){let automigrateMessage=`Please run 'npx storybook@next automigrate' to automatically fix your config.
22
22
 
@@ -33,4 +33,4 @@ ${item}`);return}if(!resolved){import_node_logger2.logger.warn(`Could not resolv
33
33
  `);if(!Object.keys(frameworkPackages).includes(frameworkName))try{require.resolve((0,import_path15.join)(frameworkName,"preset"))}catch{throw new Error(import_ts_dedent6.dedent`
34
34
  Could not evaluate the ${frameworkName} package from the 'framework' field of Storybook config.
35
35
 
36
- Are you sure it's a valid package and is installed?`)}}function satisfies(){return x=>x}0&&(module.exports={boost,cache,checkAddonOrder,commonGlobOptions,createFileSystemCache,filterPresetsConfig,findDistEsm,frameworkPackages,getAutoRefs,getBuilderOptions,getDirectoryFromWorkingDir,getFrameworkName,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getProjectRoot,getRefs,getRendererName,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,isPreservingSymlinks,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,rendererPackages,resolveAddonName,resolvePathInStorybookCache,satisfies,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,stripAbsNodeModulesPath,validateConfigurationFiles,validateFrameworkName});
36
+ Are you sure it's a valid package and is installed?`)}}function satisfies(){return x=>x}0&&(module.exports={boost,builderPackages,cache,checkAddonOrder,commonGlobOptions,createFileSystemCache,filterPresetsConfig,findDistEsm,frameworkPackages,getAutoRefs,getBuilderOptions,getDirectoryFromWorkingDir,getFrameworkName,getInterpretedFile,getInterpretedFileWithExt,getPresets,getPreviewBodyTemplate,getPreviewHeadTemplate,getProjectRoot,getRefs,getRendererName,getStorybookConfiguration,getStorybookInfo,globToRegexp,handlebars,interopRequireDefault,interpolate,isPreservingSymlinks,loadAllPresets,loadCustomPresets,loadEnvs,loadMainConfig,loadManagerOrAddonsFile,loadPreset,loadPreviewOrConfigFile,logConfig,nodePathsToArray,normalizeStories,normalizeStoriesEntry,normalizeStoryPath,readTemplate,rendererPackages,resolveAddonName,resolvePathInStorybookCache,satisfies,serverRequire,serverResolve,stringifyEnvs,stringifyProcessEnvs,stripAbsNodeModulesPath,validateConfigurationFiles,validateFrameworkName});
package/dist/index.mjs CHANGED
@@ -33,7 +33,7 @@ ${item}`);return}if(!resolved){logger.warn(`Could not resolve addon "${name}", s
33
33
  You must specify a framework in '.storybook/main.js' config.
34
34
 
35
35
  https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#framework-field-mandatory
36
- `);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 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/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/vue-vite":"vue-vite","@storybook/vue-webpack5":"vue-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},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=path5.join(configDir,prefix),extension=validConfigExtensions.find(ext=>fse.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{let storybookConfigDir=configDir??".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam);}return {configDir,mainConfig:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}};var getAutoRefs=async options=>{let location=await findUp("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=resolveFrom(directory,join(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;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}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}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);async function loadMainConfig({configDir=".storybook",noCache=!1}){await validateConfigurationFiles(configDir);let mainJsPath=serverResolve(path5.resolve(configDir,"main"));return noCache&&mainJsPath&&__require.cache[mainJsPath]&&delete __require.cache[mainJsPath],serverRequire(mainJsPath)}function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(path5.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(path5.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(dedent`
36
+ `);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 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/svelte":"svelte","@storybook/preact":"preact","@storybook/server":"server","storybook-framework-qwik":"qwik","storybook-solidjs":"solid"},frameworkPackages={"@storybook/angular":"angular","@storybook/ember":"ember","@storybook/html-vite":"html-vite","@storybook/html-webpack5":"html-webpack5","@storybook/nextjs":"nextjs","@storybook/preact-vite":"preact-vite","@storybook/preact-webpack5":"preact-webpack5","@storybook/react-vite":"react-vite","@storybook/react-webpack5":"react-webpack5","@storybook/server-webpack5":"server-webpack5","@storybook/svelte-vite":"svelte-vite","@storybook/svelte-webpack5":"svelte-webpack5","@storybook/sveltekit":"sveltekit","@storybook/vue3-vite":"vue3-vite","@storybook/vue3-webpack5":"vue3-webpack5","@storybook/vue-vite":"vue-vite","@storybook/vue-webpack5":"vue-webpack5","@storybook/web-components-vite":"web-components-vite","@storybook/web-components-webpack5":"web-components-webpack5","storybook-framework-qwik":"qwik","storybook-solidjs-vite":"solid"},builderPackages=["@storybook/builder-webpack5","@storybook/builder-vite"],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||[];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,frameworkPackage:pkg}},validConfigExtensions=["ts","js","tsx","jsx","mjs","cjs"],findConfigFile=(prefix,configDir)=>{let filePrefix=path5.join(configDir,prefix),extension=validConfigExtensions.find(ext=>fse.existsSync(`${filePrefix}.${ext}`));return extension?`${filePrefix}.${extension}`:null},getConfigInfo=(packageJson,configDir)=>{let storybookConfigDir=configDir??".storybook",storybookScript=packageJson.scripts?.storybook;if(storybookScript&&!configDir){let configParam=getStorybookConfiguration(storybookScript,"-c","--config-dir");configParam&&(storybookConfigDir=configParam);}return {configDir,mainConfig:findConfigFile("main",storybookConfigDir),previewConfig:findConfigFile("preview",storybookConfigDir),managerConfig:findConfigFile("manager",storybookConfigDir)}},getStorybookInfo=(packageJson,configDir)=>{let rendererInfo=getRendererInfo(packageJson),configInfo=getConfigInfo(packageJson,configDir);return {...rendererInfo,...configInfo}};var getAutoRefs=async options=>{let location=await findUp("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=resolveFrom(directory,join(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;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}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}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);async function loadMainConfig({configDir=".storybook",noCache=!1}){await validateConfigurationFiles(configDir);let mainJsPath=serverResolve(path5.resolve(configDir,"main"));return noCache&&mainJsPath&&__require.cache[mainJsPath]&&delete __require.cache[mainJsPath],serverRequire(mainJsPath)}function loadManagerOrAddonsFile({configDir}){let storybookCustomAddonsPath=getInterpretedFile(path5.resolve(configDir,"addons")),storybookCustomManagerPath=getInterpretedFile(path5.resolve(configDir,"manager"));if((storybookCustomAddonsPath||storybookCustomManagerPath)&&logger.info("=> Loading custom manager config"),storybookCustomAddonsPath&&storybookCustomManagerPath)throw new Error(dedent`
37
37
  You have both a "addons.js" and a "manager.js", remove the "addons.js" file from your configDir (${path5.resolve(configDir,"addons")})`);return storybookCustomManagerPath||storybookCustomAddonsPath}function loadPreviewOrConfigFile({configDir}){let storybookConfigPath=getInterpretedFile(path5.resolve(configDir,"config")),storybookPreviewPath=getInterpretedFile(path5.resolve(configDir,"preview"));if(storybookConfigPath&&storybookPreviewPath)throw new Error(dedent`
38
38
  You have both a "config.js" and a "preview.js", remove the "config.js" file from your configDir (${path5.resolve(configDir,"config")})`);return storybookPreviewPath||storybookConfigPath}function logConfig(caption,config){console.log(chalk.cyan(caption)),console.dir(config,{depth:null});}var DEFAULT_TITLE_PREFIX="",DEFAULT_FILES="**/*.@(mdx|stories.@(tsx|ts|jsx|js))",isDirectory=(configDir,entry)=>{try{return fs3.lstatSync(path5.resolve(configDir,entry)).isDirectory()}catch{return !1}},getDirectoryFromWorkingDir=({configDir,workingDir,directory})=>{let directoryFromConfig=path5.resolve(configDir,directory),directoryFromWorking=path5.relative(workingDir,directoryFromConfig);return normalizeStoryPath(directoryFromWorking)},normalizeStoriesEntry=(entry,{configDir,workingDir})=>{let specifierWithoutMatcher;if(typeof entry=="string"){let globResult=pico.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:path5.dirname(entry),files:path5.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));async function readTemplate(filename){return fse.readFile(filename,{encoding:"utf8"})}function isPreservingSymlinks(){let{NODE_OPTIONS,NODE_PRESERVE_SYMLINKS}=process.env;return !!NODE_PRESERVE_SYMLINKS||NODE_OPTIONS?.includes("--preserve-symlinks")}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$1(__dirname)}/templates/base-preview-body.html`,"utf8"),bodyHtmlPath=path5.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$1(__dirname)}/templates/base-preview-head.html`,"utf8"),headHtmlPath=path5.resolve(configDirPath,"preview-head.html"),result=base;return fs3.existsSync(headHtmlPath)&&(result+=fs3.readFileSync(headHtmlPath,"utf8")),interpolate2(result,interpolations)}var renderers=["html","preact","react","server","svelte","vue","vue3","web-components"],rendererNames=[...renderers,...renderers.map(renderer=>`@storybook/${renderer}`)];function validateFrameworkName(frameworkName){let automigrateMessage=`Please run 'npx storybook@next automigrate' to automatically fix your config.
39
39
 
@@ -52,4 +52,4 @@ ${item}`);return}if(!resolved){logger.warn(`Could not resolve addon "${name}", s
52
52
 
53
53
  Are you sure it's a valid package and is installed?`)}}function satisfies(){return x=>x}
54
54
 
55
- export { boost, cache, checkAddonOrder, commonGlobOptions, createFileSystemCache, filterPresetsConfig, findDistEsm, frameworkPackages, getAutoRefs, getBuilderOptions, getDirectoryFromWorkingDir, getFrameworkName, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getProjectRoot, getRefs, getRendererName, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, isPreservingSymlinks, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, rendererPackages, resolveAddonName, resolvePathInStorybookCache, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, stripAbsNodeModulesPath, validateConfigurationFiles, validateFrameworkName };
55
+ export { boost, builderPackages, cache, checkAddonOrder, commonGlobOptions, createFileSystemCache, filterPresetsConfig, findDistEsm, frameworkPackages, getAutoRefs, getBuilderOptions, getDirectoryFromWorkingDir, getFrameworkName, getInterpretedFile, getInterpretedFileWithExt, getPresets, getPreviewBodyTemplate, getPreviewHeadTemplate, getProjectRoot, getRefs, getRendererName, getStorybookConfiguration, getStorybookInfo, globToRegexp, handlebars, interopRequireDefault, interpolate, isPreservingSymlinks, loadAllPresets, loadCustomPresets, loadEnvs, loadMainConfig, loadManagerOrAddonsFile, loadPreset, loadPreviewOrConfigFile, logConfig, nodePathsToArray, normalizeStories, normalizeStoriesEntry, normalizeStoryPath, readTemplate, rendererPackages, resolveAddonName, resolvePathInStorybookCache, satisfies, serverRequire, serverResolve, stringifyEnvs, stringifyProcessEnvs, stripAbsNodeModulesPath, validateConfigurationFiles, validateFrameworkName };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/core-common",
3
- "version": "7.1.0-alpha.35",
3
+ "version": "7.1.0-alpha.37",
4
4
  "description": "Storybook framework-agnostic API",
5
5
  "keywords": [
6
6
  "storybook"
@@ -43,8 +43,8 @@
43
43
  "prep": "../../../scripts/prepare/bundle.ts"
44
44
  },
45
45
  "dependencies": {
46
- "@storybook/node-logger": "7.1.0-alpha.35",
47
- "@storybook/types": "7.1.0-alpha.35",
46
+ "@storybook/node-logger": "7.1.0-alpha.37",
47
+ "@storybook/types": "7.1.0-alpha.37",
48
48
  "@types/find-cache-dir": "^3.2.1",
49
49
  "@types/node": "^16.0.0",
50
50
  "@types/node-fetch": "^2.6.4",
@@ -83,5 +83,5 @@
83
83
  ],
84
84
  "platform": "node"
85
85
  },
86
- "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae16"
86
+ "gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
87
87
  }