@storybook/builder-webpack5 7.6.0-beta.2 → 8.0.0-alpha.0

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.
@@ -2788,9 +2788,13 @@ interface Presets {
2788
2788
  apply(extension: 'entries', config?: [], args?: any): Promise<unknown>;
2789
2789
  apply(extension: 'stories', config?: [], args?: any): Promise<StoriesEntry[]>;
2790
2790
  apply(extension: 'managerEntries', config: [], args?: any): Promise<string[]>;
2791
- apply(extension: 'refs', config?: [], args?: any): Promise<unknown>;
2792
- apply(extension: 'core', config?: {}, args?: any): Promise<CoreConfig>;
2793
- apply(extension: 'build', config?: {}, args?: any): Promise<StorybookConfig['build']>;
2791
+ apply(extension: 'refs', config?: [], args?: any): Promise<StorybookConfigRaw['refs']>;
2792
+ apply(extension: 'core', config?: StorybookConfigRaw['core'], args?: any): Promise<NonNullable<StorybookConfigRaw['core']>>;
2793
+ apply(extension: 'docs', config?: StorybookConfigRaw['docs'], args?: any): Promise<NonNullable<StorybookConfigRaw['docs']>>;
2794
+ apply(extension: 'features', config?: StorybookConfigRaw['features'], args?: any): Promise<NonNullable<StorybookConfigRaw['features']>>;
2795
+ apply(extension: 'typescript', config?: StorybookConfigRaw['typescript'], args?: any): Promise<NonNullable<StorybookConfigRaw['typescript']>>;
2796
+ apply(extension: 'build', config?: StorybookConfigRaw['build'], args?: any): Promise<NonNullable<StorybookConfigRaw['build']>>;
2797
+ apply(extension: 'staticDirs', config?: StorybookConfigRaw['staticDirs'], args?: any): Promise<StorybookConfigRaw['staticDirs']>;
2794
2798
  apply<T>(extension: string, config?: T, args?: unknown): Promise<T>;
2795
2799
  }
2796
2800
  interface LoadedPreset {
@@ -2853,7 +2857,7 @@ interface BuilderOptions {
2853
2857
  cache?: FileSystemCache;
2854
2858
  configDir: string;
2855
2859
  docsMode?: boolean;
2856
- features?: StorybookConfig['features'];
2860
+ features?: StorybookConfigRaw['features'];
2857
2861
  versionCheck?: VersionCheck;
2858
2862
  disableWebpackDefaults?: boolean;
2859
2863
  serverChannelUrl?: string;
@@ -2980,9 +2984,10 @@ interface TestBuildConfig {
2980
2984
  test?: TestBuildFlags;
2981
2985
  }
2982
2986
  /**
2983
- * The interface for Storybook configuration in `main.ts` files.
2987
+ * The interface for Storybook configuration used internally in presets
2988
+ * The difference is that these values are the raw values, AKA, not wrapped with `PresetValue<>`
2984
2989
  */
2985
- interface StorybookConfig {
2990
+ interface StorybookConfigRaw {
2986
2991
  /**
2987
2992
  * Sets the addons you want to use with Storybook.
2988
2993
  *
@@ -2990,11 +2995,6 @@ interface StorybookConfig {
2990
2995
  */
2991
2996
  addons?: Preset[];
2992
2997
  core?: CoreConfig;
2993
- /**
2994
- * Sets a list of directories of static files to be loaded by Storybook server
2995
- *
2996
- * @example `['./public']` or `[{from: './public', 'to': '/assets'}]`
2997
- */
2998
2998
  staticDirs?: (DirectoryMapping | string)[];
2999
2999
  logLevel?: string;
3000
3000
  features?: {
@@ -3036,86 +3036,24 @@ interface StorybookConfig {
3036
3036
  disallowImplicitActionsInRenderV8?: boolean;
3037
3037
  };
3038
3038
  build?: TestBuildConfig;
3039
- /**
3040
- * Tells Storybook where to find stories.
3041
- *
3042
- * @example `['./src/*.stories.@(j|t)sx?']`
3043
- */
3044
3039
  stories: StoriesEntry[];
3045
- /**
3046
- * Framework, e.g. '@storybook/react-vite', required in v7
3047
- */
3048
3040
  framework?: Preset;
3049
- /**
3050
- * Controls how Storybook handles TypeScript files.
3051
- */
3052
3041
  typescript?: Partial<TypescriptOptions>;
3053
- /**
3054
- * References external Storybooks
3055
- */
3056
- refs?: PresetValue<CoreCommon_StorybookRefs>;
3057
- /**
3058
- * Modify or return babel config.
3059
- */
3060
- babel?: (config: TransformOptions, options: Options) => TransformOptions | Promise<TransformOptions>;
3061
- /**
3062
- * Modify or return swc config.
3063
- */
3064
- swc?: (config: Options$2, options: Options) => Options$2 | Promise<Options$2>;
3065
- /**
3066
- * Modify or return env config.
3067
- */
3068
- env?: PresetValue<Record<string, string>>;
3069
- /**
3070
- * Modify or return babel config.
3071
- */
3072
- babelDefault?: (config: TransformOptions, options: Options) => TransformOptions | Promise<TransformOptions>;
3073
- /**
3074
- * Add additional scripts to run in the preview a la `.storybook/preview.js`
3075
- *
3076
- * @deprecated use `previewAnnotations` or `/preview.js` file instead
3077
- */
3078
- config?: PresetValue<Entry[]>;
3079
- /**
3080
- * Add additional scripts to run in the preview a la `.storybook/preview.js`
3081
- */
3082
- previewAnnotations?: PresetValue<Entry[]>;
3083
- /**
3084
- * Process CSF files for the story index.
3085
- * @deprecated use {@link experimental_indexers} instead
3086
- */
3087
- storyIndexers?: PresetValue<StoryIndexer[]>;
3088
- /**
3089
- * Process CSF files for the story index.
3090
- */
3091
- experimental_indexers?: PresetValue<Indexer[]>;
3092
- /**
3093
- * Docs related features in index generation
3094
- */
3042
+ refs?: CoreCommon_StorybookRefs;
3043
+ babel?: TransformOptions;
3044
+ swc?: Options$2;
3045
+ env?: Record<string, string>;
3046
+ babelDefault?: TransformOptions;
3047
+ config?: Entry[];
3048
+ previewAnnotations?: Entry[];
3049
+ storyIndexers?: StoryIndexer[];
3050
+ experimental_indexers?: Indexer[];
3095
3051
  docs?: DocsOptions;
3096
- /**
3097
- * Programmatically modify the preview head/body HTML.
3098
- * The previewHead and previewBody functions accept a string,
3099
- * which is the existing head/body, and return a modified string.
3100
- */
3101
- previewHead?: PresetValue<string>;
3102
- previewBody?: PresetValue<string>;
3103
- /**
3104
- * Programmatically override the preview's main page template.
3105
- * This should return a reference to a file containing an `.ejs` template
3106
- * that will be interpolated with environment variables.
3107
- *
3108
- * @example '.storybook/index.ejs'
3109
- */
3052
+ previewHead?: string;
3053
+ previewBody?: string;
3110
3054
  previewMainTemplate?: string;
3111
- /**
3112
- * Programmatically modify the preview head/body HTML.
3113
- * The managerHead function accept a string,
3114
- * which is the existing head content, and return a modified string.
3115
- */
3116
- managerHead?: PresetValue<string>;
3055
+ managerHead?: string;
3117
3056
  }
3118
- type PresetValue<T> = T | ((config: T, options: Options) => T | Promise<T>);
3119
3057
  type Path = string;
3120
3058
 
3121
3059
  export { Builder as B, Options as O };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import webpack__default, { Configuration, Stats } from 'webpack';
2
- import { O as Options$1, B as Builder } from './index.d-c9de2c3f.js';
2
+ import { O as Options$1, B as Builder } from './index.d-9e47c833.js';
3
3
  import { StorybookConfig, Options, BuilderResult as BuilderResult$1 } from '@storybook/core-webpack';
4
4
  import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
5
5
  import 'file-system-cache';
package/dist/index.js CHANGED
@@ -1 +1 @@
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 __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};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 require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module2){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module2.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var src_exports={};__export(src_exports,{bail:()=>bail,build:()=>build,corePresets:()=>corePresets,executor:()=>executor,getConfig:()=>getConfig,getVirtualModules:()=>getVirtualModules,overridePresets:()=>overridePresets,printDuration:()=>printDuration,start:()=>start});module.exports=__toCommonJS(src_exports);var import_webpack=__toESM(require("webpack")),import_webpack_dev_middleware=__toESM(require("webpack-dev-middleware")),import_webpack_hot_middleware=__toESM(require("webpack-hot-middleware")),import_node_logger=require("@storybook/node-logger"),import_core_webpack2=require("@storybook/core-webpack"),import_path2=require("path"),import_express=__toESM(require("express")),import_fs_extra=__toESM(require("fs-extra")),import_core_events=require("@storybook/core-events"),import_server_errors=require("@storybook/core-events/server-errors"),import_pretty_hrtime=__toESM(require_pretty_hrtime());var import_core_common=require("@storybook/core-common"),import_path=require("path");function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var import_core_webpack=require("@storybook/core-webpack"),getVirtualModules=async options=>{var _a;let virtualModules={},builderOptions=await(0,import_core_common.getBuilderOptions)(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries=[],stories=(0,import_core_common.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_path.isAbsolute)(entry)?entry:slash(entry)),(0,import_core_common.loadPreviewOrConfigFile)(options)].filter(Boolean);if((_a=options.features)!=null&&_a.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=(0,import_core_common.handlebars)(await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries.push(configEntryPath)}else{let rendererName=await(0,import_core_common.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries.push(rendererInitEntry);let entryTemplate=await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=(0,import_core_common.interpolate)(entryTemplate,{previewAnnotationFilename}),entries.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=(0,import_core_common.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries.push(storiesFilename)}}return{virtualModules,entries}};var printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),getAbsolutePath=input=>(0,import_path2.dirname)(require.resolve((0,import_path2.join)(input,"package.json"))),compilation,reject,executor={get:async options=>{var _a;let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=((_a=await options.presets.apply("webpackInstance"))==null?void 0:_a.default)||import_webpack.default;return(0,import_core_webpack2.checkWebpackVersion)({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),import_node_logger.logger.warn("Force closed preview build")}catch{import_node_logger.logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){var _a,_b;let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new import_server_errors.WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new import_server_errors.WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});yield;let modulesCount=await((_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}))||1e3,totalModules,value=0;new import_webpack.ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(import_core_events.PREVIEW_BUILDER_PROGRESS,progress)},modulesCount}).apply(compiler);let middlewareOptions={publicPath:(_b=config.output)==null?void 0:_b.publicPath,writeToDisk:!0,stats:"errors-only"};compilation=(0,import_webpack_dev_middleware.default)(compiler,middlewareOptions);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path2.join)(previewResolvedDir,"dist");router.use("/sb-preview",import_express.default.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use((0,import_webpack_hot_middleware.default)(compiler,{log:!1}));let stats=await new Promise((res,rej)=>{compilation==null||compilation.waitUntilValid(res),reject=rej});if(yield,!stats)throw new import_server_errors.WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&(warnings==null||warnings.forEach(e=>import_node_logger.logger.warn(e.message))),errors.length>0)throw new import_server_errors.WebpackCompilationError({errors});return{bail,stats,totalTime:process.hrtime(startTime)}};function getWebpackStats({config,stats}){let statsOptions=typeof config.stats=="string"?config.stats:{...config.stats,warnings:!0,errors:!0},{warnings=[],errors=[]}=(stats==null?void 0:stats.toJson(statsOptions))||{};return{warnings,errors}}var builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new import_server_errors.WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new import_server_errors.WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error){compiler.close(()=>fail(new import_server_errors.WebpackInvocationError({error})));return}if(!stats)throw new import_server_errors.WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&(warnings==null||warnings.forEach(e=>import_node_logger.logger.warn(e.message))),errors.length>0){errors.forEach(e=>import_node_logger.logger.error(e.message)),compiler.close(()=>fail(new import_server_errors.WebpackCompilationError({errors})));return}compiler.close(closeErr=>closeErr?fail(new import_server_errors.WebpackInvocationError({error:closeErr})):succeed(stats))})}),previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path2.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path2.join)(options.outputDir||"","sb-preview"),previewFiles=import_fs_extra.default.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=(0,import_path2.parse)(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[(0,import_path2.join)(__dirname,"presets/preview-preset.js")],overridePresets=[(0,import_path2.join)(__dirname,"./presets/custom-webpack-preset.js")];0&&(module.exports={bail,build,corePresets,executor,getConfig,getVirtualModules,overridePresets,printDuration,start});
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 __commonJS=(cb,mod)=>function(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};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 require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module2){"use strict";var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module2.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return"";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results}}});var src_exports={};__export(src_exports,{bail:()=>bail,build:()=>build,corePresets:()=>corePresets,executor:()=>executor,getConfig:()=>getConfig,getVirtualModules:()=>getVirtualModules,overridePresets:()=>overridePresets,printDuration:()=>printDuration,start:()=>start});module.exports=__toCommonJS(src_exports);var import_webpack=__toESM(require("webpack")),import_webpack_dev_middleware=__toESM(require("webpack-dev-middleware")),import_webpack_hot_middleware=__toESM(require("webpack-hot-middleware")),import_node_logger=require("@storybook/node-logger"),import_core_webpack2=require("@storybook/core-webpack"),import_path2=require("path"),import_express=__toESM(require("express")),import_fs_extra=__toESM(require("fs-extra")),import_core_events=require("@storybook/core-events"),import_server_errors=require("@storybook/core-events/server-errors"),import_pretty_hrtime=__toESM(require_pretty_hrtime());var import_core_common=require("@storybook/core-common"),import_path=require("path");function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var import_core_webpack=require("@storybook/core-webpack"),getVirtualModules=async options=>{var _a;let virtualModules={},builderOptions=await(0,import_core_common.getBuilderOptions)(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries=[],stories=(0,import_core_common.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_path.isAbsolute)(entry)?entry:slash(entry)),(0,import_core_common.loadPreviewOrConfigFile)(options)].filter(Boolean);if((_a=options.features)!=null&&_a.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=(0,import_core_common.handlebars)(await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries.push(configEntryPath)}else{let rendererName=await(0,import_core_common.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries.push(rendererInitEntry);let entryTemplate=await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=(0,import_core_common.interpolate)(entryTemplate,{previewAnnotationFilename}),entries.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=(0,import_core_common.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries.push(storiesFilename)}}return{virtualModules,entries}};var printDuration=startTime=>(0,import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),getAbsolutePath=input=>(0,import_path2.dirname)(require.resolve((0,import_path2.join)(input,"package.json"))),compilation,reject,executor={get:async options=>{var _a;let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=((_a=await options.presets.apply("webpackInstance"))==null?void 0:_a.default)||import_webpack.default;return(0,import_core_webpack2.checkWebpackVersion)({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error)}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),import_node_logger.logger.warn("Force closed preview build")}catch{import_node_logger.logger.warn("Unable to close preview build!"),res()}else res()})},starter=async function*({startTime,options,router,channel}){var _a,_b;let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new import_server_errors.WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new import_server_errors.WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});yield;let modulesCount=await((_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}))||1e3,totalModules,value=0;new import_webpack.ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total)}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(import_core_events.PREVIEW_BUILDER_PROGRESS,progress)},modulesCount}).apply(compiler);let middlewareOptions={publicPath:(_b=config.output)==null?void 0:_b.publicPath,writeToDisk:!0,stats:"errors-only"};compilation=(0,import_webpack_dev_middleware.default)(compiler,middlewareOptions);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path2.join)(previewResolvedDir,"dist");router.use("/sb-preview",import_express.default.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use((0,import_webpack_hot_middleware.default)(compiler,{log:!1}));let stats=await new Promise((res,rej)=>{compilation==null||compilation.waitUntilValid(res),reject=rej});if(yield,!stats)throw new import_server_errors.WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&(warnings==null||warnings.forEach(e=>import_node_logger.logger.warn(e.message))),errors.length>0)throw new import_server_errors.WebpackCompilationError({errors});return{bail,stats,totalTime:process.hrtime(startTime)}};function getWebpackStats({config,stats}){let statsOptions=typeof config.stats=="string"?config.stats:{...config.stats,warnings:!0,errors:!0},{warnings=[],errors=[]}=(stats==null?void 0:stats.toJson(statsOptions))||{};return{warnings,errors}}var builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new import_server_errors.WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new import_server_errors.WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error){compiler.close(()=>fail(new import_server_errors.WebpackInvocationError({error})));return}if(!stats)throw new import_server_errors.WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&(warnings==null||warnings.forEach(e=>import_node_logger.logger.warn(e.message))),errors.length>0){errors.forEach(e=>import_node_logger.logger.error(e.message)),compiler.close(()=>fail(new import_server_errors.WebpackCompilationError({errors})));return}compiler.close(closeErr=>closeErr?fail(new import_server_errors.WebpackInvocationError({error:closeErr})):succeed(stats))})}),previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=(0,import_path2.join)(previewResolvedDir,"dist"),previewDirTarget=(0,import_path2.join)(options.outputDir||"","sb-preview"),previewFiles=import_fs_extra.default.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=(0,import_path2.parse)(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[(0,import_path2.join)(__dirname,"presets/preview-preset.js")],overridePresets=[(0,import_path2.join)(__dirname,"./presets/custom-webpack-preset.js")];0&&(module.exports={bail,build,corePresets,executor,getConfig,getVirtualModules,overridePresets,printDuration,start});
package/dist/index.mjs CHANGED
@@ -11,6 +11,6 @@ import { PREVIEW_BUILDER_PROGRESS } from '@storybook/core-events';
11
11
  import { WebpackMissingStatsError, WebpackInvocationError, WebpackCompilationError } from '@storybook/core-events/server-errors';
12
12
  import { getBuilderOptions, normalizeStories, loadPreviewOrConfigFile, handlebars, readTemplate, getRendererName, interpolate } from '@storybook/core-common';
13
13
 
14
- var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module){var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return "";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results};}});var import_pretty_hrtime=__toESM(require_pretty_hrtime());function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var getVirtualModules=async options=>{let virtualModules={},builderOptions=await getBuilderOptions(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries=[],stories=normalizeStories(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:isAbsolute(entry)?entry:slash(entry)),loadPreviewOrConfigFile(options)].filter(Boolean);if(options.features?.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=resolve(join(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=toImportFn(stories,{needPipelinedImport});let configEntryPath=resolve(join(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=handlebars(await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries.push(configEntryPath);}else {let rendererName=await getRendererName(options),rendererInitEntry=resolve(join(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries.push(rendererInitEntry);let entryTemplate=await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=interpolate(entryTemplate,{previewAnnotationFilename}),entries.push(entryFilename);}),stories.length>0){let storyTemplate=await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=resolve(join(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=interpolate(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(toRequireContextString).join(",")),entries.push(storiesFilename);}}return {virtualModules,entries}};var printDuration=startTime=>(0, import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),getAbsolutePath=input=>dirname(__require.resolve(join(input,"package.json"))),compilation,reject,executor={get:async options=>{let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=(await options.presets.apply("webpackInstance"))?.default||webpack;return checkWebpackVersion({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),babelOptions=await presets.apply("babel",{},{...options,typescriptOptions}),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,babelOptions,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error);}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),logger.warn("Force closed preview build");}catch{logger.warn("Unable to close preview build!"),res();}else res();})},starter=async function*({startTime,options,router,channel}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});yield;let modulesCount=await options.cache?.get("modulesCount").catch(()=>{})||1e3,totalModules,value=0;new ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total);}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(PREVIEW_BUILDER_PROGRESS,progress);},modulesCount}).apply(compiler);let middlewareOptions={publicPath:config.output?.publicPath,writeToDisk:!0,stats:"errors-only"};compilation=webpackDevMiddleware(compiler,middlewareOptions);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist");router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use(webpackHotMiddleware(compiler,{log:!1}));let stats=await new Promise((res,rej)=>{compilation?.waitUntilValid(res),reject=rej;});if(yield,!stats)throw new WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&warnings?.forEach(e=>logger.warn(e.message)),errors.length>0)throw new WebpackCompilationError({errors});return {bail,stats,totalTime:process.hrtime(startTime)}};function getWebpackStats({config,stats}){let statsOptions=typeof config.stats=="string"?config.stats:{...config.stats,warnings:!0,errors:!0},{warnings=[],errors=[]}=stats?.toJson(statsOptions)||{};return {warnings,errors}}var builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error){compiler.close(()=>fail(new WebpackInvocationError({error})));return}if(!stats)throw new WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&warnings?.forEach(e=>logger.warn(e.message)),errors.length>0){errors.forEach(e=>logger.error(e.message)),compiler.close(()=>fail(new WebpackCompilationError({errors})));return}compiler.close(closeErr=>closeErr?fail(new WebpackInvocationError({error:closeErr})):succeed(stats));});}),previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[join(__dirname,"presets/preview-preset.js")],overridePresets=[join(__dirname,"./presets/custom-webpack-preset.js")];
14
+ var require_pretty_hrtime=__commonJS({"../../node_modules/pretty-hrtime/index.js"(exports,module){var minimalDesc=["h","min","s","ms","\u03BCs","ns"],verboseDesc=["hour","minute","second","millisecond","microsecond","nanosecond"],convert=[3600,60,1,1e6,1e3,1];module.exports=function(source,opts){var verbose,precise,i,spot,sourceAtStep,valAtStep,decimals,strAtStep,results,totalSeconds;if(verbose=!1,precise=!1,opts&&(verbose=opts.verbose||!1,precise=opts.precise||!1),!Array.isArray(source)||source.length!==2||typeof source[0]!="number"||typeof source[1]!="number")return "";for(source[1]<0&&(totalSeconds=source[0]+source[1]/1e9,source[0]=parseInt(totalSeconds),source[1]=parseFloat((totalSeconds%1).toPrecision(9))*1e9),results="",i=0;i<6&&(spot=i<3?0:1,sourceAtStep=source[spot],i!==3&&i!==0&&(sourceAtStep=sourceAtStep%convert[i-1]),i===2&&(sourceAtStep+=source[1]/1e9),valAtStep=sourceAtStep/convert[i],!(valAtStep>=1&&(verbose&&(valAtStep=Math.floor(valAtStep)),precise?strAtStep=valAtStep.toString():(decimals=valAtStep>=10?0:2,strAtStep=valAtStep.toFixed(decimals)),strAtStep.indexOf(".")>-1&&strAtStep[strAtStep.length-1]==="0"&&(strAtStep=strAtStep.replace(/\.?0+$/,"")),results&&(results+=" "),results+=strAtStep,verbose?(results+=" "+verboseDesc[i],strAtStep!=="1"&&(results+="s")):results+=" "+minimalDesc[i],!verbose)));i++);return results};}});var import_pretty_hrtime=__toESM(require_pretty_hrtime());function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var getVirtualModules=async options=>{let virtualModules={},builderOptions=await getBuilderOptions(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries=[],stories=normalizeStories(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:isAbsolute(entry)?entry:slash(entry)),loadPreviewOrConfigFile(options)].filter(Boolean);if(options.features?.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=resolve(join(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=toImportFn(stories,{needPipelinedImport});let configEntryPath=resolve(join(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=handlebars(await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries.push(configEntryPath);}else {let rendererName=await getRendererName(options),rendererInitEntry=resolve(join(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries.push(rendererInitEntry);let entryTemplate=await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=interpolate(entryTemplate,{previewAnnotationFilename}),entries.push(entryFilename);}),stories.length>0){let storyTemplate=await readTemplate(__require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=resolve(join(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=interpolate(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(toRequireContextString).join(",")),entries.push(storiesFilename);}}return {virtualModules,entries}};var printDuration=startTime=>(0, import_pretty_hrtime.default)(process.hrtime(startTime)).replace(" ms"," milliseconds").replace(" s"," seconds").replace(" m"," minutes"),getAbsolutePath=input=>dirname(__require.resolve(join(input,"package.json"))),compilation,reject,executor={get:async options=>{let version=await options.presets.apply("webpackVersion")||"5",webpackInstance=(await options.presets.apply("webpackInstance"))?.default||webpack;return checkWebpackVersion({version},"5","builder-webpack5"),webpackInstance}},getConfig=async options=>{let{presets}=options,typescriptOptions=await presets.apply("typescript",{},options),frameworkOptions=await presets.apply("frameworkOptions");return presets.apply("webpack",{},{...options,typescriptOptions,frameworkOptions})},asyncIterator,bail=async()=>{if(asyncIterator)try{await asyncIterator.throw(new Error);}catch{}return reject&&reject(),new Promise((res,rej)=>{if(process&&compilation)try{compilation.close(()=>res()),logger.warn("Force closed preview build");}catch{logger.warn("Unable to close preview build!"),res();}else res();})},starter=async function*({startTime,options,router,channel}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});yield;let modulesCount=await options.cache?.get("modulesCount").catch(()=>{})||1e3,totalModules,value=0;new ProgressPlugin({handler:(newValue,message,arg3)=>{value=Math.max(newValue,value);let progress={value,message:message.charAt(0).toUpperCase()+message.slice(1)};if(message==="building"){let counts=arg3&&arg3.match(/(\d+)\/(\d+)/)||[],complete=parseInt(counts[1],10),total=parseInt(counts[2],10);!Number.isNaN(complete)&&!Number.isNaN(total)&&(progress.modules={complete,total},totalModules=total);}value===1&&(options.cache&&options.cache.set("modulesCount",totalModules),progress.message||(progress.message=`Completed in ${printDuration(startTime)}.`)),channel.emit(PREVIEW_BUILDER_PROGRESS,progress);},modulesCount}).apply(compiler);let middlewareOptions={publicPath:config.output?.publicPath,writeToDisk:!0,stats:"errors-only"};compilation=webpackDevMiddleware(compiler,middlewareOptions);let previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist");router.use("/sb-preview",express.static(previewDirOrigin,{immutable:!0,maxAge:"5m"})),router.use(compilation),router.use(webpackHotMiddleware(compiler,{log:!1}));let stats=await new Promise((res,rej)=>{compilation?.waitUntilValid(res),reject=rej;});if(yield,!stats)throw new WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&warnings?.forEach(e=>logger.warn(e.message)),errors.length>0)throw new WebpackCompilationError({errors});return {bail,stats,totalTime:process.hrtime(startTime)}};function getWebpackStats({config,stats}){let statsOptions=typeof config.stats=="string"?config.stats:{...config.stats,warnings:!0,errors:!0},{warnings=[],errors=[]}=stats?.toJson(statsOptions)||{};return {warnings,errors}}var builder=async function*({startTime,options}){let webpackInstance=await executor.get(options);yield;let config=await getConfig(options);if(config.stats==="none"||config.stats==="summary")throw new WebpackMissingStatsError;yield;let compiler=webpackInstance(config);if(!compiler)throw new WebpackInvocationError({error:new Error("Missing Webpack compiler at runtime!")});let webpackCompilation=new Promise((succeed,fail)=>{compiler.run((error,stats)=>{if(error){compiler.close(()=>fail(new WebpackInvocationError({error})));return}if(!stats)throw new WebpackMissingStatsError;let{warnings,errors}=getWebpackStats({config,stats});if(warnings.length>0&&warnings?.forEach(e=>logger.warn(e.message)),errors.length>0){errors.forEach(e=>logger.error(e.message)),compiler.close(()=>fail(new WebpackCompilationError({errors})));return}compiler.close(closeErr=>closeErr?fail(new WebpackInvocationError({error:closeErr})):succeed(stats));});}),previewResolvedDir=getAbsolutePath("@storybook/preview"),previewDirOrigin=join(previewResolvedDir,"dist"),previewDirTarget=join(options.outputDir||"","sb-preview"),previewFiles=fs.copy(previewDirOrigin,previewDirTarget,{filter:src=>{let{ext}=parse(src);return ext?ext===".js":!0}}),[webpackCompilationOutput]=await Promise.all([webpackCompilation,previewFiles]);return webpackCompilationOutput},start=async options=>{asyncIterator=starter(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},build=async options=>{asyncIterator=builder(options);let result;do result=await asyncIterator.next();while(!result.done);return result.value},corePresets=[join(__dirname,"presets/preview-preset.js")],overridePresets=[join(__dirname,"./presets/custom-webpack-preset.js")];
15
15
 
16
16
  export { bail, build, corePresets, executor, getConfig, getVirtualModules, overridePresets, printDuration, start };
@@ -1,6 +1,6 @@
1
1
  import * as webpack$1 from 'webpack';
2
2
  import { Configuration } from 'webpack';
3
- import { O as Options } from '../index.d-c9de2c3f.js';
3
+ import { O as Options } from '../index.d-9e47c833.js';
4
4
  import 'file-system-cache';
5
5
  import '@babel/core';
6
6
  import 'express';
@@ -1,6 +1,6 @@
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 preview_preset_exports={};__export(preview_preset_exports,{entries:()=>entries,previewMainTemplate:()=>previewMainTemplate,webpack:()=>webpack});module.exports=__toCommonJS(preview_preset_exports);var import_path2=require("path"),import_webpack=require("webpack"),import_html_webpack_plugin=__toESM(require("html-webpack-plugin")),import_case_sensitive_paths_webpack_plugin=__toESM(require("case-sensitive-paths-webpack-plugin")),import_terser_webpack_plugin=__toESM(require("terser-webpack-plugin")),import_webpack_virtual_modules=__toESM(require("webpack-virtual-modules")),import_fork_ts_checker_webpack_plugin=__toESM(require("fork-ts-checker-webpack-plugin")),import_globals=require("@storybook/preview/globals"),import_core_common3=require("@storybook/core-common"),import_ts_dedent2=require("ts-dedent");var import_core_common=require("@storybook/core-common"),import_ts_dedent=require("ts-dedent"),import_node_logger=require("@storybook/node-logger"),createBabelLoader=(options,typescriptOptions,excludes=[])=>(import_node_logger.logger.info(import_ts_dedent.dedent`Using Babel compiler`),{test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:require.resolve("babel-loader"),options}],include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}),createSWCLoader=async(excludes=[],options)=>{var _a;import_node_logger.logger.info(import_ts_dedent.dedent`Using SWC compiler`);let swc=await options.presets.apply("swc",{},options),typescriptOptions=await options.presets.apply("typescript",{},options),config={...swc,jsc:{...swc.jsc??{},parser:{...((_a=swc.jsc)==null?void 0:_a.parser)??{},syntax:"typescript",tsx:!0,dynamicImport:!0}}};return{test:typescriptOptions.skipCompiler?/\.(mjs|cjs|jsx?)$/:/\.(mjs|cjs|tsx?|jsx?)$/,loader:require.resolve("swc-loader"),options:config,include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}};var import_core_common2=require("@storybook/core-common"),import_path=require("path");function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var import_core_webpack=require("@storybook/core-webpack"),getVirtualModules=async options=>{var _a;let virtualModules={},builderOptions=await(0,import_core_common2.getBuilderOptions)(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries2=[],stories=(0,import_core_common2.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_path.isAbsolute)(entry)?entry:slash(entry)),(0,import_core_common2.loadPreviewOrConfigFile)(options)].filter(Boolean);if((_a=options.features)!=null&&_a.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=(0,import_core_common2.handlebars)(await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await(0,import_core_common2.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries2.push(rendererInitEntry);let entryTemplate=await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=(0,import_core_common2.interpolate)(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=(0,import_core_common2.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries2.push(storiesFilename)}}return{virtualModules,entries:entries2}};var getAbsolutePath=input=>(0,import_path2.dirname)(require.resolve((0,import_path2.join)(input,"package.json"))),maybeGetAbsolutePath=input=>{try{return getAbsolutePath(input)}catch{return!1}},managerAPIPath=maybeGetAbsolutePath("@storybook/manager-api"),componentsPath=maybeGetAbsolutePath("@storybook/components"),globalPath=maybeGetAbsolutePath("@storybook/global"),routerPath=maybeGetAbsolutePath("@storybook/router"),themingPath=maybeGetAbsolutePath("@storybook/theming"),storybookPaths={...managerAPIPath?{"@storybook/api":managerAPIPath,"@storybook/manager-api":managerAPIPath}:{},...componentsPath?{"@storybook/components":componentsPath}:{},...globalPath?{"@storybook/global":globalPath}:{},...routerPath?{"@storybook/router":routerPath}:{},...themingPath?{"@storybook/theming":themingPath}:{}},iframe_webpack_config_default=async options=>{var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q;let{outputDir=(0,import_path2.join)(".","public"),quiet,packageJson,configType,presets,previewUrl,babelOptions,typescriptOptions,features}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3,build]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),(_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}),options.presets.apply("build")]),stories=(0,import_core_common3.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await(0,import_core_common3.getBuilderOptions)(options),shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel&&!typescriptOptions.skipCompiler,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(import_ts_dedent2.dedent`
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 preview_preset_exports={};__export(preview_preset_exports,{entries:()=>entries,previewMainTemplate:()=>previewMainTemplate,webpack:()=>webpack});module.exports=__toCommonJS(preview_preset_exports);var import_path2=require("path"),import_webpack=require("webpack"),import_html_webpack_plugin=__toESM(require("html-webpack-plugin")),import_case_sensitive_paths_webpack_plugin=__toESM(require("case-sensitive-paths-webpack-plugin")),import_terser_webpack_plugin=__toESM(require("terser-webpack-plugin")),import_webpack_virtual_modules=__toESM(require("webpack-virtual-modules")),import_fork_ts_checker_webpack_plugin=__toESM(require("fork-ts-checker-webpack-plugin")),import_globals=require("@storybook/preview/globals"),import_core_common3=require("@storybook/core-common"),import_ts_dedent2=require("ts-dedent");var import_core_common=require("@storybook/core-common"),import_ts_dedent=require("ts-dedent"),import_node_logger=require("@storybook/node-logger"),createBabelLoader=async(options,typescriptOptions,excludes=[])=>{import_node_logger.logger.info(import_ts_dedent.dedent`Using Babel compiler`);let babelOptions=await options.presets.apply("babel",{},options);return{test:typescriptOptions.skipBabel?/\.(mjs|jsx?)$/:/\.(mjs|tsx?|jsx?)$/,use:[{loader:require.resolve("babel-loader"),options:babelOptions}],include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}},createSWCLoader=async(excludes=[],options)=>{var _a;import_node_logger.logger.info(import_ts_dedent.dedent`Using SWC compiler`);let swc=await options.presets.apply("swc",{},options),typescriptOptions=await options.presets.apply("typescript",{},options),config={...swc,jsc:{...swc.jsc??{},parser:{...((_a=swc.jsc)==null?void 0:_a.parser)??{},syntax:"typescript",tsx:!0,dynamicImport:!0}}};return{test:typescriptOptions.skipCompiler?/\.(mjs|cjs|jsx?)$/:/\.(mjs|cjs|tsx?|jsx?)$/,loader:require.resolve("swc-loader"),options:config,include:[(0,import_core_common.getProjectRoot)()],exclude:[/node_modules/,...excludes]}};var import_core_common2=require("@storybook/core-common"),import_path=require("path");function slash(path){return path.startsWith("\\\\?\\")?path:path.replace(/\\/g,"/")}var import_core_webpack=require("@storybook/core-webpack"),getVirtualModules=async options=>{var _a;let virtualModules={},builderOptions=await(0,import_core_common2.getBuilderOptions)(options),workingDir=process.cwd(),isProd=options.configType==="PRODUCTION",nonNormalizedStories=await options.presets.apply("stories",[]),entries2=[],stories=(0,import_core_common2.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),previewAnnotations=[...(await options.presets.apply("previewAnnotations",[],options)).map(entry=>typeof entry=="object"?entry.absolute:(0,import_path.isAbsolute)(entry)?entry:slash(entry)),(0,import_core_common2.loadPreviewOrConfigFile)(options)].filter(Boolean);if((_a=options.features)!=null&&_a.storyStoreV7){let storiesFilename="storybook-stories.js",storiesPath=(0,import_path.resolve)((0,import_path.join)(workingDir,storiesFilename)),needPipelinedImport=!!builderOptions.lazyCompilation&&!isProd;virtualModules[storiesPath]=(0,import_core_webpack.toImportFn)(stories,{needPipelinedImport});let configEntryPath=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-config-entry.js"));virtualModules[configEntryPath]=(0,import_core_common2.handlebars)(await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleModernEntry.js.handlebars")),{storiesFilename,previewAnnotations}).replace(/\\/g,"\\\\"),entries2.push(configEntryPath)}else{let rendererName=await(0,import_core_common2.getRendererName)(options),rendererInitEntry=(0,import_path.resolve)((0,import_path.join)(workingDir,"storybook-init-renderer-entry.js"));virtualModules[rendererInitEntry]=`import '${slash(rendererName)}';`,entries2.push(rendererInitEntry);let entryTemplate=await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleEntry.template.js"));if(previewAnnotations.forEach(previewAnnotationFilename=>{if(!previewAnnotationFilename)return;let entryFilename=previewAnnotationFilename.startsWith(".")?`${previewAnnotationFilename.replace(/(\w)(\/|\\)/g,"$1-")}-generated-config-entry.js`:`${previewAnnotationFilename}-generated-config-entry.js`;virtualModules[entryFilename]=(0,import_core_common2.interpolate)(entryTemplate,{previewAnnotationFilename}),entries2.push(entryFilename)}),stories.length>0){let storyTemplate=await(0,import_core_common2.readTemplate)(require.resolve("@storybook/builder-webpack5/templates/virtualModuleStory.template.js")),storiesFilename=(0,import_path.resolve)((0,import_path.join)(workingDir,"generated-stories-entry.cjs"));virtualModules[storiesFilename]=(0,import_core_common2.interpolate)(storyTemplate,{rendererName}).replace("'{{stories}}'",stories.map(import_core_webpack.toRequireContextString).join(",")),entries2.push(storiesFilename)}}return{virtualModules,entries:entries2}};var getAbsolutePath=input=>(0,import_path2.dirname)(require.resolve((0,import_path2.join)(input,"package.json"))),maybeGetAbsolutePath=input=>{try{return getAbsolutePath(input)}catch{return!1}},managerAPIPath=maybeGetAbsolutePath("@storybook/manager-api"),componentsPath=maybeGetAbsolutePath("@storybook/components"),globalPath=maybeGetAbsolutePath("@storybook/global"),routerPath=maybeGetAbsolutePath("@storybook/router"),themingPath=maybeGetAbsolutePath("@storybook/theming"),storybookPaths={...managerAPIPath?{"@storybook/manager-api":managerAPIPath}:{},...componentsPath?{"@storybook/components":componentsPath}:{},...globalPath?{"@storybook/global":globalPath}:{},...routerPath?{"@storybook/router":routerPath}:{},...themingPath?{"@storybook/theming":themingPath}:{}},iframe_webpack_config_default=async options=>{var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q;let{outputDir=(0,import_path2.join)(".","public"),quiet,packageJson,configType,presets,previewUrl,typescriptOptions,features}=options,isProd=configType==="PRODUCTION",workingDir=process.cwd(),[coreOptions,frameworkOptions,envs,logLevel,headHtmlSnippet,bodyHtmlSnippet,template,docsOptions,entries2,nonNormalizedStories,modulesCount=1e3,build]=await Promise.all([presets.apply("core"),presets.apply("frameworkOptions"),presets.apply("env"),presets.apply("logLevel",void 0),presets.apply("previewHead"),presets.apply("previewBody"),presets.apply("previewMainTemplate"),presets.apply("docs"),presets.apply("entries",[]),presets.apply("stories",[]),(_a=options.cache)==null?void 0:_a.get("modulesCount").catch(()=>{}),options.presets.apply("build")]),stories=(0,import_core_common3.normalizeStories)(nonNormalizedStories,{configDir:options.configDir,workingDir}),builderOptions=await(0,import_core_common3.getBuilderOptions)(options),shouldCheckTs=typescriptOptions.check&&!typescriptOptions.skipBabel&&!typescriptOptions.skipCompiler,tsCheckOptions=typescriptOptions.checkOptions||{},cacheConfig=builderOptions.fsCache?{cache:{type:"filesystem"}}:{},lazyCompilationConfig=builderOptions.lazyCompilation&&!isProd?{lazyCompilation:{entries:!1}}:{};if(!template)throw new Error(import_ts_dedent2.dedent`
2
2
  Storybook's Webpack5 builder requires a template to be specified.
3
3
  Somehow you've ended up with a falsy value for the template option.
4
4
 
5
5
  Please file an issue at https://github.com/storybookjs/storybook with a reproduction.
6
- `);let externals=import_globals.globalsNameReferenceMap;(_b=build==null?void 0:build.test)!=null&&_b.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let{virtualModules:virtualModuleMapping,entries:dynamicEntries}=await getVirtualModules(options);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:(_d=(_c=options.build)==null?void 0:_c.test)!=null&&_d.disableSourcemaps?!1:"cheap-module-source-map",entry:[...entries2??[],...dynamicEntries],output:{path:(0,import_path2.resolve)(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new import_webpack_virtual_modules.default(virtualModuleMapping):null,new import_html_webpack_plugin.default({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions,...(_e=build==null?void 0:build.test)!=null&&_e.disableBlocks?{__STORYBOOK_BLOCKS_EMPTY_MODULE__:{}}:{}},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new import_webpack.DefinePlugin({...(0,import_core_common3.stringifyProcessEnvs)(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new import_webpack.ProvidePlugin({process:require.resolve("process/browser.js")}),isProd?null:new import_webpack.HotModuleReplacementPlugin,new import_case_sensitive_paths_webpack_plugin.default,quiet?null:new import_webpack.ProgressPlugin({modulesCount}),shouldCheckTs?new import_fork_ts_checker_webpack_plugin.default(tsCheckOptions):null].filter(Boolean),module:{unknownContextCritical:!1,rules:[{test:/\.stories\.([tj])sx?$|(stories|story)\.mdx$/,enforce:"post",use:[{loader:require.resolve("@storybook/builder-webpack5/loaders/export-order-loader")}]},{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},builderOptions.useSWC?await createSWCLoader(Object.keys(virtualModuleMapping),options):createBabelLoader(babelOptions,typescriptOptions,Object.keys(virtualModuleMapping)),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{stream:!1,path:require.resolve("path-browserify"),assert:require.resolve("browser-assert"),util:require.resolve("util"),url:require.resolve("url"),fs:!1,constants:require.resolve("constants-browserify")},symlinks:!(0,import_core_common3.isPreservingSymlinks)()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:(_g=(_f=options.build)==null?void 0:_f.test)!=null&&_g.disableTreeShaking?!1:isProd,moduleIds:"named",...isProd?{minimize:!0,minimizer:(_i=(_h=options.build)==null?void 0:_h.test)!=null&&_i.esbuildMinify?[new import_terser_webpack_plugin.default({parallel:!0,minify:import_terser_webpack_plugin.default.esbuildMinify,terserOptions:{sourcemap:!((_k=(_j=options.build)==null?void 0:_j.test)!=null&&_k.disableSourcemaps),treeShaking:!((_m=(_l=options.build)==null?void 0:_l.test)!=null&&_m.disableTreeShaking)}})]:builderOptions.useSWC?[new import_terser_webpack_plugin.default({minify:import_terser_webpack_plugin.default.swcMinify,terserOptions:{sourceMap:!((_o=(_n=options.build)==null?void 0:_n.test)!=null&&_o.disableSourcemaps),mangle:!1,keep_fnames:!0}})]:[new import_terser_webpack_plugin.default({parallel:!0,terserOptions:{sourceMap:!((_q=(_p=options.build)==null?void 0:_p.test)!=null&&_q.disableSourcemaps),mangle:!1,keep_fnames:!0}})]}:{}},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},previewMainTemplate=()=>require.resolve("@storybook/builder-webpack5/templates/preview.ejs");0&&(module.exports={entries,previewMainTemplate,webpack});
6
+ `);let externals=import_globals.globalsNameReferenceMap;(_b=build==null?void 0:build.test)!=null&&_b.disableBlocks&&(externals["@storybook/blocks"]="__STORYBOOK_BLOCKS_EMPTY_MODULE__");let{virtualModules:virtualModuleMapping,entries:dynamicEntries}=await getVirtualModules(options);return{name:"preview",mode:isProd?"production":"development",bail:isProd,devtool:(_d=(_c=options.build)==null?void 0:_c.test)!=null&&_d.disableSourcemaps?!1:"cheap-module-source-map",entry:[...entries2??[],...dynamicEntries],output:{path:(0,import_path2.resolve)(process.cwd(),outputDir),filename:isProd?"[name].[contenthash:8].iframe.bundle.js":"[name].iframe.bundle.js",publicPath:""},stats:{preset:"none",logging:"error"},watchOptions:{ignored:/node_modules/},externals,ignoreWarnings:[{message:/export '\S+' was not found in 'global'/},{message:/export '\S+' was not found in '@storybook\/global'/}],plugins:[Object.keys(virtualModuleMapping).length>0?new import_webpack_virtual_modules.default(virtualModuleMapping):null,new import_html_webpack_plugin.default({filename:"iframe.html",chunksSortMode:"none",alwaysWriteToDisk:!0,inject:!1,template,templateParameters:{version:packageJson.version,globals:{CONFIG_TYPE:configType,LOGLEVEL:logLevel,FRAMEWORK_OPTIONS:frameworkOptions,CHANNEL_OPTIONS:coreOptions.channelOptions,FEATURES:features,PREVIEW_URL:previewUrl,STORIES:stories.map(specifier=>({...specifier,importPathMatcher:specifier.importPathMatcher.source})),DOCS_OPTIONS:docsOptions,...(_e=build==null?void 0:build.test)!=null&&_e.disableBlocks?{__STORYBOOK_BLOCKS_EMPTY_MODULE__:{}}:{}},headHtmlSnippet,bodyHtmlSnippet},minify:{collapseWhitespace:!0,removeComments:!0,removeRedundantAttributes:!0,removeScriptTypeAttributes:!1,removeStyleLinkTypeAttributes:!0,useShortDoctype:!0}}),new import_webpack.DefinePlugin({...(0,import_core_common3.stringifyProcessEnvs)(envs),NODE_ENV:JSON.stringify(process.env.NODE_ENV)}),new import_webpack.ProvidePlugin({process:require.resolve("process/browser.js")}),isProd?null:new import_webpack.HotModuleReplacementPlugin,new import_case_sensitive_paths_webpack_plugin.default,quiet?null:new import_webpack.ProgressPlugin({modulesCount}),shouldCheckTs?new import_fork_ts_checker_webpack_plugin.default(tsCheckOptions):null].filter(Boolean),module:{unknownContextCritical:!1,rules:[{test:/\.stories\.([tj])sx?$|(stories|story)\.mdx$/,enforce:"post",use:[{loader:require.resolve("@storybook/builder-webpack5/loaders/export-order-loader")}]},{test:/\.m?js$/,type:"javascript/auto"},{test:/\.m?js$/,resolve:{fullySpecified:!1}},builderOptions.useSWC?await createSWCLoader(Object.keys(virtualModuleMapping),options):await createBabelLoader(options,typescriptOptions,Object.keys(virtualModuleMapping)),{test:/\.md$/,type:"asset/source"}]},resolve:{extensions:[".mjs",".js",".jsx",".ts",".tsx",".json",".cjs"],modules:["node_modules"].concat(envs.NODE_PATH||[]),mainFields:["browser","module","main"].filter(Boolean),alias:storybookPaths,fallback:{stream:!1,path:require.resolve("path-browserify"),assert:require.resolve("browser-assert"),util:require.resolve("util"),url:require.resolve("url"),fs:!1,constants:require.resolve("constants-browserify")},symlinks:!(0,import_core_common3.isPreservingSymlinks)()},optimization:{splitChunks:{chunks:"all"},runtimeChunk:!0,sideEffects:!0,usedExports:(_g=(_f=options.build)==null?void 0:_f.test)!=null&&_g.disableTreeShaking?!1:isProd,moduleIds:"named",...isProd?{minimize:!0,minimizer:(_i=(_h=options.build)==null?void 0:_h.test)!=null&&_i.esbuildMinify?[new import_terser_webpack_plugin.default({parallel:!0,minify:import_terser_webpack_plugin.default.esbuildMinify,terserOptions:{sourcemap:!((_k=(_j=options.build)==null?void 0:_j.test)!=null&&_k.disableSourcemaps),treeShaking:!((_m=(_l=options.build)==null?void 0:_l.test)!=null&&_m.disableTreeShaking)}})]:builderOptions.useSWC?[new import_terser_webpack_plugin.default({minify:import_terser_webpack_plugin.default.swcMinify,terserOptions:{sourceMap:!((_o=(_n=options.build)==null?void 0:_n.test)!=null&&_o.disableSourcemaps),mangle:!1,keep_fnames:!0}})]:[new import_terser_webpack_plugin.default({parallel:!0,terserOptions:{sourceMap:!((_q=(_p=options.build)==null?void 0:_p.test)!=null&&_q.disableSourcemaps),mangle:!1,keep_fnames:!0}})]}:{}},performance:{hints:isProd?"warning":!1},...cacheConfig,experiments:{...lazyCompilationConfig}}};var webpack=async(_,options)=>iframe_webpack_config_default(options),entries=async(_,options)=>{let result=[];return options.configType==="DEVELOPMENT"&&(result=result.concat(`${require.resolve("webpack-hot-middleware/client")}?reload=true&quiet=false&noInfo=${options.quiet}`)),result},previewMainTemplate=()=>require.resolve("@storybook/builder-webpack5/templates/preview.ejs");0&&(module.exports={entries,previewMainTemplate,webpack});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/builder-webpack5",
3
- "version": "7.6.0-beta.2",
3
+ "version": "8.0.0-alpha.0",
4
4
  "description": "Storybook framework-agnostic API",
5
5
  "keywords": [
6
6
  "storybook"
@@ -64,14 +64,14 @@
64
64
  },
65
65
  "dependencies": {
66
66
  "@babel/core": "^7.23.2",
67
- "@storybook/channels": "7.6.0-beta.2",
68
- "@storybook/client-logger": "7.6.0-beta.2",
69
- "@storybook/core-common": "7.6.0-beta.2",
70
- "@storybook/core-events": "7.6.0-beta.2",
71
- "@storybook/core-webpack": "7.6.0-beta.2",
72
- "@storybook/node-logger": "7.6.0-beta.2",
73
- "@storybook/preview": "7.6.0-beta.2",
74
- "@storybook/preview-api": "7.6.0-beta.2",
67
+ "@storybook/channels": "8.0.0-alpha.0",
68
+ "@storybook/client-logger": "8.0.0-alpha.0",
69
+ "@storybook/core-common": "8.0.0-alpha.0",
70
+ "@storybook/core-events": "8.0.0-alpha.0",
71
+ "@storybook/core-webpack": "8.0.0-alpha.0",
72
+ "@storybook/node-logger": "8.0.0-alpha.0",
73
+ "@storybook/preview": "8.0.0-alpha.0",
74
+ "@storybook/preview-api": "8.0.0-alpha.0",
75
75
  "@swc/core": "^1.3.82",
76
76
  "@types/node": "^18.0.0",
77
77
  "@types/semver": "^7.3.4",
@@ -108,7 +108,7 @@
108
108
  "@types/webpack-virtual-modules": "^0.1.1",
109
109
  "pretty-hrtime": "^1.0.3",
110
110
  "slash": "^5.0.0",
111
- "typescript": "~4.9.3"
111
+ "typescript": "^5.3.2"
112
112
  },
113
113
  "peerDependenciesMeta": {
114
114
  "typescript": {